1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.myfaces.custom.security;
20
21 import javax.faces.el.EvaluationException;
22
23 import junit.framework.Test;
24 import junit.framework.TestSuite;
25
26 import org.apache.shale.test.base.AbstractJsfTestCase;
27
28
29
30
31
32 public class SecurityContextVariableResolverTest extends AbstractJsfTestCase{
33
34 protected SecurityContextVariableResolver resolver;
35
36 public SecurityContextVariableResolverTest(String testName) {
37 super(testName);
38 }
39
40 public void setUp() throws Exception{
41 super.setUp();
42 resolver = new SecurityContextVariableResolver(null);
43 }
44
45 public void tearDown() throws Exception{
46 super.tearDown();
47 resolver = null;
48 }
49
50 public static Test suite() {
51 return new TestSuite(SecurityContextVariableResolverTest.class);
52 }
53
54 public void testSecurityContextImplIsDefaultImplWhenNoCustomImplIsConfigured() {
55 SecurityContext securityContext = (SecurityContext)resolver.resolveVariable(facesContext, "securityContext");
56 assertTrue(securityContext instanceof SecurityContextImpl);
57 }
58
59 public void testSecurityContextImplIsCustomWhenCustomImplIsConfigured() {
60 servletContext.addInitParameter("org.apache.myfaces.SECURITY_CONTEXT", "org.apache.myfaces.custom.security.CustomSecurityContextImpl");
61 SecurityContext securityContext = (SecurityContext)resolver.resolveVariable(facesContext, "securityContext");
62 assertFalse(securityContext instanceof SecurityContextImpl);
63 assertTrue(securityContext instanceof CustomSecurityContextImpl);
64 }
65
66 public void testExceptionMustBeThrownWhenAnInvalidImplIsConfigured() {
67 servletContext.addInitParameter("org.apache.myfaces.SECURITY_CONTEXT", "this.class.does.not.exist");
68 try {
69 resolver.resolveVariable(facesContext, "securityContext");
70 }catch(EvaluationException evaluationException) {
71 return;
72 }
73 fail();
74
75 }
76 }