diff --git a/source/java/org/alfresco/repo/site/SiteServiceImplTest.java b/source/java/org/alfresco/repo/site/SiteServiceImplTest.java index 4e665f376c..f2e0442b0a 100644 --- a/source/java/org/alfresco/repo/site/SiteServiceImplTest.java +++ b/source/java/org/alfresco/repo/site/SiteServiceImplTest.java @@ -858,6 +858,19 @@ public class SiteServiceImplTest extends BaseAlfrescoSpringTest assertTrue(members.containsKey(USER_THREE)); assertEquals(SiteModel.SITE_COLLABORATOR, members.get(USER_THREE)); + // Ensure that size limiting works correctly + members = this.siteService.listMembers("testMembership", null, null, 1); + assertNotNull(members); + assertEquals(1, members.size()); + + members = this.siteService.listMembers("testMembership", null, null, 2); + assertNotNull(members); + assertEquals(2, members.size()); + assertTrue(members.containsKey(USER_ONE)); + assertEquals(SiteModel.SITE_MANAGER, members.get(USER_ONE)); + assertTrue(members.containsKey(USER_THREE)); + assertEquals(SiteModel.SITE_COLLABORATOR, members.get(USER_THREE)); + // Check that a non-manager and non-member cannot edit the memberships this.authenticationComponent.setCurrentUser(USER_TWO); try diff --git a/source/java/org/alfresco/repo/site/script/test_siteService.js b/source/java/org/alfresco/repo/site/script/test_siteService.js index 8f07047440..5057a3e576 100644 --- a/source/java/org/alfresco/repo/site/script/test_siteService.js +++ b/source/java/org/alfresco/repo/site/script/test_siteService.js @@ -102,11 +102,26 @@ function testMembership() var site = siteService.getSite("siteShortName"); test.assertNotNull(site); + // Check with the full set of params var members = site.listMembers(null, null, 0, false); test.assertNotNull(members); test.assertEquals(1, members.length); test.assertEquals("SiteManager", members["UserOne_SiteServiceImplTest"]); + // Try with the 3.2 style parameters + site.listMembers(null, null); + test.assertNotNull(members); + test.assertEquals(1, members.length); + test.assertEquals("SiteManager", members["UserOne_SiteServiceImplTest"]); + + // And with the 3.3 style parameters + site.listMembers(null, null, 0); + test.assertNotNull(members); + test.assertEquals(1, members.length); + test.assertEquals("SiteManager", members["UserOne_SiteServiceImplTest"]); + + + // Add another user, and check they appear site.setMembership("UserTwo_SiteServiceImplTest", "SiteCollaborator"); members = site.listMembers(null, null, 0, false); test.assertNotNull(members); @@ -114,12 +129,30 @@ function testMembership() test.assertEquals("SiteManager", members["UserOne_SiteServiceImplTest"]); test.assertEquals("SiteCollaborator", members["UserTwo_SiteServiceImplTest"]); + // Check that the paging cut-off kicks in + members = site.listMembers(null, null, 1, false); + test.assertNotNull(members); + test.assertEquals(1, members.length); + + + // Try the different filters, by name and role + site.listMembers("UserOne", null, 0, false); + test.assertNotNull(members); + test.assertEquals(1, members.length); + test.assertEquals("SiteManager", members["UserOne_SiteServiceImplTest"]); + + site.listMembers(null, "SiteManager", 0, false); + test.assertNotNull(members); + test.assertEquals(1, members.length); + test.assertEquals("SiteManager", members["UserOne_SiteServiceImplTest"]); + + + // Remove the user, check they go from the list again site.removeMembership("UserTwo_SiteServiceImplTest"); members = site.listMembers(null, null, 0, false); test.assertNotNull(members); test.assertEquals(1, members.length); test.assertEquals("SiteManager", members["UserOne_SiteServiceImplTest"]); - } function testContainer()