Search in sources :

Example 1 with PrincipalConfigurationImpl

use of org.apache.jackrabbit.oak.security.principal.PrincipalConfigurationImpl in project jackrabbit-oak by apache.

the class SecurityProviderRegistrationTest method testPrincipalContext.

@Test
public void testPrincipalContext() throws Exception {
    Tree t = root.getTree("/");
    Field f = registration.getClass().getDeclaredField("principalConfiguration");
    f.setAccessible(true);
    PrincipalConfiguration pc = new PrincipalConfigurationImpl();
    registration.bindPrincipalConfiguration(pc, PROPS);
    CompositePrincipalConfiguration cpc = (CompositePrincipalConfiguration) f.get(registration);
    Context ctx = cpc.getContext();
    // expected size = 0 because PrincipalConfigurationImpl comes with the default ctx
    assertContext(ctx, 0, t, false);
    PrincipalConfiguration pc1 = mockConfiguration(PrincipalConfiguration.class);
    registration.bindPrincipalConfiguration(pc1, PROPS);
    cpc = (CompositePrincipalConfiguration) f.get(registration);
    ctx = cpc.getContext();
    // expected size 1 because the PrincipalConfigurationImpl comes with the default ctx
    assertContext(ctx, 1, t, true);
    PrincipalConfiguration pc2 = mockConfiguration(PrincipalConfiguration.class);
    registration.bindPrincipalConfiguration(pc2, PROPS);
    cpc = (CompositePrincipalConfiguration) f.get(registration);
    ctx = cpc.getContext();
    assertContext(ctx, 2, t, true);
    // unbind again:
    registration.unbindPrincipalConfiguration(pc, PROPS);
    cpc = (CompositePrincipalConfiguration) f.get(registration);
    ctx = cpc.getContext();
    assertContext(ctx, 2, t, true);
    registration.unbindPrincipalConfiguration(pc1, PROPS);
    cpc = (CompositePrincipalConfiguration) f.get(registration);
    ctx = cpc.getContext();
    assertContext(ctx, 1, t, true);
    registration.unbindPrincipalConfiguration(pc2, PROPS);
    cpc = (CompositePrincipalConfiguration) f.get(registration);
    ctx = cpc.getContext();
    assertContext(ctx, 0, t, false);
}
Also used : OsgiContext(org.apache.sling.testing.mock.osgi.junit.OsgiContext) Context(org.apache.jackrabbit.oak.spi.security.Context) Field(java.lang.reflect.Field) CompositePrincipalConfiguration(org.apache.jackrabbit.oak.spi.security.principal.CompositePrincipalConfiguration) CompositePrincipalConfiguration(org.apache.jackrabbit.oak.spi.security.principal.CompositePrincipalConfiguration) PrincipalConfiguration(org.apache.jackrabbit.oak.spi.security.principal.PrincipalConfiguration) Tree(org.apache.jackrabbit.oak.api.Tree) PrincipalConfigurationImpl(org.apache.jackrabbit.oak.security.principal.PrincipalConfigurationImpl) AbstractSecurityTest(org.apache.jackrabbit.oak.AbstractSecurityTest) Test(org.junit.Test)

Aggregations

Field (java.lang.reflect.Field)1 AbstractSecurityTest (org.apache.jackrabbit.oak.AbstractSecurityTest)1 Tree (org.apache.jackrabbit.oak.api.Tree)1 PrincipalConfigurationImpl (org.apache.jackrabbit.oak.security.principal.PrincipalConfigurationImpl)1 Context (org.apache.jackrabbit.oak.spi.security.Context)1 CompositePrincipalConfiguration (org.apache.jackrabbit.oak.spi.security.principal.CompositePrincipalConfiguration)1 PrincipalConfiguration (org.apache.jackrabbit.oak.spi.security.principal.PrincipalConfiguration)1 OsgiContext (org.apache.sling.testing.mock.osgi.junit.OsgiContext)1 Test (org.junit.Test)1