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/jackrabbit/ >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/jackrabbit/ >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/jackrabbit/ >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/external/ >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/bench >mark/BenchmarkRunner.java > >jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/bench >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=1744 >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/bench >mark/BenchmarkRunner.java >URL: >http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/or >g/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java?rev=1744672&r1=1744 >671&r2=1744672&view=diff >========================================================================== >==== >--- >jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/bench >mark/BenchmarkRunner.java >(original) >+++ >jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/bench >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/bench >mark/authentication/external/AbstractExternalTest.java >URL: >http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/or >g/apache/jackrabbit/oak/benchmark/authentication/external/AbstractExternal >Test.java?rev=1744672&r1=1744671&r2=1744672&view=diff >========================================================================== >==== >--- >jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/bench >mark/authentication/external/AbstractExternalTest.java >(original) >+++ >jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/bench >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.SyncHandler >; > import >org.apache.jackrabbit.oak.spi.security.authentication.external.SyncManager >; > import >org.apache.jackrabbit.oak.spi.security.authentication.external.basic.Defau >ltSyncConfig; >+import >org.apache.jackrabbit.oak.spi.security.authentication.external.impl.Defaul >tSyncConfigImpl; > import >org.apache.jackrabbit.oak.spi.security.authentication.external.impl.Defaul >tSyncHandler; > import >org.apache.jackrabbit.oak.spi.security.authentication.external.impl.Extern >alIDPManagerImpl; > import >org.apache.jackrabbit.oak.spi.security.authentication.external.impl.SyncMa >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); > } > }
