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 2021/06/25 08:49:54 UTC

[jackrabbit-filevault] 01/01: JCRVLT-540 update to Oak 1.40.0 and Jackrabbit 2.20.3

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

kwin pushed a commit to branch feature/oak-1.40.0-and-jackrabbit-2.20.3
in repository https://gitbox.apache.org/repos/asf/jackrabbit-filevault.git

commit 79642eb02915405dc2a6a0436f1e99d5bd001af1
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Thu Jun 24 17:31:05 2021 +0200

    JCRVLT-540 update to Oak 1.40.0 and Jackrabbit 2.20.3
---
 parent/pom.xml                                     |  4 ++--
 .../packaging/impl/AdminPermissionCheckerIT.java   | 25 ++++++++++++----------
 2 files changed, 16 insertions(+), 13 deletions(-)

diff --git a/parent/pom.xml b/parent/pom.xml
index b11eb67..c439655 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -48,8 +48,8 @@ Apache Jackrabbit FileVault is a project of the Apache Software Foundation.
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <jackrabbit.version>2.20.2</jackrabbit.version>
-        <oak.version>1.38.0</oak.version>
+        <jackrabbit.version>2.20.3</jackrabbit.version>
+        <oak.version>1.40.0</oak.version>
         <slf4j.version>1.7.25</slf4j.version>
         <test.oak>true</test.oak> <!-- passed to integration test as property "oak", set to true to test with Oak, false means test with Jackrabbit 2 -->
         <java.target.version>1.8</java.target.version>
diff --git a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/impl/AdminPermissionCheckerIT.java b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/impl/AdminPermissionCheckerIT.java
index 6c28528..e1e61e4 100644
--- a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/impl/AdminPermissionCheckerIT.java
+++ b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/impl/AdminPermissionCheckerIT.java
@@ -27,6 +27,8 @@ import java.util.HashSet;
 import java.util.Set;
 
 import javax.jcr.AccessDeniedException;
+import javax.jcr.Credentials;
+import javax.jcr.GuestCredentials;
 import javax.jcr.LoginException;
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
@@ -40,6 +42,7 @@ import org.apache.jackrabbit.api.security.user.User;
 import org.apache.jackrabbit.core.security.principal.PrincipalImpl;
 import org.apache.jackrabbit.vault.packaging.integration.IntegrationTestBase;
 import org.junit.After;
+import org.junit.Assume;
 import org.junit.Test;
 
 /**
@@ -153,18 +156,17 @@ public class AdminPermissionCheckerIT extends IntegrationTestBase {
 
     @Test
     public void testBoundPrincipalIsAdmin() throws LoginException, RepositoryException {
-        assertFalse(AdminPermissionChecker.hasAdministrativePermissionsWithPrincipals(admin, Collections.singletonList("myadmin")));
-        // emulate Oak 1.40 with custom attribute
-        SimpleCredentials creds = new SimpleCredentials("admin", "admin".toCharArray());
-        Set<Principal> principals = new HashSet<>();
-        principals.add(new PrincipalImpl("someprincipalname"));
-        principals.add(new PrincipalImpl("myadmin"));
-        creds.setAttribute("oak.bound-principals", principals);
+        // only run test on Oak
+        Assume.assumeTrue(isOak());
+        assertFalse(AdminPermissionChecker.hasAdministrativePermissionsWithPrincipals(admin, Collections.singletonList("anonymous")));
+        assertTrue(AdminPermissionChecker.hasAdministrativePermissionsWithPrincipals(admin, Collections.singletonList("everyone")));
+        Credentials creds = new GuestCredentials();
         Session newSession = repository.login(creds);
         try {
+            // guest is bound to anonymous and everyone principal in Oak
+            assertTrue(AdminPermissionChecker.hasAdministrativePermissionsWithPrincipals(newSession, Collections.singletonList("anonymous")));
+            assertTrue(AdminPermissionChecker.hasAdministrativePermissionsWithPrincipals(newSession, Collections.singletonList("everyone")));
             assertFalse(AdminPermissionChecker.hasAdministrativePermissionsWithPrincipals(newSession, Collections.singletonList("myadmin2")));
-            assertTrue(AdminPermissionChecker.hasAdministrativePermissionsWithPrincipals(newSession, Collections.singletonList("myadmin")));
-            // there are not defaults for principal names
             assertFalse(AdminPermissionChecker.hasAdministrativePermissionsWithPrincipals(newSession, Collections.singletonList("admin")));
         } finally {
             newSession.logout();
@@ -173,7 +175,8 @@ public class AdminPermissionCheckerIT extends IntegrationTestBase {
 
     @Test
     public void testIsOak140() {
-        // this test must be adjusted once the Oak dependency is updated to 1.40 or newer
-        assertFalse(AdminPermissionChecker.isOakVersionExposingBoundPrincipals(repository));
+        // only run test on Jackrabbit
+        Assume.assumeTrue(isOak());
+        assertTrue(AdminPermissionChecker.isOakVersionExposingBoundPrincipals(repository));
     }
 }