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 10:56:20 UTC

[jackrabbit-filevault] branch master updated: JCRVLT-540 update to Oak 1.40.0 and Jackrabbit 2.20.3 (#151)

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

kwin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jackrabbit-filevault.git


The following commit(s) were added to refs/heads/master by this push:
     new 1bfd41e  JCRVLT-540 update to Oak 1.40.0 and Jackrabbit 2.20.3 (#151)
1bfd41e is described below

commit 1bfd41e7845c1584984ab42f09069864f94f025e
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Fri Jun 25 12:56:11 2021 +0200

    JCRVLT-540 update to Oak 1.40.0 and Jackrabbit 2.20.3 (#151)
---
 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 7fbf8c8..cf1c390 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));
     }
 }