You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by an...@apache.org on 2017/02/20 14:13:27 UTC
svn commit: r1783769 - in
/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak: ./
security/principal/ security/user/ security/user/autosave/
security/user/query/
Author: angela
Date: Mon Feb 20 14:13:27 2017
New Revision: 1783769
URL: http://svn.apache.org/viewvc?rev=1783769&view=rev
Log:
OAK-5689 : AbstractSecurityTest: enforce test-failure for traversal queries (wip)
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/AbstractSecurityTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/EveryoneGroupTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserManagerImplTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserPrincipalProviderTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/autosave/AutoSaveEnabledManagerTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/query/UserQueryManagerTest.java
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/AbstractSecurityTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/AbstractSecurityTest.java?rev=1783769&r1=1783768&r2=1783769&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/AbstractSecurityTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/AbstractSecurityTest.java Mon Feb 20 14:13:27 2017
@@ -54,6 +54,7 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.plugins.nodetype.write.InitialContent;
import org.apache.jackrabbit.oak.plugins.value.ValueFactoryImpl;
import org.apache.jackrabbit.oak.plugins.version.VersionHook;
+import org.apache.jackrabbit.oak.query.QueryEngineSettings;
import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
@@ -80,6 +81,8 @@ public abstract class AbstractSecurityTe
protected ContentSession adminSession;
protected Root root;
+ protected QueryEngineSettings querySettings;
+
@Before
public void before() throws Exception {
Oak oak = new Oak()
@@ -93,6 +96,7 @@ public abstract class AbstractSecurityTe
.with(new PropertyIndexProvider())
.with(new TypeEditorProvider())
.with(new ConflictValidatorProvider())
+ .with(getQueryEngineSettings())
.with(getSecurityProvider());
withEditors(oak);
contentRepository = oak.createContentRepository();
@@ -133,6 +137,14 @@ public abstract class AbstractSecurityTe
return oak;
}
+ protected QueryEngineSettings getQueryEngineSettings() {
+ if (querySettings == null) {
+ querySettings = new QueryEngineSettings();
+ querySettings.setFailTraversal(true);
+ }
+ return querySettings;
+ }
+
protected ConfigurationParameters getSecurityConfigParameters() {
return ConfigurationParameters.EMPTY;
}
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplTest.java?rev=1783769&r1=1783768&r2=1783769&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplTest.java Mon Feb 20 14:13:27 2017
@@ -41,6 +41,9 @@ public class PrincipalProviderImplTest e
@Test
public void testEveryoneMembers() throws Exception {
+ // FIXME: check, why this query causes a traversal despite the existence of an index
+ getQueryEngineSettings().setFailTraversal(false);
+
Principal everyone = principalProvider.getPrincipal(EveryonePrincipal.NAME);
assertTrue(everyone instanceof EveryonePrincipal);
@@ -64,6 +67,8 @@ public class PrincipalProviderImplTest e
}
} finally {
+ getQueryEngineSettings().setFailTraversal(true);
+
if (everyoneGroup != null) {
everyoneGroup.remove();
root.commit();
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/EveryoneGroupTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/EveryoneGroupTest.java?rev=1783769&r1=1783768&r2=1783769&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/EveryoneGroupTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/EveryoneGroupTest.java Mon Feb 20 14:13:27 2017
@@ -102,16 +102,25 @@ public class EveryoneGroupTest extends A
@Test
public void testGetMembers() throws Exception {
- Set<Authorizable> members = ImmutableSet.copyOf(everyoneGroup.getMembers());
+ // FIXME: check, why this query causes a traversal despite the existence of an index
+ getQueryEngineSettings().setFailTraversal(false);
- assertFalse(members.contains(everyoneGroup));
- for (Authorizable a : authorizables) {
- assertTrue(members.contains(a));
+ try {
+ Set<Authorizable> members = ImmutableSet.copyOf(everyoneGroup.getMembers());
+
+ assertFalse(members.contains(everyoneGroup));
+ for (Authorizable a : authorizables) {
+ assertTrue(members.contains(a));
+ }
+ } finally {
+ getQueryEngineSettings().setFailTraversal(true);
}
}
@Test
public void testGetDeclaredMembers() throws Exception {
+ getQueryEngineSettings().setFailTraversal(false);
+
Set<Authorizable> members = ImmutableSet.copyOf(everyoneGroup.getDeclaredMembers());
assertFalse(members.contains(everyoneGroup));
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserManagerImplTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserManagerImplTest.java?rev=1783769&r1=1783768&r2=1783769&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserManagerImplTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserManagerImplTest.java Mon Feb 20 14:13:27 2017
@@ -284,11 +284,18 @@ public class UserManagerImplTest extends
@Test
public void testFindWithNullValue() throws RepositoryException {
- Iterator<Authorizable> result = userMgr.findAuthorizables(UserConstants.REP_PRINCIPAL_NAME, null);
- assertTrue(result.hasNext());
+ // FIXME: check, why this query causes a traversal despite the existence of an index
+ getQueryEngineSettings().setFailTraversal(false);
- result = userMgr.findAuthorizables("./"+UserConstants.REP_PRINCIPAL_NAME, null);
- assertTrue(result.hasNext());
+ try {
+ Iterator<Authorizable> result = userMgr.findAuthorizables(UserConstants.REP_PRINCIPAL_NAME, null);
+ assertTrue(result.hasNext());
+
+ result = userMgr.findAuthorizables("./" + UserConstants.REP_PRINCIPAL_NAME, null);
+ assertTrue(result.hasNext());
+ } finally {
+ getQueryEngineSettings().setFailTraversal(true);
+ }
}
@Test
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserPrincipalProviderTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserPrincipalProviderTest.java?rev=1783769&r1=1783768&r2=1783769&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserPrincipalProviderTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserPrincipalProviderTest.java Mon Feb 20 14:13:27 2017
@@ -139,6 +139,9 @@ public class UserPrincipalProviderTest e
@Test
public void testEveryoneMembers() throws Exception {
+ // FIXME: check, why this query causes a traversal despite the existence of an index
+ getQueryEngineSettings().setFailTraversal(false);
+
Principal everyone = principalProvider.getPrincipal(EveryonePrincipal.NAME);
assertTrue(everyone instanceof EveryonePrincipal);
@@ -155,6 +158,8 @@ public class UserPrincipalProviderTest e
((java.security.acl.Group) ep).isMember(getTestUser().getPrincipal());
} finally {
+ getQueryEngineSettings().setFailTraversal(true);
+
if (everyoneGroup != null) {
everyoneGroup.remove();
root.commit();
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/autosave/AutoSaveEnabledManagerTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/autosave/AutoSaveEnabledManagerTest.java?rev=1783769&r1=1783768&r2=1783769&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/autosave/AutoSaveEnabledManagerTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/autosave/AutoSaveEnabledManagerTest.java Mon Feb 20 14:13:27 2017
@@ -93,12 +93,19 @@ public class AutoSaveEnabledManagerTest
@Test
public void testFindAuthorizable() throws RepositoryException {
- Iterator<Authorizable> res = mgr.findAuthorizables(UserConstants.REP_AUTHORIZABLE_ID, UserConstants.DEFAULT_ANONYMOUS_ID);
- assertTrue(res.hasNext());
+ // FIXME: check, why this query causes a traversal despite the existence of an index
+ getQueryEngineSettings().setFailTraversal(false);
- Authorizable a = res.next();
- assertNotNull(a);
- assertTrue(a instanceof AuthorizableImpl);
+ try {
+ Iterator<Authorizable> res = mgr.findAuthorizables(UserConstants.REP_AUTHORIZABLE_ID, UserConstants.DEFAULT_ANONYMOUS_ID);
+ assertTrue(res.hasNext());
+
+ Authorizable a = res.next();
+ assertNotNull(a);
+ assertTrue(a instanceof AuthorizableImpl);
+ } finally {
+ getQueryEngineSettings().setFailTraversal(true);
+ }
}
@Test
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/query/UserQueryManagerTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/query/UserQueryManagerTest.java?rev=1783769&r1=1783768&r2=1783769&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/query/UserQueryManagerTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/query/UserQueryManagerTest.java Mon Feb 20 14:13:27 2017
@@ -55,6 +55,14 @@ public class UserQueryManagerTest extend
valueFactory = new ValueFactoryImpl(root, namePathMapper);
propertyName = "testProperty";
+
+ getQueryEngineSettings().setFailTraversal(false);
+ }
+
+ @Override
+ public void after() throws Exception {
+ getQueryEngineSettings().setFailTraversal(true);
+ super.after();
}
/**