01: /*
02: * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright
03: * notice. All rights reserved.
04: */
05: package com.terracotta.session;
06:
07: import com.terracotta.session.util.ContextMgr;
08: import com.terracotta.session.util.DefaultIdGenerator;
09: import com.terracotta.session.util.MockContextMgr;
10: import com.terracotta.session.util.MockLifecycleEventMgr;
11: import com.terracotta.session.util.SessionIdGenerator;
12:
13: import junit.framework.TestCase;
14:
15: public class SessionEventTest extends TestCase {
16:
17: private String serverId;
18: private SessionId sessionId;
19: private MockLifecycleEventMgr eventMgr;
20: private ContextMgr contextMgr;
21: private SessionData session;
22: private int maxIdleSeconds;
23: private SessionIdGenerator idGenerator;
24: private SessionManager sessionManager;
25:
26: protected void setUp() throws Exception {
27: maxIdleSeconds = 123;
28: serverId = "someServerId";
29: idGenerator = new DefaultIdGenerator(20, serverId);
30: sessionId = idGenerator.generateNewId();
31: eventMgr = new MockLifecycleEventMgr();
32: contextMgr = new MockContextMgr();
33: session = new SessionData(maxIdleSeconds);
34: sessionManager = new MockSessionManager();
35: session.associate(sessionId, eventMgr, contextMgr,
36: sessionManager);
37: }
38:
39: public final void testEvents() {
40: final String name = "someName";
41: session.setAttribute(name, name);
42: assertEquals("setAttribute", eventMgr.getLastMethod());
43: assertSame(session, eventMgr.getSession());
44: assertSame(name, eventMgr.getName());
45: assertSame(name, eventMgr.getValue());
46: eventMgr.clear();
47:
48: session.setAttribute(name, name);
49: assertEquals("replaceAttribute", eventMgr.getLastMethod());
50: assertSame(session, eventMgr.getSession());
51: assertSame(name, eventMgr.getName());
52: assertSame(name, eventMgr.getValue());
53: eventMgr.clear();
54:
55: session.removeAttribute(name);
56: assertEquals("removeAttribute", eventMgr.getLastMethod());
57: assertSame(session, eventMgr.getSession());
58: assertSame(name, eventMgr.getName());
59: assertSame(name, eventMgr.getValue());
60: eventMgr.clear();
61:
62: session.removeAttribute(name);
63: assertNull(eventMgr.getLastMethod());
64: assertNull(eventMgr.getSession());
65: assertNull(eventMgr.getName());
66: assertNull(eventMgr.getValue());
67: eventMgr.clear();
68:
69: session.invalidate();
70: assertEquals("fireSessionDestroyedEvent", eventMgr
71: .getLastMethod());
72: assertSame(session, eventMgr.getSession());
73: eventMgr.clear();
74: }
75: }
|