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 2016/05/20 08:26:23 UTC
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
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/benchmark/BenchmarkRunner.java
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/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=1744672&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/benchmark/BenchmarkRunner.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java?rev=1744672&r1=1744671&r2=1744672&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/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/benchmark/authentication/external/AbstractExternalTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/authentication/external/AbstractExternalTest.java?rev=1744672&r1=1744671&r2=1744672&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/authentication/external/AbstractExternalTest.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/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.DefaultSyncConfig;
+import org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DefaultSyncConfigImpl;
import org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DefaultSyncHandler;
import org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalIDPManagerImpl;
import org.apache.jackrabbit.oak.spi.security.authentication.external.impl.SyncManagerImpl;
@@ -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);
}
}
Re: 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
Posted by Francesco Mari <ma...@gmail.com>.
I just built the project successfully. Thanks for fixing it!
2016-05-23 10:53 GMT+02:00 Angela Schreiber <an...@adobe.com>:
> 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" <ma...@gmail.com> 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 <an...@adobe.com>:
> >
> >> uh... sorry for that! i will revert and fix it.
> >> thanks for the heads up
> >>
> >> angela
> >>
> >> On 20/05/16 16:00, "Francesco Mari" <ma...@gmail.com> 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: <an...@apache.org>
> >> >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: oak-commits@jackrabbit.apache.org
> >> >
> >> >
> >> >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);
> >> > }
> >> > }
> >>
> >>
>
>
Re: 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
Posted by Angela Schreiber <an...@adobe.com>.
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" <ma...@gmail.com> 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 <an...@adobe.com>:
>
>> uh... sorry for that! i will revert and fix it.
>> thanks for the heads up
>>
>> angela
>>
>> On 20/05/16 16:00, "Francesco Mari" <ma...@gmail.com> 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: <an...@apache.org>
>> >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: oak-commits@jackrabbit.apache.org
>> >
>> >
>> >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);
>> > }
>> > }
>>
>>
Re: 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
Posted by Francesco Mari <ma...@gmail.com>.
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 <an...@adobe.com>:
> uh... sorry for that! i will revert and fix it.
> thanks for the heads up
>
> angela
>
> On 20/05/16 16:00, "Francesco Mari" <ma...@gmail.com> 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: <an...@apache.org>
> >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: oak-commits@jackrabbit.apache.org
> >
> >
> >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);
> > }
> > }
>
>
Re: 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
Posted by Angela Schreiber <an...@adobe.com>.
uh... sorry for that! i will revert and fix it.
thanks for the heads up
angela
On 20/05/16 16:00, "Francesco Mari" <ma...@gmail.com> 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: <an...@apache.org>
>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: oak-commits@jackrabbit.apache.org
>
>
>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);
> }
> }
Fwd: 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
Posted by Francesco Mari <ma...@gmail.com>.
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: <an...@apache.org>
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: oak-commits@jackrabbit.apache.org
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/benchmark/BenchmarkRunner.java
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/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=1744672&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/benchmark/BenchmarkRunner.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java?rev=1744672&r1=1744671&r2=1744672&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java
(original)
+++
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/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/benchmark/authentication/external/AbstractExternalTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/authentication/external/AbstractExternalTest.java?rev=1744672&r1=1744671&r2=1744672&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/authentication/external/AbstractExternalTest.java
(original)
+++
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/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.DefaultSyncConfig;
+import
org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DefaultSyncConfigImpl;
import
org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DefaultSyncHandler;
import
org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalIDPManagerImpl;
import
org.apache.jackrabbit.oak.spi.security.authentication.external.impl.SyncManagerImpl;
@@ -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);
}
}