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();
}
/**