You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by rl...@apache.org on 2017/06/22 17:30:08 UTC
[3/4] ambari git commit: AMBARI-21216. Add support for consecutive
login failure accounting (rlevas)
http://git-wip-us.apache.org/repos/asf/ambari/blob/f760516c/ambari-server/src/test/java/org/apache/ambari/server/security/authentication/AmbariJWTAuthenticationFilterTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/security/authentication/AmbariJWTAuthenticationFilterTest.java b/ambari-server/src/test/java/org/apache/ambari/server/security/authentication/AmbariJWTAuthenticationFilterTest.java
index 961e65d..14c1032 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/security/authentication/AmbariJWTAuthenticationFilterTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/security/authentication/AmbariJWTAuthenticationFilterTest.java
@@ -18,8 +18,12 @@
package org.apache.ambari.server.security.authentication;
+import static org.easymock.EasyMock.anyObject;
+import static org.easymock.EasyMock.capture;
+import static org.easymock.EasyMock.eq;
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.expectLastCall;
+import static org.easymock.EasyMock.newCapture;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
@@ -28,24 +32,31 @@ import java.security.interfaces.RSAPrivateKey;
import java.security.interfaces.RSAPublicKey;
import java.util.Calendar;
import java.util.Collections;
-import java.util.Date;
+import java.util.List;
import javax.servlet.FilterChain;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.apache.ambari.server.audit.AuditLogger;
import org.apache.ambari.server.configuration.Configuration;
import org.apache.ambari.server.orm.entities.UserAuthenticationEntity;
import org.apache.ambari.server.orm.entities.UserEntity;
import org.apache.ambari.server.security.AmbariEntryPoint;
-import org.apache.ambari.server.security.authorization.PermissionHelper;
+import org.apache.ambari.server.security.authorization.AmbariGrantedAuthority;
+import org.apache.ambari.server.security.authorization.User;
+import org.apache.ambari.server.security.authorization.UserAuthenticationType;
import org.apache.ambari.server.security.authorization.Users;
import org.apache.ambari.server.security.authorization.jwt.JwtAuthenticationProperties;
+import org.easymock.Capture;
+import org.easymock.CaptureType;
import org.easymock.EasyMockSupport;
+import org.junit.Assert;
+import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.context.SecurityContextHolder;
import com.nimbusds.jose.JOSEException;
import com.nimbusds.jose.JWSAlgorithm;
@@ -58,6 +69,14 @@ public class AmbariJWTAuthenticationFilterTest extends EasyMockSupport {
private static RSAPublicKey publicKey;
private static RSAPrivateKey privateKey;
+ private AmbariAuthenticationEventHandler eventHandler;
+
+ private AmbariEntryPoint entryPoint;
+
+ private Configuration configuration;
+
+ private Users users;
+
@BeforeClass
public static void generateKeyPair() throws NoSuchAlgorithmException {
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
@@ -67,11 +86,9 @@ public class AmbariJWTAuthenticationFilterTest extends EasyMockSupport {
privateKey = (RSAPrivateKey) keyPair.getPrivate();
}
- @Test
- public void testDoFilterSuccess() throws Exception {
- SignedJWT token = getSignedToken("foobar");
-
- AmbariEntryPoint entryPoint = createMock(AmbariEntryPoint.class);
+ @Before
+ public void setUp() {
+ SecurityContextHolder.getContext().setAuthentication(null);
JwtAuthenticationProperties properties = createMock(JwtAuthenticationProperties.class);
expect(properties.getAuthenticationProviderUrl()).andReturn("some url").once();
@@ -80,96 +97,115 @@ public class AmbariJWTAuthenticationFilterTest extends EasyMockSupport {
expect(properties.getCookieName()).andReturn("chocolate chip").once();
expect(properties.getOriginalUrlQueryParam()).andReturn("question").once();
- Configuration configuration = createMock(Configuration.class);
+ users = createMock(Users.class);
+ eventHandler = createMock(AmbariAuthenticationEventHandler.class);
+ entryPoint = createMock(AmbariEntryPoint.class);
+ configuration = createMock(Configuration.class);
+
expect(configuration.getJwtProperties()).andReturn(properties).once();
+ }
- UserEntity userEntity = createMock(UserEntity.class);
- expect(userEntity.getAuthenticationEntities()).andReturn(Collections.<UserAuthenticationEntity>emptyList()).once();
- Users users = createMock(Users.class);
- expect(users.getUserEntity("test-user")).andReturn(userEntity).once();
+ @Test (expected = IllegalArgumentException.class)
+ public void ensureNonNullEventHandler() {
+ new AmbariJWTAuthenticationFilter(entryPoint, configuration, users, null);
+ }
+
+ @Test
+ public void testDoFilterSuccessful() throws Exception {
+ Capture<? extends AmbariAuthenticationFilter> captureFilter = newCapture(CaptureType.ALL);
- AuditLogger auditLogger = createMock(AuditLogger.class);
- expect(auditLogger.isEnabled()).andReturn(false).times(2);
+ SignedJWT token = getSignedToken();
- PermissionHelper permissionHelper = createMock(PermissionHelper.class);
+ HttpServletRequest request = createMock(HttpServletRequest.class);
+ HttpServletResponse response = createMock(HttpServletResponse.class);
+ FilterChain filterChain = createMock(FilterChain.class);
Cookie cookie = createMock(Cookie.class);
expect(cookie.getName()).andReturn("chocolate chip").once();
expect(cookie.getValue()).andReturn(token.serialize()).once();
+ expect(request.getCookies()).andReturn(new Cookie[]{cookie}).once();
+
+ UserAuthenticationEntity userAuthenticationEntity = createMock(UserAuthenticationEntity.class);
+ expect(userAuthenticationEntity.getAuthenticationType()).andReturn(UserAuthenticationType.JWT).anyTimes();
- HttpServletRequest servletRequest = createMock(HttpServletRequest.class);
- expect(servletRequest.getCookies()).andReturn(new Cookie[]{cookie}).once();
+ UserEntity userEntity = createMock(UserEntity.class);
+ expect(userEntity.getAuthenticationEntities()).andReturn(Collections.singletonList(userAuthenticationEntity)).once();
- HttpServletResponse servletResponse = createMock(HttpServletResponse.class);
+ expect(users.getUserEntity("test-user")).andReturn(userEntity).once();
+ expect(users.getUserAuthorities(userEntity)).andReturn(Collections.<AmbariGrantedAuthority>emptyList()).once();
+ expect(users.getUser(userEntity)).andReturn(createMock(User.class)).once();
- FilterChain filterChain = createMock(FilterChain.class);
- filterChain.doFilter(servletRequest, servletResponse);
+ eventHandler.beforeAttemptAuthentication(capture(captureFilter), eq(request), eq(response));
+ expectLastCall().once();
+ eventHandler.onSuccessfulAuthentication(capture(captureFilter), eq(request), eq(response), anyObject(Authentication.class));
expectLastCall().once();
- replayAll();
+ filterChain.doFilter(request, response);
+ expectLastCall().once();
- AmbariJWTAuthenticationFilter filter = new AmbariJWTAuthenticationFilter(entryPoint, configuration, users, auditLogger, permissionHelper);
- filter.doFilter(servletRequest, servletResponse, filterChain);
+ replayAll();
+ // WHEN
+ AmbariJWTAuthenticationFilter filter = new AmbariJWTAuthenticationFilter(entryPoint, configuration, users, eventHandler);
+ filter.doFilter(request, response, filterChain);
+ // THEN
verifyAll();
- }
- @Test
- public void testDoFilterFailure() throws Exception {
- AmbariEntryPoint entryPoint = createMock(AmbariEntryPoint.class);
-
- JwtAuthenticationProperties properties = createMock(JwtAuthenticationProperties.class);
- expect(properties.getAuthenticationProviderUrl()).andReturn("some url").once();
- expect(properties.getPublicKey()).andReturn(publicKey).once();
- expect(properties.getAudiences()).andReturn(Collections.singletonList("foobar")).once();
- expect(properties.getCookieName()).andReturn("chocolate chip").once();
- expect(properties.getOriginalUrlQueryParam()).andReturn("question").once();
-
- Configuration configuration = createMock(Configuration.class);
- expect(configuration.getJwtProperties()).andReturn(properties).once();
+ List<? extends AmbariAuthenticationFilter> capturedFilters = captureFilter.getValues();
+ for(AmbariAuthenticationFilter capturedFiltered : capturedFilters) {
+ Assert.assertSame(filter, capturedFiltered);
+ }
+ }
- Users users = createMock(Users.class);
- AuditLogger auditLogger = createMock(AuditLogger.class);
- expect(auditLogger.isEnabled()).andReturn(false).times(2);
+ @Test
+ public void testDoFilterUnsuccessful() throws Exception {
+ Capture<? extends AmbariAuthenticationFilter> captureFilter = newCapture(CaptureType.ALL);
- PermissionHelper permissionHelper = createMock(PermissionHelper.class);
+ SignedJWT token = getSignedToken();
+ // GIVEN
+ HttpServletRequest request = createMock(HttpServletRequest.class);
+ HttpServletResponse response = createMock(HttpServletResponse.class);
+ FilterChain filterChain = createMock(FilterChain.class);
Cookie cookie = createMock(Cookie.class);
expect(cookie.getName()).andReturn("chocolate chip").once();
- expect(cookie.getValue()).andReturn("invalid token").once();
+ expect(cookie.getValue()).andReturn(token.serialize()).once();
+ expect(request.getCookies()).andReturn(new Cookie[]{cookie}).once();
- HttpServletRequest servletRequest = createMock(HttpServletRequest.class);
- expect(servletRequest.getCookies()).andReturn(new Cookie[]{cookie}).once();
+ expect(users.getUserEntity("test-user")).andReturn(null).once();
- HttpServletResponse servletResponse = createMock(HttpServletResponse.class);
+ eventHandler.beforeAttemptAuthentication(capture(captureFilter), eq(request), eq(response));
+ expectLastCall().once();
+ eventHandler.onUnsuccessfulAuthentication(capture(captureFilter), eq(request), eq(response), anyObject(AmbariAuthenticationException.class));
+ expectLastCall().once();
- FilterChain filterChain = createMock(FilterChain.class);
- filterChain.doFilter(servletRequest, servletResponse);
+ entryPoint.commence(eq(request), eq(response), anyObject(AmbariAuthenticationException.class));
expectLastCall().once();
replayAll();
-
- AmbariJWTAuthenticationFilter filter = new AmbariJWTAuthenticationFilter(entryPoint, configuration, users, auditLogger, permissionHelper);
- filter.doFilter(servletRequest, servletResponse, filterChain);
-
+ // WHEN
+ AmbariJWTAuthenticationFilter filter = new AmbariJWTAuthenticationFilter(entryPoint, configuration, users, eventHandler);
+ filter.doFilter(request, response, filterChain);
+ // THEN
verifyAll();
- }
-
- private SignedJWT getSignedToken(String audience) throws JOSEException {
- Calendar calendar = Calendar.getInstance();
- calendar.setTimeInMillis(System.currentTimeMillis());
- calendar.add(Calendar.DATE, 1); //add one day
- return getSignedToken(calendar.getTime(), audience);
+ List<? extends AmbariAuthenticationFilter> capturedFilters = captureFilter.getValues();
+ for (AmbariAuthenticationFilter capturedFiltered : capturedFilters) {
+ Assert.assertSame(filter, capturedFiltered);
+ }
}
- private SignedJWT getSignedToken(Date expirationTime, String audience) throws JOSEException {
+ private SignedJWT getSignedToken() throws JOSEException {
RSASSASigner signer = new RSASSASigner(privateKey);
+ Calendar expirationTime = Calendar.getInstance();
+ expirationTime.setTimeInMillis(System.currentTimeMillis());
+ expirationTime.add(Calendar.DATE, 1); //add one day
+
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
JWTClaimsSet claimsSet = new JWTClaimsSet();
@@ -177,9 +213,9 @@ public class AmbariJWTAuthenticationFilterTest extends EasyMockSupport {
claimsSet.setIssuer("unit-test");
claimsSet.setIssueTime(calendar.getTime());
- claimsSet.setExpirationTime(expirationTime);
+ claimsSet.setExpirationTime(expirationTime.getTime());
- claimsSet.setAudience(audience);
+ claimsSet.setAudience("foobar");
SignedJWT signedJWT = new SignedJWT(new JWSHeader(JWSAlgorithm.RS256), claimsSet);
signedJWT.sign(signer);
http://git-wip-us.apache.org/repos/asf/ambari/blob/f760516c/ambari-server/src/test/java/org/apache/ambari/server/security/authentication/kerberos/AmbariKerberosAuthenticationFilterTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/security/authentication/kerberos/AmbariKerberosAuthenticationFilterTest.java b/ambari-server/src/test/java/org/apache/ambari/server/security/authentication/kerberos/AmbariKerberosAuthenticationFilterTest.java
index 5503fac..a0b7aca 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/security/authentication/kerberos/AmbariKerberosAuthenticationFilterTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/security/authentication/kerberos/AmbariKerberosAuthenticationFilterTest.java
@@ -18,35 +18,71 @@
package org.apache.ambari.server.security.authentication.kerberos;
+import static org.easymock.EasyMock.anyObject;
+import static org.easymock.EasyMock.capture;
+import static org.easymock.EasyMock.eq;
import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.expectLastCall;
+import static org.easymock.EasyMock.getCurrentArguments;
+import static org.easymock.EasyMock.newCapture;
+import java.io.IOException;
+import java.util.List;
+
+import javax.servlet.FilterChain;
+import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
-import org.apache.ambari.server.audit.AuditLogger;
import org.apache.ambari.server.configuration.Configuration;
-import org.apache.ambari.server.security.authorization.PermissionHelper;
+import org.apache.ambari.server.security.AmbariEntryPoint;
+import org.apache.ambari.server.security.authentication.AmbariAuthenticationEventHandler;
+import org.apache.ambari.server.security.authentication.AmbariAuthenticationException;
+import org.apache.ambari.server.security.authentication.AmbariAuthenticationFilter;
+import org.apache.ambari.server.security.authentication.InvalidUsernamePasswordCombinationException;
+import org.easymock.Capture;
+import org.easymock.CaptureType;
import org.easymock.EasyMockSupport;
+import org.easymock.IAnswer;
import org.junit.Assert;
+import org.junit.Before;
import org.junit.Test;
import org.springframework.security.authentication.AuthenticationManager;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.web.AuthenticationEntryPoint;
public class AmbariKerberosAuthenticationFilterTest extends EasyMockSupport {
+ private Configuration configuration;
+
+ private AuthenticationEntryPoint entryPoint;
+
+ private AuthenticationManager authenticationManager;
+
+ private AmbariAuthenticationEventHandler eventHandler;
+
+ @Before
+ public void setUp() {
+ SecurityContextHolder.getContext().setAuthentication(null);
+
+ entryPoint = createMock(AmbariEntryPoint.class);
+ configuration = createMock(Configuration.class);
+ authenticationManager = createMock(AuthenticationManager.class);
+ eventHandler = createMock(AmbariAuthenticationEventHandler.class);
+ }
+
+ @Test (expected = IllegalArgumentException.class)
+ public void ensureNonNullEventHandler() {
+ new AmbariKerberosAuthenticationFilter(authenticationManager, entryPoint, configuration, null);
+ }
+
@Test
public void shouldApplyTrue() throws Exception {
HttpServletRequest httpServletRequest = createMock(HttpServletRequest.class);
expect(httpServletRequest.getHeader("Authorization")).andReturn("Negotiate .....").once();
- AmbariKerberosAuthenticationProperties properties = createMock(AmbariKerberosAuthenticationProperties.class);
- expect(properties.isKerberosAuthenticationEnabled()).andReturn(true).once();
-
- Configuration configuration = createMock(Configuration.class);
- expect(configuration.getKerberosAuthenticationProperties()).andReturn(properties).once();
-
- AuthenticationManager authenticationManager = createMock(AuthenticationManager.class);
- AuthenticationEntryPoint entryPoint = createMock(AuthenticationEntryPoint.class);
- AuditLogger auditLogger = createMock(AuditLogger.class);
- PermissionHelper permissionHelper = createMock(PermissionHelper.class);
+ expect(configuration.getKerberosAuthenticationProperties()).andReturn(createProperties(true)).once();
replayAll();
@@ -54,8 +90,7 @@ public class AmbariKerberosAuthenticationFilterTest extends EasyMockSupport {
authenticationManager,
entryPoint,
configuration,
- auditLogger,
- permissionHelper
+ eventHandler
);
Assert.assertTrue(filter.shouldApply(httpServletRequest));
@@ -68,16 +103,7 @@ public class AmbariKerberosAuthenticationFilterTest extends EasyMockSupport {
HttpServletRequest httpServletRequest = createMock(HttpServletRequest.class);
expect(httpServletRequest.getHeader("Authorization")).andReturn(null).once();
- AmbariKerberosAuthenticationProperties properties = createMock(AmbariKerberosAuthenticationProperties.class);
- expect(properties.isKerberosAuthenticationEnabled()).andReturn(true).once();
-
- Configuration configuration = createMock(Configuration.class);
- expect(configuration.getKerberosAuthenticationProperties()).andReturn(properties).once();
-
- AuthenticationManager authenticationManager = createMock(AuthenticationManager.class);
- AuthenticationEntryPoint entryPoint = createMock(AuthenticationEntryPoint.class);
- AuditLogger auditLogger = createMock(AuditLogger.class);
- PermissionHelper permissionHelper = createMock(PermissionHelper.class);
+ expect(configuration.getKerberosAuthenticationProperties()).andReturn(createProperties(true)).once();
replayAll();
@@ -85,8 +111,7 @@ public class AmbariKerberosAuthenticationFilterTest extends EasyMockSupport {
authenticationManager,
entryPoint,
configuration,
- auditLogger,
- permissionHelper
+ eventHandler
);
Assert.assertFalse(filter.shouldApply(httpServletRequest));
@@ -98,16 +123,7 @@ public class AmbariKerberosAuthenticationFilterTest extends EasyMockSupport {
public void shouldApplyNotFalseEnabled() throws Exception {
HttpServletRequest httpServletRequest = createMock(HttpServletRequest.class);
- AmbariKerberosAuthenticationProperties properties = createMock(AmbariKerberosAuthenticationProperties.class);
- expect(properties.isKerberosAuthenticationEnabled()).andReturn(false).once();
-
- Configuration configuration = createMock(Configuration.class);
- expect(configuration.getKerberosAuthenticationProperties()).andReturn(properties).once();
-
- AuthenticationManager authenticationManager = createMock(AuthenticationManager.class);
- AuthenticationEntryPoint entryPoint = createMock(AuthenticationEntryPoint.class);
- AuditLogger auditLogger = createMock(AuditLogger.class);
- PermissionHelper permissionHelper = createMock(PermissionHelper.class);
+ expect(configuration.getKerberosAuthenticationProperties()).andReturn(createProperties(false)).once();
replayAll();
@@ -115,8 +131,7 @@ public class AmbariKerberosAuthenticationFilterTest extends EasyMockSupport {
authenticationManager,
entryPoint,
configuration,
- auditLogger,
- permissionHelper
+ eventHandler
);
Assert.assertFalse(filter.shouldApply(httpServletRequest));
@@ -125,9 +140,95 @@ public class AmbariKerberosAuthenticationFilterTest extends EasyMockSupport {
}
@Test
- public void doFilter() throws Exception {
- // Skip this test since the real work is being done by SpnegoAuthenticationProcessingFilter, which
- // is a class in the Spring libraries.
+ public void testDoFilterSuccessful() throws IOException, ServletException {
+ Capture<? extends AmbariAuthenticationFilter> captureFilter = newCapture(CaptureType.ALL);
+
+ // GIVEN
+ HttpServletRequest request = createMock(HttpServletRequest.class);
+ HttpServletResponse response = createMock(HttpServletResponse.class);
+ HttpSession session = createMock(HttpSession.class);
+ FilterChain filterChain = createMock(FilterChain.class);
+
+ expect(request.getHeader("Authorization")).andReturn("Negotiate ").once();
+ expect(request.getRemoteAddr()).andReturn("1.2.3.4").once();
+ expect(request.getSession(false)).andReturn(session).once();
+ expect(session.getId()).andReturn("sessionID").once();
+
+ expect(authenticationManager.authenticate(anyObject(Authentication.class)))
+ .andAnswer(new IAnswer<Authentication>() {
+ @Override
+ public Authentication answer() throws Throwable {
+ return (Authentication) getCurrentArguments()[0];
+ }
+ })
+ .anyTimes();
+
+ expect(configuration.getKerberosAuthenticationProperties()).andReturn(createProperties(true)).once();
+
+ eventHandler.beforeAttemptAuthentication(capture(captureFilter), eq(request), eq(response));
+ expectLastCall().once();
+ eventHandler.onSuccessfulAuthentication(capture(captureFilter), eq(request), eq(response), anyObject(Authentication.class));
+ expectLastCall().once();
+
+ filterChain.doFilter(request, response);
+ expectLastCall().once();
+
+ replayAll();
+ // WHEN
+ AmbariAuthenticationFilter filter = new AmbariKerberosAuthenticationFilter(authenticationManager, entryPoint, configuration, eventHandler);
+ filter.doFilter(request, response, filterChain);
+ // THEN
+ verifyAll();
+
+ List<? extends AmbariAuthenticationFilter> capturedFilters = captureFilter.getValues();
+ for (AmbariAuthenticationFilter capturedFiltered : capturedFilters) {
+ Assert.assertSame(filter, capturedFiltered);
+ }
}
+ @Test
+ public void testDoFilterUnsuccessful() throws IOException, ServletException {
+ Capture<? extends AmbariAuthenticationFilter> captureFilter = newCapture(CaptureType.ALL);
+
+ // GIVEN
+ HttpServletRequest request = createMock(HttpServletRequest.class);
+ HttpServletResponse response = createMock(HttpServletResponse.class);
+ HttpSession session = createMock(HttpSession.class);
+ FilterChain filterChain = createMock(FilterChain.class);
+
+ expect(request.getHeader("Authorization")).andReturn("Negotiate ").once();
+ expect(request.getRemoteAddr()).andReturn("1.2.3.4").once();
+ expect(request.getSession(false)).andReturn(session).once();
+ expect(session.getId()).andReturn("sessionID").once();
+
+ expect(authenticationManager.authenticate(anyObject(Authentication.class))).andThrow(new InvalidUsernamePasswordCombinationException("user")).once();
+
+ expect(configuration.getKerberosAuthenticationProperties()).andReturn(createProperties(true)).once();
+
+ eventHandler.beforeAttemptAuthentication(capture(captureFilter), eq(request), eq(response));
+ expectLastCall().once();
+ eventHandler.onUnsuccessfulAuthentication(capture(captureFilter), eq(request), eq(response), anyObject(AmbariAuthenticationException.class));
+ expectLastCall().once();
+
+ entryPoint.commence(eq(request), eq(response), anyObject(AmbariAuthenticationException.class));
+ expectLastCall().once();
+
+ replayAll();
+ // WHEN
+ AmbariAuthenticationFilter filter = new AmbariKerberosAuthenticationFilter(authenticationManager, entryPoint, configuration, eventHandler);
+ filter.doFilter(request, response, filterChain);
+ // THEN
+ verifyAll();
+
+ List<? extends AmbariAuthenticationFilter> capturedFilters = captureFilter.getValues();
+ for (AmbariAuthenticationFilter capturedFiltered : capturedFilters) {
+ Assert.assertSame(filter, capturedFiltered);
+ }
+ }
+
+ private AmbariKerberosAuthenticationProperties createProperties(Boolean enabled) {
+ AmbariKerberosAuthenticationProperties properties = createMock(AmbariKerberosAuthenticationProperties.class);
+ expect(properties.isKerberosAuthenticationEnabled()).andReturn(enabled).once();
+ return properties;
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/f760516c/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationProviderDisableUserTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationProviderDisableUserTest.java b/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationProviderDisableUserTest.java
index 33100dd..fea7fb9 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationProviderDisableUserTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationProviderDisableUserTest.java
@@ -26,6 +26,7 @@ import org.apache.ambari.server.orm.dao.UserDAO;
import org.apache.ambari.server.orm.entities.PrincipalEntity;
import org.apache.ambari.server.orm.entities.UserAuthenticationEntity;
import org.apache.ambari.server.orm.entities.UserEntity;
+import org.apache.ambari.server.security.authentication.InvalidUsernamePasswordCombinationException;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/ambari/blob/f760516c/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLdapAuthenticationProviderForDNWithSpaceTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLdapAuthenticationProviderForDNWithSpaceTest.java b/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLdapAuthenticationProviderForDNWithSpaceTest.java
index 1bf122e..fd967c2 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLdapAuthenticationProviderForDNWithSpaceTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLdapAuthenticationProviderForDNWithSpaceTest.java
@@ -30,6 +30,7 @@ import org.apache.ambari.server.orm.GuiceJpaInitializer;
import org.apache.ambari.server.orm.dao.UserDAO;
import org.apache.ambari.server.orm.entities.UserEntity;
import org.apache.ambari.server.security.ClientSecurityType;
+import org.apache.ambari.server.security.authentication.InvalidUsernamePasswordCombinationException;
import org.apache.directory.server.annotations.CreateLdapServer;
import org.apache.directory.server.annotations.CreateTransport;
import org.apache.directory.server.core.annotations.ApplyLdifFiles;
http://git-wip-us.apache.org/repos/asf/ambari/blob/f760516c/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLdapAuthenticationProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLdapAuthenticationProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLdapAuthenticationProviderTest.java
index d9eb335..a613a18 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLdapAuthenticationProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLdapAuthenticationProviderTest.java
@@ -33,6 +33,7 @@ import org.apache.ambari.server.orm.GuiceJpaInitializer;
import org.apache.ambari.server.orm.dao.UserDAO;
import org.apache.ambari.server.orm.entities.UserEntity;
import org.apache.ambari.server.security.ClientSecurityType;
+import org.apache.ambari.server.security.authentication.InvalidUsernamePasswordCombinationException;
import org.apache.directory.server.annotations.CreateLdapServer;
import org.apache.directory.server.annotations.CreateTransport;
import org.apache.directory.server.core.annotations.ApplyLdifFiles;
http://git-wip-us.apache.org/repos/asf/ambari/blob/f760516c/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLocalUserProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLocalUserProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLocalUserProviderTest.java
index 65a5400..133fc9f 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLocalUserProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLocalUserProviderTest.java
@@ -35,6 +35,7 @@ import org.apache.ambari.server.orm.dao.UserDAO;
import org.apache.ambari.server.orm.entities.PrincipalEntity;
import org.apache.ambari.server.orm.entities.UserAuthenticationEntity;
import org.apache.ambari.server.orm.entities.UserEntity;
+import org.apache.ambari.server.security.authentication.InvalidUsernamePasswordCombinationException;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;