diff options
Diffstat (limited to 'server/tests/src')
-rw-r--r-- | server/tests/src/com/vaadin/server/VaadinServiceTest.java | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/server/tests/src/com/vaadin/server/VaadinServiceTest.java b/server/tests/src/com/vaadin/server/VaadinServiceTest.java index cead5df79c..77eb155378 100644 --- a/server/tests/src/com/vaadin/server/VaadinServiceTest.java +++ b/server/tests/src/com/vaadin/server/VaadinServiceTest.java @@ -29,6 +29,16 @@ import org.junit.Test; */ public class VaadinServiceTest { + private class TestSessionDestroyListener implements SessionDestroyListener { + + int callCount = 0; + + @Override + public void sessionDestroy(SessionDestroyEvent event) { + callCount++; + } + } + @Test public void testFireSessionDestroy() throws ServletException { ServletConfig servletConfig = new MockServletConfig(); @@ -36,6 +46,10 @@ public class VaadinServiceTest { servlet.init(servletConfig); VaadinService service = servlet.getService(); + TestSessionDestroyListener listener = new TestSessionDestroyListener(); + + service.addSessionDestroyListener(listener); + MockVaadinSession vaadinSession = new MockVaadinSession(service); service.fireSessionDestroy(vaadinSession); Assert.assertEquals( @@ -45,9 +59,11 @@ public class VaadinServiceTest { vaadinSession.valueUnbound(EasyMock .createMock(HttpSessionBindingEvent.class)); - org.junit.Assert.assertEquals( - "'fireSessionDestroy' method may not call 'close' " - + "method for closing session", 1, + Assert.assertEquals("'fireSessionDestroy' method may not call 'close' " + + "method for closing session", 1, vaadinSession.getCloseCount()); + + Assert.assertEquals("SessionDestroyListeners not called exactly once", + 1, listener.callCount); } } |