You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by kw...@apache.org on 2023/04/27 15:23:05 UTC

[jackrabbit-filevault] branch feature/test-principal-based-it created (now 85c1be41)

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

kwin pushed a change to branch feature/test-principal-based-it
in repository https://gitbox.apache.org/repos/asf/jackrabbit-filevault.git


      at 85c1be41 try to read principal ACLs being set in setUp(...)

This branch includes the following new commits:

     new 85c1be41 try to read principal ACLs being set in setUp(...)

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[jackrabbit-filevault] 01/01: try to read principal ACLs being set in setUp(...)

Posted by kw...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

kwin pushed a commit to branch feature/test-principal-based-it
in repository https://gitbox.apache.org/repos/asf/jackrabbit-filevault.git

commit 85c1be412718643350e1e8bf9fc24d923699e388
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Thu Apr 27 17:22:57 2023 +0200

    try to read principal ACLs being set in setUp(...)
---
 .../packaging/integration/PrincipalBasedIT.java    | 23 ++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/PrincipalBasedIT.java b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/PrincipalBasedIT.java
index 50d56380..2d189660 100644
--- a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/PrincipalBasedIT.java
+++ b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/PrincipalBasedIT.java
@@ -22,7 +22,9 @@ import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Lists;
 import org.apache.jackrabbit.JcrConstants;
 import org.apache.jackrabbit.api.JackrabbitSession;
+import org.apache.jackrabbit.api.security.JackrabbitAccessControlList;
 import org.apache.jackrabbit.api.security.JackrabbitAccessControlManager;
+import org.apache.jackrabbit.api.security.JackrabbitAccessControlPolicy;
 import org.apache.jackrabbit.api.security.authorization.PrincipalAccessControlList;
 import org.apache.jackrabbit.api.security.user.User;
 import org.apache.jackrabbit.api.security.user.UserManager;
@@ -53,11 +55,14 @@ import org.junit.ClassRule;
 import org.junit.Ignore;
 import org.junit.Test;
 
+import javax.jcr.AccessDeniedException;
 import javax.jcr.PropertyType;
 import javax.jcr.RepositoryException;
+import javax.jcr.UnsupportedRepositoryOperationException;
 import javax.jcr.Value;
 import javax.jcr.ValueFactory;
 import javax.jcr.security.AccessControlEntry;
+import javax.jcr.security.AccessControlException;
 import javax.jcr.security.AccessControlPolicy;
 import javax.jcr.security.Privilege;
 import java.security.Principal;
@@ -201,6 +206,24 @@ public class PrincipalBasedIT extends IntegrationTestBase {
         fail("expected PrincipalAccessControlList for principal " + principal.getName());
     }
 
+    @Test
+    public void testEntriesFromSetup() throws AccessDeniedException, AccessControlException, UnsupportedRepositoryOperationException, RepositoryException {
+        @NotNull
+        JackrabbitAccessControlPolicy[] applicablePolicies = acMgr.getApplicablePolicies(testUser.getPrincipal());
+        // for some reason only 1 is returned and no longer 2 as in the setUp method
+        assertEquals(1, applicablePolicies.length);
+        JackrabbitAccessControlPolicy policy = applicablePolicies[0];
+        if (policy instanceof PrincipalAccessControlList) {
+            // this should be returned as in setup
+        } else if (policy instanceof JackrabbitAccessControlList) {
+            // this is instead returned with no entries!
+            AccessControlEntry[] entries = ((JackrabbitAccessControlList) policy).getAccessControlEntries();
+            assertEquals(2, entries.length); // this should be the two from setUp(..)
+        } else {
+            fail("Found unexpected policy for principal " + testUser.getPrincipal());
+        }
+    }
+
     @Test
     public void testHandlingIgnoreModeUpdate() throws Exception {
         assumeTrue(isOak());