package net.petrikainulainen.spring.datasolr.security.authentication; import org.junit.Before; import org.junit.Test; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; import org.springframework.security.authentication.BadCredentialsException; import org.springframework.security.core.AuthenticationException; import javax.servlet.ServletException; import java.io.IOException; import static junit.framework.Assert.assertEquals; /** * @author Petri Kainulainen */ public class RestAuthenticationFailureHandlerTest { private RestAuthenticationFailureHandler failureHandler; @Before public void setUp() { failureHandler = new RestAuthenticationFailureHandler(); } @Test public void onAuthenticationFailure_ShouldSetResponseStatusToUnauthorized() throws IOException, ServletException { MockHttpServletRequest request = new MockHttpServletRequest(); MockHttpServletResponse response = new MockHttpServletResponse(); AuthenticationException ex = new BadCredentialsException(""); failureHandler.onAuthenticationFailure(request, response, ex); assertEquals(MockHttpServletResponse.SC_UNAUTHORIZED, response.getStatus()); assertEquals(RestAuthenticationFailureHandler.STATUS_MESSAGE_AUTHENTICATION_FAILED, response.getErrorMessage()); } }