package org.jooby.session; import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertNotNull; import org.jooby.Session; import org.jooby.test.ServerFeature; import org.junit.Test; import com.typesafe.config.ConfigFactory; import com.typesafe.config.ConfigValueFactory; public class ShouldDestroyAndExpireCookieOnTimeoutFeature extends ServerFeature { { use(ConfigFactory.empty().withValue("session.cookie.maxAge", ConfigValueFactory.fromAnyRef("1s"))); session(new Session.Mem()); get("/session", req -> { return req.session().id(); }); } @Test public void shouldDestroyAndExpireCookieOnTimeout() throws Exception { request() .get("/session") .expect(200) .header("Set-Cookie", setCookie -> assertNotNull(setCookie)) .expect(sessionId1 -> { Thread.sleep(1200L); request() .get("/session") .expect(200) .header("Set-Cookie", setCookie -> assertNotNull(setCookie)) .expect(sessionId2 -> { assertNotEquals(sessionId1, sessionId2); }); }); } }