package org.kopsox.services.application;
import junit.framework.Assert;
import org.junit.Before;
import org.junit.Test;
import org.kopsox.services.security.KopsoxPrincipalImpl;
public class ApplicationSessionTest {
@Before
public void setUp() throws Exception {
Application.initializeSession(new KopsoxPrincipalImpl("konrad.renner", "Konrad Renner"), 10000, true);
}
@Test
public void testSessionAttributes() {
if(!Application.getSession().isSessionAlive()) {
Application.getSession().reactivateSession();
}
Application.getSession().setAttribute("Hallo", "Test");
Assert.assertNotNull(Application.getSession().getAttribute("Hallo"));
Assert.assertNull(Application.getSession().getAttribute("Halo"));
Assert.assertTrue(Application.getSession().getAttribute("Hallo") instanceof String);
Assert.assertEquals("Test",Application.getSession().getAttribute("Hallo"));
}
@Test
public void testSessionTimeout() {
if(!Application.getSession().isSessionAlive()) {
Application.getSession().reactivateSession();
}
try {
Thread.sleep(10001);
Assert.assertFalse(Application.getSession().isSessionAlive());
Application.getSession().setAttribute("Hallo", "Test");
Assert.assertTrue(false);
}catch(SessionTimeoutException e) {
Assert.assertTrue(true);
}catch (InterruptedException e) {
e.printStackTrace();
}
}
}