1
2
3
4 package org.melati.login.test;
5
6
7 import javax.servlet.http.HttpServletRequest;
8 import javax.servlet.http.HttpServletResponse;
9 import javax.servlet.http.HttpSession;
10
11 import org.melati.login.HttpSessionAccessHandler;
12 import org.melati.poem.util.EmptyEnumeration;
13 import org.melati.util.HttpServletRequestParameters;
14
15 import com.mockobjects.constraint.Constraint;
16 import com.mockobjects.constraint.IsEqual;
17 import com.mockobjects.constraint.IsInstanceOf;
18 import com.mockobjects.dynamic.Mock;
19 import com.mockobjects.dynamic.OrderedMock;
20
21
22
23
24
25 public class HttpSessionAccessHandlerTest extends AccessHandlerTestAbstract {
26
27
28
29
30 public HttpSessionAccessHandlerTest(String name) {
31 super(name);
32 }
33
34 public void setUp() throws Exception {
35 super.setUp();
36 Mock mockSession = new Mock(HttpSession.class);
37 mockSession.expectAndReturn("getId", null);
38 mockSession.expectAndReturn("getId", null);
39 mockSession.expectAndReturn("getId", null);
40 Mock mockHttpServletRequest = new Mock(HttpServletRequest.class);
41 mockHttpServletRequest.expectAndReturn( "getParameterNames", new EmptyEnumeration());
42 mockHttpServletRequest.expectAndReturn("getContextPath", null);
43 mockHttpServletRequest.expectAndReturn("getServletPath", null);
44 mockHttpServletRequest.expectAndReturn("getPathInfo", null);
45 mockHttpServletRequest.expectAndReturn("getQueryString", null);
46 mockHttpServletRequest.expectAndReturn("getMethod", null);
47 mockHttpServletRequest.expectAndReturn("getSession", Boolean.TRUE, mockSession.proxy());
48 mockHttpServletRequest.expectAndReturn("getParameterNames", new EmptyEnumeration());
49 mockHttpServletRequest.expectAndReturn("getContextPath", null);
50 mockHttpServletRequest.expectAndReturn("getServletPath", null);
51 mockHttpServletRequest.expectAndReturn("getPathInfo", null);
52 mockHttpServletRequest.expectAndReturn("getQueryString", null);
53 mockHttpServletRequest.expectAndReturn("getMethod", null);
54 mockHttpServletRequest.expectAndReturn("getSession", Boolean.TRUE, mockSession.proxy());
55 mockHttpServletRequest.expectAndReturn("getSession", Boolean.TRUE, mockSession.proxy());
56 mockHttpServletRequest.expectAndReturn("getParameterNames", new EmptyEnumeration());
57 mockHttpServletRequest.expectAndReturn("getContextPath", null);
58 mockHttpServletRequest.expectAndReturn("getServletPath", null);
59 mockHttpServletRequest.expectAndReturn("getPathInfo", null);
60 mockHttpServletRequest.expectAndReturn("getQueryString", null);
61 mockHttpServletRequest.expectAndReturn("getMethod", null);
62 mockHttpServletRequest.expectAndReturn("getSession", Boolean.TRUE, mockSession.proxy());
63 mockHttpServletRequest.expectAndReturn("getParameterNames", new EmptyEnumeration());
64 mockHttpServletRequest.expectAndReturn("getContextPath", null);
65 mockHttpServletRequest.expectAndReturn("getServletPath", null);
66 mockHttpServletRequest.expectAndReturn("getPathInfo", null);
67 mockHttpServletRequest.expectAndReturn("getQueryString", null);
68 mockHttpServletRequest.expectAndReturn("getMethod", null);
69 mockHttpServletRequest.expectAndReturn("getParameterNames", new EmptyEnumeration());
70 mockHttpServletRequest.expectAndReturn("getParameterNames", new EmptyEnumeration());
71 mockSession.expect("setAttribute", new Constraint [] {new IsEqual("org.melati.login.Login.triggeringRequestParameters"),
72 new IsInstanceOf(HttpServletRequestParameters.class)});
73 mockSession.expect("setAttribute", new Constraint [] {new IsEqual("org.melati.login.Login.triggeringException"),
74 new IsInstanceOf(org.melati.poem.AccessPoemException.class)});
75 mockSession.expect("getAttribute", "org.melati.login.HttpSessionAccessHandler.overlayParameters");
76 mockSession.expect("getAttribute", "org.melati.login.HttpSessionAccessHandler.user");
77
78 mockHttpServletRequest.expectAndReturn("getSession", Boolean.TRUE, mockSession.proxy());
79 mockHttpServletRequest.expectAndReturn("getCookies", null);
80 Mock mockHttpServletResponse = new OrderedMock(HttpServletResponse.class, "Response with non-default name");
81 mockHttpServletResponse.expect("sendRedirect",new IsInstanceOf(String.class));
82
83
84
85 mockSession.expectAndReturn("setAttribute", "org.melati.login.Login.triggeringRequestParameters",
86 new HttpServletRequestParameters((HttpServletRequest)mockHttpServletRequest.proxy()));
87 m.setRequest((HttpServletRequest)mockHttpServletRequest.proxy());
88 m.setResponse((HttpServletResponse)mockHttpServletResponse.proxy());
89 }
90
91
92
93
94
95
96 public void setAccessHandler() {
97 HttpSessionAccessHandler ah = new HttpSessionAccessHandler();
98 it = ah;
99 }
100
101 }