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;


Reply via email to