You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2018/01/30 09:42:44 UTC

[sling-org-apache-sling-repoinit-it] 29/30: SLING-6984 - Allow to disable service user

This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-repoinit-it.git

commit 2cb9af511c4b438257467bab0aa37efe9c0c3b2c
Author: Timothée Maret <tm...@apache.org>
AuthorDate: Fri Aug 18 13:11:46 2017 +0000

    SLING-6984 - Allow to disable service user
    
    * Implement UserVisitor#visitDisableServiceUser
    * Add integration test
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1805421 13f79535-47bb-0310-9956-ffa450edef68
---
 src/main/provisioning/repoinit.txt                         |  3 +++
 .../org/apache/sling/repoinit/it/ProvisioningModelIT.java  |  8 ++++++++
 src/test/java/org/apache/sling/repoinit/it/U.java          | 14 +++++++++++++-
 3 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/src/main/provisioning/repoinit.txt b/src/main/provisioning/repoinit.txt
index de6e48e..fa39eae 100644
--- a/src/main/provisioning/repoinit.txt
+++ b/src/main/provisioning/repoinit.txt
@@ -45,6 +45,9 @@ set ACL for userFromProvisioningModel
   deny jcr:write on /repoinit/fromProvisioningModel
 end
 
+create service user thirdUserFromProvisioningModel
+disable service user thirdUserFromProvisioningModel : "Disabled for testing reason"
+
 register namespace (slingtest) http://sling.apache.org/ns/test/repoinit-it/v1.0
 
 register nodetypes
diff --git a/src/test/java/org/apache/sling/repoinit/it/ProvisioningModelIT.java b/src/test/java/org/apache/sling/repoinit/it/ProvisioningModelIT.java
index f06f8e4..c640a6d 100644
--- a/src/test/java/org/apache/sling/repoinit/it/ProvisioningModelIT.java
+++ b/src/test/java/org/apache/sling/repoinit/it/ProvisioningModelIT.java
@@ -37,6 +37,7 @@ public class ProvisioningModelIT {
     private static final String TEST_PATH = "/repoinit/fromProvisioningModel";
     private static final String TEST_USER = "userFromProvisioningModel";
     private static final String SECOND_TEST_USER = "secondUserFromProvisioningModel";
+    private static final String THIRD_TEST_USER = "thirdUserFromProvisioningModel";
     private final String uniqueID = UUID.randomUUID().toString();
     
     @Rule
@@ -58,6 +59,13 @@ public class ProvisioningModelIT {
     public void usersCreated() throws Exception {
         assertTrue("Expecting user " + TEST_USER, U.userExists(session, TEST_USER));
         assertTrue("Expecting user " + SECOND_TEST_USER, U.userExists(session, SECOND_TEST_USER));
+        assertTrue("Expecting user " + THIRD_TEST_USER, U.userExists(session, THIRD_TEST_USER));
+    }
+
+    @Test
+    public void userDisabled() throws Exception {
+        assertTrue(String.format("Expecting user %s to be disabled", THIRD_TEST_USER), U.userIsDisabled(session, THIRD_TEST_USER));
+        assertFalse(String.format("Expecting user %s to be enabled", TEST_USER), U.userIsDisabled(session,TEST_USER));
     }
     
     @Test
diff --git a/src/test/java/org/apache/sling/repoinit/it/U.java b/src/test/java/org/apache/sling/repoinit/it/U.java
index 918597d..d5b91f1 100644
--- a/src/test/java/org/apache/sling/repoinit/it/U.java
+++ b/src/test/java/org/apache/sling/repoinit/it/U.java
@@ -28,6 +28,7 @@ import javax.jcr.SimpleCredentials;
 
 import org.apache.jackrabbit.api.JackrabbitSession;
 import org.apache.jackrabbit.api.security.user.Authorizable;
+import org.apache.jackrabbit.api.security.user.User;
 
 /** Test utilities */
 public class U {
@@ -35,7 +36,18 @@ public class U {
         final Authorizable a = ((JackrabbitSession)session).getUserManager().getAuthorizable(id);
         return a != null;
     }
-    
+
+    public static boolean userIsDisabled(Session session, String id) throws RepositoryException {
+        final Authorizable a = ((JackrabbitSession)session).getUserManager().getAuthorizable(id);
+        if (a == null) {
+            throw new IllegalStateException("Authorizable not found:" + id);
+        }
+        if (a.isGroup()) {
+            throw new IllegalStateException("Authorizable is a group:" + id);
+        }
+        return ((User)a).isDisabled();
+    }
+
     public static Session getServiceSession(Session session, String serviceId) throws LoginException, RepositoryException {
         return session.impersonate(new SimpleCredentials(serviceId, new char[0]));
     }

-- 
To stop receiving notification emails like this one, please contact
rombert@apache.org.