hi francesco i slightly refactored the benchmark; imo the junit dependency doesn't need to have a changed scope with that modification. otherwise let me know...
thanks again angela On 23/05/16 10:49, "Francesco Mari" <[email protected]> wrote: >I looked a little bit deeper into it. There is no need to revert. The >problem can be solved by explicitly setting the scope of >"org.apache.sling.testing.osgi-mock" and "junit" to compile. > >2016-05-23 9:14 GMT+02:00 Angela Schreiber <[email protected]>: > >> uh... sorry for that! i will revert and fix it. >> thanks for the heads up >> >> angela >> >> On 20/05/16 16:00, "Francesco Mari" <[email protected]> wrote: >> >> >Hi Angela, >> > >> >the "org.apache.sling.testing.osgi-mock" dependency has an empty scope >>in >> >oak-run/pom.xml. Even if I change the scope to "test", I have a >> >compilation >> >error when building oak-run. >> > >> >[ERROR] >> >>>/Users/mari/src/svn/oak/trunk/oak-run/src/main/java/org/apache/jackrabbi >>>t/ >> >oak/benchmark/authentication/external/AbstractExternalTest.java:[68,47] >> >error: package org.apache.sling.testing.mock.osgi.junit does not exist >> > >> >[ERROR] >> >>>/Users/mari/src/svn/oak/trunk/oak-run/src/main/java/org/apache/jackrabbi >>>t/ >> >>>oak/benchmark/authentication/external/AbstractExternalTest.java:[183,24] >> >error: cannot find symbol >> > >> >[ERROR] symbol: class OsgiContext >> > >> >>>/Users/mari/src/svn/oak/trunk/oak-run/src/main/java/org/apache/jackrabbi >>>t/ >> >>>oak/benchmark/authentication/external/AbstractExternalTest.java:[183,50] >> >error: cannot find symbol >> > >> >[INFO] 3 errors >> > >> >Can you review this? >> > >> >---------- Forwarded message ---------- >> >From: <[email protected]> >> >Date: 2016-05-20 10:26 GMT+02:00 >> >Subject: svn commit: r1744672 - in /jackrabbit/oak/trunk/oak-run: >>pom.xml >> >src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java >> >>>src/main/java/org/apache/jackrabbit/oak/benchmark/authentication/externa >>>l/ >> >AbstractExternalTest.java >> >To: [email protected] >> > >> > >> >Author: angela >> >Date: Fri May 20 08:26:23 2016 >> >New Revision: 1744672 >> > >> >URL: http://svn.apache.org/viewvc?rev=1744672&view=rev >> >Log: >> >OAK-4385 : Benchmarks: proper init of ExternalPrincipalConfiguration >>with >> >dynamicMembership >> > >> >Modified: >> > jackrabbit/oak/trunk/oak-run/pom.xml >> > >> >>>jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/ben >>>ch >> >mark/BenchmarkRunner.java >> > >> >>>jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/ben >>>ch >> >mark/authentication/external/AbstractExternalTest.java >> > >> >Modified: jackrabbit/oak/trunk/oak-run/pom.xml >> >URL: >> > >> >>http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/pom.xml?rev=174 >>4 >> >672&r1=1744671&r2=1744672&view=diff >> >>>======================================================================== >>>== >> >==== >> >--- jackrabbit/oak/trunk/oak-run/pom.xml (original) >> >+++ jackrabbit/oak/trunk/oak-run/pom.xml Fri May 20 08:26:23 2016 >> >@@ -427,6 +427,12 @@ >> > <groupId>com.google.code.findbugs</groupId> >> > <artifactId>jsr305</artifactId> >> > </dependency> >> >+ >> >+ <dependency> >> >+ <groupId>org.apache.sling</groupId> >> >+ <artifactId>org.apache.sling.testing.osgi-mock</artifactId> >> >+ <scope></scope> >> >+ </dependency> >> > >> > <!-- Test dependencies --> >> > <dependency> >> > >> >Modified: >> >>>jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/ben >>>ch >> >mark/BenchmarkRunner.java >> >URL: >> > >> >>http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/o >>r >> >>>g/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java?rev=1744672&r1=17 >>>44 >> >671&r2=1744672&view=diff >> >>>======================================================================== >>>== >> >==== >> >--- >> >>>jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/ben >>>ch >> >mark/BenchmarkRunner.java >> >(original) >> >+++ >> >>>jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/ben >>>ch >> >mark/BenchmarkRunner.java >> >Fri May 20 08:26:23 2016 >> >@@ -131,6 +131,8 @@ public class BenchmarkRunner { >> > .defaultsTo(Boolean.FALSE); >> > OptionSpec<String> supportedPaths = >> >parser.accepts("supportedPaths", "Supported paths in composite setup.") >> > >> > .withOptionalArg().ofType(String.class).withValuesSeparatedBy(','); >> >+ OptionSpec<Boolean> dynamicMembership = >> >parser.accepts("dynamicMembership", "Enable dynamic membership handling >> >during synchronisation of external users.") >> >+ >> >.withOptionalArg().ofType(Boolean.class).defaultsTo(Boolean.FALSE); >> > OptionSpec<String> autoMembership = >> >parser.accepts("autoMembership", "Ids of those groups a given external >> >identity automatically become member of.") >> > >> > .withOptionalArg().ofType(String.class).withValuesSeparatedBy(','); >> > OptionSpec<String> nonOption = parser.nonOptions(); >> >@@ -391,9 +393,9 @@ public class BenchmarkRunner { >> > new ReplicaCrashResilienceTest(), >> > >> > // benchmarks for oak-auth-external >> >- new ExternalLoginTest(numberOfUsers.value(options), >> >numberOfGroups.value(options), expiration.value(options), false, >> >autoMembership.values(options)), >> >- new SyncAllExternalUsersTest(numberOfUsers.value(options), >> >numberOfGroups.value(options), expiration.value(options), false, >> >autoMembership.values(options)), >> >- new SyncExternalUsersTest(numberOfUsers.value(options), >> >numberOfGroups.value(options), expiration.value(options), false, >> >autoMembership.values(options), batchSize.value(options)) >> >+ new ExternalLoginTest(numberOfUsers.value(options), >> >numberOfGroups.value(options), expiration.value(options), >> >dynamicMembership.value(options), autoMembership.values(options)), >> >+ new SyncAllExternalUsersTest(numberOfUsers.value(options), >> >numberOfGroups.value(options), expiration.value(options), >> >dynamicMembership.value(options), autoMembership.values(options)), >> >+ new SyncExternalUsersTest(numberOfUsers.value(options), >> >numberOfGroups.value(options), expiration.value(options), >> >dynamicMembership.value(options), autoMembership.values(options), >> >batchSize.value(options)) >> > }; >> > >> > Set<String> argset = >>Sets.newHashSet(nonOption.values(options)); >> > >> >Modified: >> >>>jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/ben >>>ch >> >mark/authentication/external/AbstractExternalTest.java >> >URL: >> > >> >>http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/o >>r >> >>>g/apache/jackrabbit/oak/benchmark/authentication/external/AbstractExtern >>>al >> >Test.java?rev=1744672&r1=1744671&r2=1744672&view=diff >> >>>======================================================================== >>>== >> >==== >> >--- >> >>>jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/ben >>>ch >> >mark/authentication/external/AbstractExternalTest.java >> >(original) >> >+++ >> >>>jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/ben >>>ch >> >mark/authentication/external/AbstractExternalTest.java >> >Fri May 20 08:26:23 2016 >> >@@ -54,6 +54,7 @@ import org.apache.jackrabbit.oak.spi.sec >> > import >> >>>org.apache.jackrabbit.oak.spi.security.authentication.external.SyncHandl >>>er >> >; >> > import >> >>>org.apache.jackrabbit.oak.spi.security.authentication.external.SyncManag >>>er >> >; >> > import >> >>>org.apache.jackrabbit.oak.spi.security.authentication.external.basic.Def >>>au >> >ltSyncConfig; >> >+import >> >>>org.apache.jackrabbit.oak.spi.security.authentication.external.impl.Defa >>>ul >> >tSyncConfigImpl; >> > import >> >>>org.apache.jackrabbit.oak.spi.security.authentication.external.impl.Defa >>>ul >> >tSyncHandler; >> > import >> >>>org.apache.jackrabbit.oak.spi.security.authentication.external.impl.Exte >>>rn >> >alIDPManagerImpl; >> > import >> >>>org.apache.jackrabbit.oak.spi.security.authentication.external.impl.Sync >>>Ma >> >nagerImpl; >> >@@ -63,6 +64,8 @@ import org.apache.jackrabbit.oak.spi.sec >> > import org.apache.jackrabbit.oak.spi.security.principal.PrincipalImpl; >> > import org.apache.jackrabbit.oak.spi.security.user.UserConstants; >> > import org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard; >> >+import org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils; >> >+import org.apache.sling.testing.mock.osgi.junit.OsgiContext; >> > >> > import static com.google.common.base.Preconditions.checkNotNull; >> > >> >@@ -84,6 +87,10 @@ import static com.google.common.base.Pre >> > abstract class AbstractExternalTest extends AbstractTest { >> > >> > private static final String PATH_PREFIX = "pathPrefix"; >> >+ >> >+ private final Random random = new Random(); >> >+ private final ExternalPrincipalConfiguration >> >externalPrincipalConfiguration = new ExternalPrincipalConfiguration(); >> >+ >> > final DefaultSyncConfig syncConfig = new DefaultSyncConfig(); >> > final SyncHandler syncHandler = new >>DefaultSyncHandler(syncConfig); >> > >> >@@ -92,8 +99,6 @@ abstract class AbstractExternalTest exte >> > SyncManagerImpl syncManager; >> > ExternalIdentityProviderManager idpManager; >> > >> >- private final Random random = new Random(); >> >- >> > protected AbstractExternalTest(int numberOfUsers, int >>numberOfGroups, >> > long expTime, boolean >> >dynamicMembership, >> > @Nonnull List<String> >>autoMembership) >> >{ >> >@@ -173,6 +178,20 @@ abstract class AbstractExternalTest exte >> > >>whiteboard.register(ExternalIdentityProvider.class, >> >idp, Collections.emptyMap()); >> > whiteboard.register(SyncHandler.class, >>syncHandler, >> >Collections.emptyMap()); >> > >> >+ // assert proper init of the >> >'externalPrincipalConfiguration' if dynamic membership is enabled >> >+ if (syncConfig.user().getDynamicMembership()) { >> >+ OsgiContext context = new OsgiContext(); >> >+ >> >+ // register the ExternalPrincipal >>configuration >> >in >> >order to have it's >> >+ // activate method invoked. >> >+ >> >context.registerInjectActivateService(externalPrincipalConfiguration); >> >+ >> >+ // now register the sync-handler with the >>dynamic >> >membership config >> >+ // in order to enable dynamic membership with >>the >> >external principal configuration >> >+ Map props = >> >ImmutableMap.of(DefaultSyncConfigImpl.PARAM_USER_DYNAMIC_MEMBERSHIP, >> >syncConfig.user().getDynamicMembership()); >> >+ context.registerService(SyncHandler.class, >> >WhiteboardUtils.getService(whiteboard, SyncHandler.class), props); >> >+ } >> >+ >> > SecurityProvider sp = new >> >TestSecurityProvider(ConfigurationParameters.EMPTY); >> > return new Jcr(oak).with(sp); >> > } >> >@@ -190,7 +209,7 @@ abstract class AbstractExternalTest exte >> > throw new IllegalStateException(); >> > } else { >> > PrincipalConfiguration defConfig = >> >checkNotNull(((CompositePrincipalConfiguration) >> >principalConfiguration).getDefaultConfig()); >> >- bindPrincipalConfiguration((new >> >ExternalPrincipalConfiguration(this))); >> >+ >> >bindPrincipalConfiguration(externalPrincipalConfiguration); >> > bindPrincipalConfiguration(defConfig); >> > } >> > } >> >>
