1 changed files with 116 additions and 0 deletions
@ -0,0 +1,116 @@
@@ -0,0 +1,116 @@
|
||||
package net.sf.acegisecurity.ui.x509; |
||||
|
||||
import junit.framework.TestCase; |
||||
|
||||
//import org.mortbay.http.*;
|
||||
//import org.mortbay.jetty.servlet.*;
|
||||
|
||||
import java.net.URL; |
||||
import java.io.IOException; |
||||
import java.security.cert.X509Certificate; |
||||
|
||||
import net.sf.acegisecurity.*; |
||||
import net.sf.acegisecurity.context.security.SecureContext; |
||||
import net.sf.acegisecurity.context.security.SecureContextUtils; |
||||
import net.sf.acegisecurity.context.security.SecureContextImpl; |
||||
import net.sf.acegisecurity.context.ContextHolder; |
||||
import net.sf.acegisecurity.providers.x509.X509TestUtils; |
||||
import net.sf.acegisecurity.ui.cas.CasProcessingFilter; |
||||
|
||||
import javax.servlet.FilterChain; |
||||
import javax.servlet.ServletRequest; |
||||
import javax.servlet.ServletResponse; |
||||
import javax.servlet.ServletException; |
||||
|
||||
/** |
||||
* @author Luke |
||||
*/ |
||||
public class X509ProcessingFilterTests extends TestCase { |
||||
//~ Constructors ===========================================================
|
||||
|
||||
public X509ProcessingFilterTests() { |
||||
super(); |
||||
} |
||||
|
||||
public X509ProcessingFilterTests(String arg0) { |
||||
super(arg0); |
||||
} |
||||
|
||||
//~ Methods ================================================================
|
||||
|
||||
public final void setUp() throws Exception { |
||||
super.setUp(); |
||||
} |
||||
|
||||
public void testNormalOperation() throws Exception { |
||||
MockHttpServletRequest request = new MockHttpServletRequest(null, new MockHttpSession()); |
||||
MockHttpServletResponse response = new MockHttpServletResponse(); |
||||
FilterChain chain = new MockFilterChain(); |
||||
|
||||
request.setAttribute("javax.servlet.request.X509Certificate", |
||||
new X509Certificate[] {X509TestUtils.buildTestCertificate()}); |
||||
|
||||
MockAuthenticationManager authMgr = new MockAuthenticationManager(true); |
||||
|
||||
ContextHolder.setContext(new SecureContextImpl()); |
||||
|
||||
SecureContext ctx = SecureContextUtils.getSecureContext(); |
||||
|
||||
ctx.setAuthentication(null); |
||||
|
||||
X509ProcessingFilter filter = new X509ProcessingFilter(); |
||||
|
||||
filter.setAuthenticationManager(authMgr); |
||||
filter.afterPropertiesSet(); |
||||
filter.init(null); |
||||
filter.doFilter(request, response, chain); |
||||
|
||||
Authentication result = ctx.getAuthentication(); |
||||
|
||||
assertNotNull(result); |
||||
} |
||||
|
||||
//~ Inner Classes ==========================================================
|
||||
|
||||
private class MockFilterChain implements FilterChain { |
||||
public void doFilter(ServletRequest arg0, ServletResponse arg1) |
||||
throws IOException, ServletException { |
||||
// do nothing.
|
||||
} |
||||
} |
||||
// public void testFilterIntegration() throws Exception {
|
||||
//
|
||||
// // set up server.
|
||||
// HttpServer server = new HttpServer();
|
||||
// try {
|
||||
// SunJsseListener listener = new SunJsseListener();
|
||||
// listener.setNeedClientAuth(true);
|
||||
// listener.setPort(9443);
|
||||
//// listener.setKeystore();
|
||||
//
|
||||
// server.addListener(listener);
|
||||
//
|
||||
// // map servlet.
|
||||
// HttpContext context = server.getContext("/");
|
||||
//
|
||||
//// ServletHandler handler = new ServletHandler();
|
||||
//// handler.addServlet("MyServlet", "/myServlet", MyServlet.class.getName());
|
||||
//// context.addHandler(handler);
|
||||
//
|
||||
// // start server.
|
||||
// server.start();
|
||||
//
|
||||
// // test client code against url.
|
||||
// URL url = new URL("http://localhost:" + 9443 + "/myServlet");
|
||||
//
|
||||
//
|
||||
//
|
||||
// }
|
||||
// finally {
|
||||
// server.stop();
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
|
||||
} |
||||
Loading…
Reference in new issue