This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to annotated tag org.apache.sling.jcr.repoinit-1.0.0 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-repoinit.git
commit 4b89959dd83a6feb0e98189e786490d207863c10 Author: Bertrand Delacretaz <bdelacre...@apache.org> AuthorDate: Mon Dec 21 14:12:47 2015 +0000 SLING-5355 - test with multiple users git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/acldef/oak-jcr@1721162 13f79535-47bb-0310-9956-ffa450edef68 --- .../sling/acldef/jcr/CreateServiceUsersTest.java | 52 +++++++++++++++++----- 1 file changed, 41 insertions(+), 11 deletions(-) diff --git a/src/test/java/org/apache/sling/acldef/jcr/CreateServiceUsersTest.java b/src/test/java/org/apache/sling/acldef/jcr/CreateServiceUsersTest.java index 46a7334..0d42c47 100644 --- a/src/test/java/org/apache/sling/acldef/jcr/CreateServiceUsersTest.java +++ b/src/test/java/org/apache/sling/acldef/jcr/CreateServiceUsersTest.java @@ -22,7 +22,7 @@ import static org.junit.Assert.assertNull; import java.io.Reader; import java.io.StringReader; import java.util.List; -import java.util.concurrent.atomic.AtomicLong; +import java.util.Random; import javax.jcr.RepositoryException; import javax.jcr.Session; @@ -49,8 +49,8 @@ public class CreateServiceUsersTest { private Session session; private UserManager userManager; - private AtomicLong counter = new AtomicLong(System.currentTimeMillis()); - private long id; + private static final Random random = new Random(42); + private String namePrefix; private List<Operation> parse(String input) throws ParseException { final Reader r = new StringReader(input); @@ -63,16 +63,14 @@ public class CreateServiceUsersTest { @Before public void setup() throws RepositoryException { + // We don't need to logout this session, the Sling Mocks library + // takes care of that session = context.resourceResolver().adaptTo(Session.class); + userManager = ServiceUserUtil.getUserManager(session); - id = counter.incrementAndGet(); + namePrefix = "user_" + random.nextInt(); } - @After - public void cleanup() { - session.logout(); - } - private void assertServiceUser(String info, String id, boolean expectToExist) throws RepositoryException { final Authorizable a = userManager.getAuthorizable(id); if(!expectToExist) { @@ -92,12 +90,44 @@ public class CreateServiceUsersTest { } @Test - public void createDeleteTest() throws Exception { - final String userId = "bob_" + id; + public void createDeleteSingleTest() throws Exception { + final String userId = namePrefix + "_cdst"; assertServiceUser("at start of test", userId, false); exec("create service user " + userId); assertServiceUser("affter creating user", userId, true); exec("delete service user " + userId); assertServiceUser("after deleting user", userId, false); } + + private String user(int index) { + return namePrefix + "_" + index; + } + + @Test + public void createDeleteMultipleTest() throws Exception { + final int n = 50; + + { + final StringBuilder input = new StringBuilder(); + for(int i=0; i < n; i++) { + assertServiceUser("at start of test", user(i), false); + input.append("create service user ").append(user(i)).append("\n"); + } + exec(input.toString()); + } + + { + final StringBuilder input = new StringBuilder(); + for(int i=0; i < n; i++) { + assertServiceUser("before deleting user", user(i), true); + input.append("delete service user ").append(user(i)).append("\n"); + } + exec(input.toString()); + } + + + for(int i=0; i < n; i++) { + assertServiceUser("after deleting users", user(i), false); + } + } } -- To stop receiving notification emails like this one, please contact "commits@sling.apache.org" <commits@sling.apache.org>.