2
0
Эх сурвалжийг харах

SEC-1430: Forgot to commit changes to new ExceptionMappingAuthenticationFailureHandlerTests.

Luke Taylor 15 жил өмнө
parent
commit
183333d189

+ 36 - 5
web/src/test/java/org/springframework/security/web/authentication/ExceptionMappingAuthenticationFailureHandlerTests.java

@@ -1,11 +1,42 @@
 package org.springframework.security.web.authentication;
 
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+import org.springframework.mock.web.MockHttpServletRequest;
+import org.springframework.mock.web.MockHttpServletResponse;
+import org.springframework.security.authentication.BadCredentialsException;
+
+import javax.servlet.ServletException;
+import java.io.IOException;
+import java.util.HashMap;
+
 /**
- * Created by IntelliJ IDEA.
- * User: luke
- * Date: Aug 8, 2010
- * Time: 5:13:18 PM
- * To change this template use File | Settings | File Templates.
+ * @author Luke Taylor
  */
 public class ExceptionMappingAuthenticationFailureHandlerTests {
+
+    @Test
+    public void defaultTargetUrlIsUsedIfNoMappingExists() throws Exception {
+        ExceptionMappingAuthenticationFailureHandler fh = new ExceptionMappingAuthenticationFailureHandler();
+        fh.setDefaultFailureUrl("/failed");
+        MockHttpServletResponse response = new MockHttpServletResponse();
+        fh.onAuthenticationFailure(new MockHttpServletRequest(), response, new BadCredentialsException(""));
+
+        assertEquals("/failed", response.getRedirectedUrl());
+    }
+
+    @Test
+    public void exceptionMapIsUsedIfMappingExists() throws Exception {
+        ExceptionMappingAuthenticationFailureHandler fh = new ExceptionMappingAuthenticationFailureHandler();
+        HashMap<String, String> mapping = new HashMap<String, String>();
+        mapping.put("org.springframework.security.authentication.BadCredentialsException", "/badcreds");
+        fh.setExceptionMappings(mapping);
+        fh.setDefaultFailureUrl("/failed");
+        MockHttpServletResponse response = new MockHttpServletResponse();
+        fh.onAuthenticationFailure(new MockHttpServletRequest(), response, new BadCredentialsException(""));
+
+        assertEquals("/badcreds", response.getRedirectedUrl());
+    }
+
 }