package net.contextfw.web.commons.cloud.session; import static org.easymock.EasyMock.replay; import static org.easymock.EasyMock.verify; import net.contextfw.web.commons.AbstractTest; import org.junit.Test; public class BasicSessionTest extends AbstractTest { @SuppressWarnings("unused") private void mockMethod() { } @SuppressWarnings("unused") @CloudSessionOpenMode(OpenMode.EXISTING) private void mockMethod2() { } @Test public void LifecycleListener_Invokes_Session() throws SecurityException, NoSuchMethodException { CloudSession session = createStrictMock(CloudSession.class); session.openSession(OpenMode.LAZY); session.closeSession(); session.openSession(OpenMode.LAZY); session.closeSession(); replay(session); CloudSessionLifecycleListener listener = new CloudSessionLifecycleListener(session); listener.beforeInitialize(); listener.beforePageScopeDeactivation(); listener.beforeUpdate(null, this.getClass().getDeclaredMethod("mockMethod"), null); listener.beforePageScopeDeactivation(); verify(session); } @Test public void LifecycleListener_Does_Not_Invoke_Session() throws SecurityException, NoSuchMethodException { CloudSession session = createStrictMock(CloudSession.class); session.openSession(OpenMode.LAZY); session.closeSession(); session.openSession(OpenMode.EXISTING); session.closeSession(); replay(session); CloudSessionLifecycleListener listener = new CloudSessionLifecycleListener(session); listener.beforeInitialize(); listener.beforePageScopeDeactivation(); listener.beforeUpdate(null, this.getClass().getDeclaredMethod("mockMethod2"), null); listener.beforePageScopeDeactivation(); verify(session); } }