mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-14 17:58:59 +00:00
Merged 5.2.N (5.2.1) to HEAD (5.2)
131275 cturlica: REPO-1360: Filter sites by visibility - add automated tests - added new tests for filter by visibility - updated getSites by personId because the value of totalItems wasn't calculated, also updated existing tests that where using the incorrect expected value. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@132229 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -64,10 +64,13 @@ public class TestPersonSites extends EnterpriseTestApi
|
||||
{
|
||||
private TestNetwork network1;
|
||||
private TestNetwork network2;
|
||||
private TestNetwork network4;
|
||||
|
||||
private TestPerson person11;
|
||||
private TestPerson person12;
|
||||
private TestPerson person21;
|
||||
private TestPerson person41;
|
||||
private TestPerson person42;
|
||||
|
||||
private List<TestSite> sites = new ArrayList<>(10);
|
||||
|
||||
@@ -87,6 +90,11 @@ public class TestPersonSites extends EnterpriseTestApi
|
||||
private String site3_title = "b_" + GUID.generate();
|
||||
private SiteRole site3_role = SiteRole.SiteConsumer;
|
||||
|
||||
private TestSite site41;
|
||||
private TestSite site42;
|
||||
private TestSite site43;
|
||||
private TestSite site44;
|
||||
|
||||
@Override
|
||||
@Before
|
||||
public void setup() throws Exception
|
||||
@@ -227,7 +235,49 @@ public class TestPersonSites extends EnterpriseTestApi
|
||||
}
|
||||
}, person31.getId(), network1.getId());
|
||||
}
|
||||
|
||||
|
||||
private void initializePersonAndNetwork4WithSites() throws Exception
|
||||
{
|
||||
if (network4 == null)
|
||||
{
|
||||
network4 = getRepoService().createNetwork(this.getClass().getSimpleName().toLowerCase() + "-3-" + GUID.generate(), true);
|
||||
network4.create();
|
||||
|
||||
// Create some users
|
||||
TenantUtil.runAsSystemTenant(new TenantRunAsWork<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void doWork() throws Exception
|
||||
{
|
||||
person41 = network4.createUser();
|
||||
person42 = network4.createUser();
|
||||
return null;
|
||||
}
|
||||
}, network4.getId());
|
||||
|
||||
// ...and some sites
|
||||
TenantUtil.runAsUserTenant(new TenantRunAsWork<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void doWork() throws Exception
|
||||
{
|
||||
site41 = network4.createSite("A", SiteVisibility.PRIVATE);
|
||||
site41.inviteToSite(person41.getId(), SiteRole.SiteContributor);
|
||||
|
||||
site42 = network4.createSite("B", SiteVisibility.PUBLIC);
|
||||
site42.inviteToSite(person41.getId(), SiteRole.SiteContributor);
|
||||
|
||||
site43 = network4.createSite("C", SiteVisibility.PUBLIC);
|
||||
site43.inviteToSite(person41.getId(), SiteRole.SiteContributor);
|
||||
|
||||
site44 = network4.createSite("D", SiteVisibility.MODERATED);
|
||||
site44.inviteToSite(person41.getId(), SiteRole.SiteContributor);
|
||||
return null;
|
||||
}
|
||||
}, person42.getId(), network4.getId());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPersonSites() throws Exception
|
||||
{
|
||||
@@ -307,7 +357,7 @@ public class TestPersonSites extends EnterpriseTestApi
|
||||
{
|
||||
int skipCount = 0;
|
||||
int maxItems = 2;
|
||||
Paging paging = getPaging(skipCount, maxItems, expectedSites.size(), null);
|
||||
Paging paging = getPaging(skipCount, maxItems, expectedSites.size(), expectedSites.size());
|
||||
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person11.getId()));
|
||||
ListResponse<MemberOfSite> resp = sitesProxy.getPersonSites(person11.getId(), createParams(paging, null));
|
||||
checkList(expectedSites.subList(skipCount, skipCount + paging.getExpectedPaging().getCount()), paging.getExpectedPaging(), resp);
|
||||
@@ -316,7 +366,7 @@ public class TestPersonSites extends EnterpriseTestApi
|
||||
{
|
||||
int skipCount = 2;
|
||||
int maxItems = 8;
|
||||
Paging paging = getPaging(skipCount, maxItems, expectedSites.size(), null);
|
||||
Paging paging = getPaging(skipCount, maxItems, expectedSites.size(), expectedSites.size());
|
||||
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person11.getId()));
|
||||
ListResponse<MemberOfSite> resp = sitesProxy.getPersonSites(person11.getId(), createParams(paging, null));
|
||||
checkList(expectedSites.subList(skipCount, skipCount + paging.getExpectedPaging().getCount()), paging.getExpectedPaging(), resp);
|
||||
@@ -326,7 +376,7 @@ public class TestPersonSites extends EnterpriseTestApi
|
||||
{
|
||||
int skipCount = 0;
|
||||
int maxItems = 2;
|
||||
Paging paging = getPaging(skipCount, maxItems, expectedSites.size(), null);
|
||||
Paging paging = getPaging(skipCount, maxItems, expectedSites.size(), expectedSites.size());
|
||||
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person11.getId()));
|
||||
ListResponse<MemberOfSite> resp = sitesProxy.getPersonSites(org.alfresco.rest.api.People.DEFAULT_USER, createParams(paging, null));
|
||||
checkList(expectedSites.subList(skipCount, skipCount + paging.getExpectedPaging().getCount()), paging.getExpectedPaging(), resp);
|
||||
@@ -533,7 +583,7 @@ public class TestPersonSites extends EnterpriseTestApi
|
||||
int skipCount = 1;
|
||||
int maxItems = 2;
|
||||
int totalResults = 3;
|
||||
Paging paging = getPaging(skipCount, maxItems, totalResults, null);
|
||||
Paging paging = getPaging(skipCount, maxItems, totalResults, totalResults);
|
||||
|
||||
// get memberships
|
||||
ListResponse<MemberOfSite> resp = getSiteMembershipsForPerson32(paging, "title", true);
|
||||
@@ -559,7 +609,7 @@ public class TestPersonSites extends EnterpriseTestApi
|
||||
int skipCount = 1;
|
||||
int maxItems = 2;
|
||||
int totalResults = 3;
|
||||
Paging paging = getPaging(skipCount, maxItems, totalResults, null);
|
||||
Paging paging = getPaging(skipCount, maxItems, totalResults, totalResults);
|
||||
|
||||
// get memberships
|
||||
ListResponse<MemberOfSite> resp = getSiteMembershipsForPerson32(paging, "title", false);
|
||||
@@ -584,7 +634,7 @@ public class TestPersonSites extends EnterpriseTestApi
|
||||
int skipCount = 1;
|
||||
int maxItems = 2;
|
||||
int totalResults = 3;
|
||||
Paging paging = getPaging(skipCount, maxItems, totalResults, null);
|
||||
Paging paging = getPaging(skipCount, maxItems, totalResults, totalResults);
|
||||
|
||||
// get memberships
|
||||
ListResponse<MemberOfSite> resp = getSiteMembershipsForPerson32(paging, "role", true);
|
||||
@@ -609,7 +659,7 @@ public class TestPersonSites extends EnterpriseTestApi
|
||||
int skipCount = 1;
|
||||
int maxItems = 2;
|
||||
int totalResults = 3;
|
||||
Paging paging = getPaging(skipCount, maxItems, totalResults, null);
|
||||
Paging paging = getPaging(skipCount, maxItems, totalResults, totalResults);
|
||||
|
||||
// get memberships
|
||||
ListResponse<MemberOfSite> resp = getSiteMembershipsForPerson32(paging, "role", false);
|
||||
@@ -634,7 +684,7 @@ public class TestPersonSites extends EnterpriseTestApi
|
||||
int skipCount = 1;
|
||||
int maxItems = 2;
|
||||
int totalResults = 3;
|
||||
Paging paging = getPaging(skipCount, maxItems, totalResults, null);
|
||||
Paging paging = getPaging(skipCount, maxItems, totalResults, totalResults);
|
||||
|
||||
// get memberships
|
||||
ListResponse<MemberOfSite> resp = getSiteMembershipsForPerson32(paging, "id", true);
|
||||
@@ -659,7 +709,7 @@ public class TestPersonSites extends EnterpriseTestApi
|
||||
int skipCount = 1;
|
||||
int maxItems = 2;
|
||||
int totalResults = 3;
|
||||
Paging paging = getPaging(skipCount, maxItems, totalResults, null);
|
||||
Paging paging = getPaging(skipCount, maxItems, totalResults, totalResults);
|
||||
|
||||
// get memberships
|
||||
ListResponse<MemberOfSite> resp = getSiteMembershipsForPerson32(paging, "id", false);
|
||||
@@ -682,7 +732,7 @@ public class TestPersonSites extends EnterpriseTestApi
|
||||
{
|
||||
// paging
|
||||
int totalResults = 3;
|
||||
Paging paging = getPaging(null, null, totalResults, null);
|
||||
Paging paging = getPaging(null, null, totalResults, totalResults);
|
||||
|
||||
// get memberships
|
||||
ListResponse<MemberOfSite> resp = getSiteMembershipsForPerson32(null, null, false);
|
||||
@@ -738,7 +788,7 @@ public class TestPersonSites extends EnterpriseTestApi
|
||||
|
||||
// paging
|
||||
int totalResults = 4;
|
||||
Paging paging = getPaging(null, null, totalResults, null);
|
||||
Paging paging = getPaging(null, null, totalResults, totalResults);
|
||||
|
||||
// get memberships
|
||||
ListResponse<MemberOfSite> resp = getSiteMembershipsForPerson32(null, null, false);
|
||||
@@ -763,4 +813,166 @@ public class TestPersonSites extends EnterpriseTestApi
|
||||
checkList(expectedList, paging.getExpectedPaging(), resp);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the site memberships associated to a user.
|
||||
*
|
||||
* @param paging
|
||||
* The paging object
|
||||
* @param params
|
||||
* Public api parameters map.
|
||||
* @param person
|
||||
* The test person.
|
||||
* @param network
|
||||
* The test network.
|
||||
* @return The site memberships associated to the give user.
|
||||
* @throws Exception
|
||||
*/
|
||||
private ListResponse<MemberOfSite> getSiteMembershipsForPersonAndNetwork(final Paging paging, Map<String, String> params, TestPerson person, TestNetwork network, boolean runAsUserTenant)
|
||||
throws Exception
|
||||
{
|
||||
final Sites sitesProxy = publicApiClient.sites();
|
||||
publicApiClient.setRequestContext(new RequestContext(network.getId(), person.getId()));
|
||||
|
||||
ListResponse<MemberOfSite> resp;
|
||||
if (runAsUserTenant)
|
||||
{
|
||||
// get memberships
|
||||
resp = TenantUtil.runAsUserTenant(new TenantRunAsWork<ListResponse<MemberOfSite>>()
|
||||
{
|
||||
@Override
|
||||
public ListResponse<MemberOfSite> doWork() throws Exception
|
||||
{
|
||||
ListResponse<MemberOfSite> resp = sitesProxy.getPersonSites(person.getId(), createParams(paging, params));
|
||||
return resp;
|
||||
}
|
||||
}, person.getId(), network.getId());
|
||||
}
|
||||
else
|
||||
{
|
||||
resp = sitesProxy.getPersonSites(person.getId(), createParams(paging, params));
|
||||
}
|
||||
|
||||
return resp;
|
||||
}
|
||||
|
||||
private List<MemberOfSite> getPersonSites(TestPerson person, TestSite... sites) throws PublicApiException
|
||||
{
|
||||
Sites sitesProxy = publicApiClient.sites();
|
||||
|
||||
List<MemberOfSite> memberOfSiteList = new ArrayList<>();
|
||||
for (TestSite site : sites)
|
||||
{
|
||||
memberOfSiteList.add(sitesProxy.getPersonSite(person.getId(), site.getSiteId()));
|
||||
}
|
||||
|
||||
return memberOfSiteList;
|
||||
}
|
||||
|
||||
private ListResponse<MemberOfSite> getSiteMembershipsForPerson41(final Paging paging, String siteVisibility, boolean runAsUserTenant) throws Exception
|
||||
{
|
||||
final Map<String, String> params = new HashMap<>();
|
||||
params.put("orderBy", "title" + " " + "ASC");
|
||||
|
||||
if (siteVisibility != null)
|
||||
{
|
||||
params.put("where", "(visibility=" + siteVisibility + ")");
|
||||
}
|
||||
|
||||
return getSiteMembershipsForPersonAndNetwork(paging, params, person41, network4, runAsUserTenant);
|
||||
}
|
||||
|
||||
private ListResponse<MemberOfSite> getSiteMembershipsForPerson41(final Paging paging, String siteVisibility) throws Exception
|
||||
{
|
||||
return getSiteMembershipsForPerson41(paging, siteVisibility, true);
|
||||
}
|
||||
|
||||
public void testGetSiteMembershipsWhereSiteVisibilityPrivate() throws Exception
|
||||
{
|
||||
// paging
|
||||
int totalResults = 1;
|
||||
Paging paging = getPaging(null, null, totalResults, totalResults);
|
||||
|
||||
// list sites
|
||||
ListResponse<MemberOfSite> resp = getSiteMembershipsForPerson41(null, SiteVisibility.PRIVATE.name());
|
||||
|
||||
// check results
|
||||
List<MemberOfSite> expectedList = getPersonSites(person41, site41);
|
||||
|
||||
checkList(expectedList, paging.getExpectedPaging(), resp);
|
||||
}
|
||||
|
||||
public void testGetSiteMembershipsWhereSiteVisibilityPublic() throws Exception
|
||||
{
|
||||
// paging
|
||||
int totalResults = 2;
|
||||
Paging paging = getPaging(null, null, totalResults, totalResults);
|
||||
|
||||
// list sites
|
||||
ListResponse<MemberOfSite> resp = getSiteMembershipsForPerson41(null, SiteVisibility.PUBLIC.name());
|
||||
|
||||
// check results
|
||||
List<MemberOfSite> expectedList = getPersonSites(person41, site42, site43);
|
||||
|
||||
checkList(expectedList, paging.getExpectedPaging(), resp);
|
||||
}
|
||||
|
||||
public void testGetSiteMembershipsWhereSiteVisibilityPublicAndSkipCount() throws Exception
|
||||
{
|
||||
// paging
|
||||
Integer skipCount = 1;
|
||||
int maxItems = 2;
|
||||
int totalResults = 2;
|
||||
Paging paging = getPaging(skipCount, maxItems, totalResults, totalResults);
|
||||
|
||||
// list sites
|
||||
ListResponse<MemberOfSite> resp = getSiteMembershipsForPerson41(paging, SiteVisibility.PUBLIC.name());
|
||||
|
||||
// check results
|
||||
List<MemberOfSite> expectedList = getPersonSites(person41, site43);
|
||||
|
||||
checkList(expectedList, paging.getExpectedPaging(), resp);
|
||||
}
|
||||
|
||||
public void testGetSiteMembershipsWhereSiteVisibilityModerated() throws Exception
|
||||
{
|
||||
// paging
|
||||
int totalResults = 1;
|
||||
Paging paging = getPaging(null, null, totalResults, totalResults);
|
||||
|
||||
// list sites
|
||||
ListResponse<MemberOfSite> resp = getSiteMembershipsForPerson41(null, SiteVisibility.MODERATED.name());
|
||||
|
||||
// check results
|
||||
List<MemberOfSite> expectedList = getPersonSites(person41, site44);
|
||||
|
||||
checkList(expectedList, paging.getExpectedPaging(), resp);
|
||||
}
|
||||
|
||||
public void testGetSiteMembershipsWhereSiteVisibilityInvalid() throws Exception
|
||||
{
|
||||
try
|
||||
{
|
||||
getSiteMembershipsForPerson41(null, "invalidVisibility", false);
|
||||
fail("");
|
||||
}
|
||||
catch (PublicApiException e)
|
||||
{
|
||||
assertEquals(HttpStatus.SC_BAD_REQUEST, e.getHttpResponse().getStatusCode());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetSiteMembershipsWithWhereClause() throws Exception
|
||||
{
|
||||
initializePersonAndNetwork4WithSites();
|
||||
publicApiClient.setRequestContext(new RequestContext(network4.getId(), person41.getId()));
|
||||
|
||||
testGetSiteMembershipsWhereSiteVisibilityPrivate();
|
||||
testGetSiteMembershipsWhereSiteVisibilityPublic();
|
||||
testGetSiteMembershipsWhereSiteVisibilityPublicAndSkipCount();
|
||||
testGetSiteMembershipsWhereSiteVisibilityModerated();
|
||||
testGetSiteMembershipsWhereSiteVisibilityInvalid();
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user