Author: angela
Date: Thu May 16 13:09:47 2019
New Revision: 1859377
URL: http://svn.apache.org/viewvc?rev=1859377&view=rev
Log:
OAK-8324 : Missing NotNull annotation with AuthenticationConfiguration and
LoginModuleStatsCollector
Added:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImplOSGiTest.java
(with props)
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImpl.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImplTest.java
jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AuthenticationConfiguration.java
jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/LoginModuleStatsCollector.java
jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/OpenAuthenticationConfiguration.java
jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/package-info.java
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImpl.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImpl.java?rev=1859377&r1=1859376&r2=1859377&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImpl.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImpl.java
Thu May 16 13:09:47 2019
@@ -133,7 +133,7 @@ public class AuthenticationConfiguration
*/
@NotNull
@Override
- public LoginContextProvider getLoginContextProvider(ContentRepository
contentRepository) {
+ public LoginContextProvider getLoginContextProvider(@NotNull
ContentRepository contentRepository) {
String appName = getParameters().getConfigValue(PARAM_APP_NAME,
DEFAULT_APP_NAME);
SecurityProvider provider = getSecurityProvider();
Whiteboard whiteboard = null;
@@ -142,8 +142,7 @@ public class AuthenticationConfiguration
} else {
log.warn("Unable to obtain whiteboard from SecurityProvider");
}
- return new LoginContextProviderImpl(appName, getParameters(),
contentRepository, getSecurityProvider(),
- whiteboard, lmMonitor);
+ return new LoginContextProviderImpl(appName, getParameters(),
contentRepository, provider, whiteboard, lmMonitor);
}
@Override
Added:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImplOSGiTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImplOSGiTest.java?rev=1859377&view=auto
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImplOSGiTest.java
(added)
+++
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImplOSGiTest.java
Thu May 16 13:09:47 2019
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.oak.security.authentication;
+
+import com.google.common.collect.Maps;
+import org.apache.jackrabbit.oak.AbstractSecurityTest;
+import org.apache.jackrabbit.oak.osgi.OsgiUtil;
+import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
+import org.apache.sling.testing.mock.osgi.junit.OsgiContext;
+import org.junit.Rule;
+import org.junit.Test;
+import org.osgi.framework.Constants;
+
+import javax.jcr.SimpleCredentials;
+
+import static
org.apache.jackrabbit.oak.spi.security.authentication.AuthenticationConfiguration.PARAM_APP_NAME;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+public class AuthenticationConfigurationImplOSGiTest extends
AbstractSecurityTest {
+
+ @Rule
+ public final OsgiContext context = new OsgiContext();
+
+ private final AuthenticationConfigurationImpl authenticationConfiguration
= new AuthenticationConfigurationImpl();
+
+ private SimpleCredentials sc;
+
+ @Override
+ public void before() throws Exception {
+ super.before();
+
+ authenticationConfiguration.setSecurityProvider(getSecurityProvider());
+ }
+
+ @Test
+ public void testGetParameters() {
+ context.registerInjectActivateService(authenticationConfiguration,
ConfigurationParameters.of(PARAM_APP_NAME, "name"));
+
+ ConfigurationParameters expected = ConfigurationParameters.of(
+ PARAM_APP_NAME, "name",
+ Constants.SERVICE_PID,
authenticationConfiguration.getClass().getName());
+ assertTrue(Maps.difference(expected,
authenticationConfiguration.getParameters()).areEqual());
+ }
+}
\ No newline at end of file
Propchange:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImplOSGiTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImplTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImplTest.java?rev=1859377&r1=1859376&r2=1859377&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImplTest.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/AuthenticationConfigurationImplTest.java
Thu May 16 13:09:47 2019
@@ -20,19 +20,28 @@ import org.apache.jackrabbit.oak.api.Con
import org.apache.jackrabbit.oak.security.internal.SecurityProviderBuilder;
import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
import
org.apache.jackrabbit.oak.spi.security.authentication.AuthenticationConfiguration;
+import
org.apache.jackrabbit.oak.spi.security.authentication.LoginContextProvider;
+import
org.apache.jackrabbit.oak.spi.security.authentication.LoginModuleMonitor;
import org.apache.jackrabbit.oak.spi.whiteboard.DefaultWhiteboard;
+import org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard;
import org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardAware;
import org.junit.Test;
import org.mockito.Mockito;
+import java.lang.reflect.Field;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
public class AuthenticationConfigurationImplTest {
private final AuthenticationConfigurationImpl authConfiguration = new
AuthenticationConfigurationImpl();
- private final ContentRepository repo =
Mockito.mock(ContentRepository.class);
+ private final ContentRepository repo = mock(ContentRepository.class);
@Test
public void testGetName() {
@@ -52,12 +61,43 @@ public class AuthenticationConfiguration
}
@Test
- public void testGetLoginCtxProviderWhiteboard() {
- SecurityProvider sp = Mockito.mock(SecurityProvider.class,
Mockito.withSettings().extraInterfaces(WhiteboardAware.class));
- when(((WhiteboardAware) sp).getWhiteboard()).thenReturn(new
DefaultWhiteboard());
+ public void testGetLoginCtxProviderWhiteboard() throws Exception {
+ Whiteboard wb = new DefaultWhiteboard();
+ SecurityProvider sp = mock(SecurityProvider.class,
Mockito.withSettings().extraInterfaces(WhiteboardAware.class));
+ when(((WhiteboardAware) sp).getWhiteboard()).thenReturn(wb);
+ authConfiguration.setSecurityProvider(sp);
+ LoginContextProvider lcp =
authConfiguration.getLoginContextProvider(repo);
+ assertTrue(lcp instanceof LoginContextProviderImpl);
+
+ Field f =
LoginContextProviderImpl.class.getDeclaredField("whiteboard");
+ f.setAccessible(true);
+ assertSame(wb, f.get(lcp));
+ }
+
+ @Test
+ public void testGetLoginCtxProviderWithoutWhiteboard() throws Exception {
+ SecurityProvider sp = mock(SecurityProvider.class);
authConfiguration.setSecurityProvider(sp);
- assertNotNull(authConfiguration.getLoginContextProvider(repo));
+ LoginContextProvider lcp =
authConfiguration.getLoginContextProvider(repo);
+ assertTrue(lcp instanceof LoginContextProviderImpl);
+
+ Field f =
LoginContextProviderImpl.class.getDeclaredField("whiteboard");
+ f.setAccessible(true);
+ assertNull(f.get(lcp));
+ }
+
+ @Test
+ public void testSetLoginModuleMonitor() throws Exception {
+ Field f =
AuthenticationConfigurationImpl.class.getDeclaredField("lmMonitor");
+ f.setAccessible(true);
+
+ assertSame(LoginModuleMonitor.NOOP, f.get(authConfiguration));
+
+ LoginModuleMonitor monitor = mock(LoginModuleMonitor.class);
+ authConfiguration.setLoginModuleMonitor(monitor);
+
+ assertSame(monitor, f.get(authConfiguration));
}
}
\ No newline at end of file
Modified:
jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AuthenticationConfiguration.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AuthenticationConfiguration.java?rev=1859377&r1=1859376&r2=1859377&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AuthenticationConfiguration.java
(original)
+++
jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AuthenticationConfiguration.java
Thu May 16 13:09:47 2019
@@ -33,5 +33,5 @@ public interface AuthenticationConfigura
String PARAM_CONFIG_SPI_NAME =
"org.apache.jackrabbit.oak.authentication.configSpiName";
@NotNull
- LoginContextProvider getLoginContextProvider(ContentRepository
contentRepository);
+ LoginContextProvider getLoginContextProvider(@NotNull ContentRepository
contentRepository);
}
Modified:
jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/LoginModuleStatsCollector.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/LoginModuleStatsCollector.java?rev=1859377&r1=1859376&r2=1859377&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/LoginModuleStatsCollector.java
(original)
+++
jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/LoginModuleStatsCollector.java
Thu May 16 13:09:47 2019
@@ -16,11 +16,12 @@
*/
package org.apache.jackrabbit.oak.spi.security.authentication;
+import org.jetbrains.annotations.NotNull;
import org.osgi.annotation.versioning.ProviderType;
@ProviderType
public interface LoginModuleStatsCollector {
- void setLoginModuleMonitor(LoginModuleMonitor lmm);
+ void setLoginModuleMonitor(@NotNull LoginModuleMonitor lmm);
}
Modified:
jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/OpenAuthenticationConfiguration.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/OpenAuthenticationConfiguration.java?rev=1859377&r1=1859376&r2=1859377&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/OpenAuthenticationConfiguration.java
(original)
+++
jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/OpenAuthenticationConfiguration.java
Thu May 16 13:09:47 2019
@@ -32,7 +32,7 @@ public class OpenAuthenticationConfigura
@NotNull
@Override
- public LoginContextProvider getLoginContextProvider(ContentRepository
contentRepository) {
+ public LoginContextProvider getLoginContextProvider(@NotNull
ContentRepository contentRepository) {
return new LoginContextProvider() {
@NotNull
@Override
Modified:
jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/package-info.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/package-info.java?rev=1859377&r1=1859376&r2=1859377&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/package-info.java
(original)
+++
jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/package-info.java
Thu May 16 13:09:47 2019
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-@Version("1.3.0")
+@Version("1.3.1")
package org.apache.jackrabbit.oak.spi.security.authentication;
import org.osgi.annotation.versioning.Version;