Author: stillalex Date: Tue Apr 16 09:43:36 2019 New Revision: 1857635 URL: http://svn.apache.org/viewvc?rev=1857635&view=rev Log: OAK-8247 Add non-admin mode for Node.isNodeType() benchmark
Modified: jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/IsNodeTypeTest.java Modified: jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java?rev=1857635&r1=1857634&r2=1857635&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java (original) +++ jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java Tue Apr 16 09:43:36 2019 @@ -501,7 +501,7 @@ public class BenchmarkRunner { new StringWriteTest(), new BasicWriteTest(), new CanReadNonExisting(), - new IsNodeTypeTest(), + new IsNodeTypeTest(runAsAdmin.value(options)), new SetPropertyTransientTest() }; Modified: jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/IsNodeTypeTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/IsNodeTypeTest.java?rev=1857635&r1=1857634&r2=1857635&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/IsNodeTypeTest.java (original) +++ jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/IsNodeTypeTest.java Tue Apr 16 09:43:36 2019 @@ -16,9 +16,15 @@ */ package org.apache.jackrabbit.oak.benchmark; +import static javax.jcr.security.Privilege.JCR_READ; +import static org.apache.jackrabbit.commons.jackrabbit.authorization.AccessControlUtils.addAccessControlEntry; +import static org.junit.Assert.assertTrue; + import javax.jcr.Node; import javax.jcr.Session; +import org.apache.jackrabbit.oak.spi.security.principal.EveryonePrincipal; + /** * Benchmark for Node.isNodeType(String). */ @@ -26,14 +32,21 @@ public class IsNodeTypeTest extends Abst private static final String NT_FOLDER = "nt:folder"; + private final boolean runAsAdmin; + private String testNodeName = "test" + TEST_ID; private Node testNode; + public IsNodeTypeTest(boolean runAsAdmin) { + this.runAsAdmin = runAsAdmin; + } + @Override public void beforeSuite() throws Exception { Session session = getRepository().login(getCredentials()); session.getRootNode().addNode(testNodeName, NT_FOLDER); + addAccessControlEntry(session, "/", EveryonePrincipal.getInstance(), new String[] { JCR_READ }, true); session.save(); session.logout(); testNode = prepareThreadExecutionContext(); @@ -50,7 +63,15 @@ public class IsNodeTypeTest extends Abst @Override protected Node prepareThreadExecutionContext() throws Exception { - return loginWriter().getRootNode().getNode(testNodeName); + return getTestSession().getRootNode().getNode(testNodeName); + } + + private Session getTestSession() { + if (runAsAdmin) { + return loginWriter(); + } else { + return loginAnonymous(); + } } @Override @@ -62,7 +83,7 @@ public class IsNodeTypeTest extends Abst @Override protected void runTest(Node executionContext) throws Exception { for (int i = 0; i < 100000; i++) { - executionContext.isNodeType(NT_FOLDER); + assertTrue(executionContext.isNodeType(NT_FOLDER)); } }