Index: oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfigurationTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfigurationTest.java (revision 1816160) +++ oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfigurationTest.java (revision ) @@ -16,6 +16,7 @@ */ package org.apache.jackrabbit.oak.spi.security.authorization.cug.impl; +import java.lang.reflect.Field; import java.security.Principal; import java.util.List; import java.util.Set; @@ -30,6 +31,8 @@ import org.apache.jackrabbit.oak.spi.commit.CommitHook; import org.apache.jackrabbit.oak.spi.commit.MoveTracker; import org.apache.jackrabbit.oak.spi.commit.ValidatorProvider; +import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider; +import org.apache.jackrabbit.oak.spi.mount.Mounts; import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters; import org.apache.jackrabbit.oak.spi.security.SecurityProvider; import org.apache.jackrabbit.oak.spi.security.authorization.AuthorizationConfiguration; @@ -42,6 +45,7 @@ import org.apache.jackrabbit.oak.spi.security.principal.SystemUserPrincipal; import org.apache.jackrabbit.oak.spi.xml.ProtectedItemImporter; import org.junit.Test; +import org.mockito.Mockito; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertSame; @@ -218,6 +222,23 @@ CugConstants.PARAM_CUG_SUPPORTED_PATHS, new String[]{"/changed"} )); assertSupportedPaths(cugConfiguration, "/changed"); + } + + @Test + public void testBindMountInfoProvider() throws Exception { + Field f = CugConfiguration.class.getDeclaredField("mountInfoProvider"); + f.setAccessible(true); + + CugConfiguration cugConfiguration = new CugConfiguration(); + assertSame(Mounts.defaultMountInfoProvider(), f.get(cugConfiguration)); + + MountInfoProvider mip = Mockito.mock(MountInfoProvider.class); + cugConfiguration.bindMountInfoProvider(mip); + + assertSame(mip, f.get(cugConfiguration)); + + cugConfiguration.unbindMountInfoProvider(mip); + assertSame(Mounts.defaultMountInfoProvider(), f.get(cugConfiguration)); } private static void assertSupportedPaths(@Nonnull CugConfiguration configuration, @Nonnull String... paths) throws Exception { \ No newline at end of file Index: oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfiguration.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfiguration.java (revision 1816160) +++ oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfiguration.java (revision ) @@ -94,7 +94,7 @@ intValue = 200), @Property(name = OAK_SECURITY_NAME, propertyPrivate = true, - value = "org.apache.jackrabbit.oak.spi.security.authorization.cug.impl.CugConfiguration") + value = "org.apache.jackrabbit.oak.spi.security.authorization.cug.impl.CugConfiguration") }) public class CugConfiguration extends ConfigurationBase implements AuthorizationConfiguration, CugConstants { @@ -214,7 +214,7 @@ } public void unbindMountInfoProvider(MountInfoProvider mountInfoProvider) { - this.mountInfoProvider = null; + this.mountInfoProvider = Mounts.defaultMountInfoProvider(); } //-------------------------------------------------------------------------- \ No newline at end of file