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:06 UTC
[jackrabbit-filevault] 01/01: try to read principal ACLs being set in setUp(...)
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());