package org.jooby.session;
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 SessionIdWithSecretFeature extends ServerFeature {
{
use(ConfigFactory.empty().withValue("application.secret",
ConfigValueFactory.fromAnyRef("1234$")));
session(new Session.Mem() {
@Override
public String generateID() {
return "1234";
}
});
get("/session", (req, rsp) -> {
Session session = req.session();
rsp.send(session.id());
});
get("/sessionCookie", (req, rsp) -> {
rsp.send("jooby.sid=" + req.cookie("jooby.sid").value() + ";"
+ req.session().id());
});
}
@Test
public void shouldHaveASignedID() throws Exception {
request()
.get("/session")
.expect(200)
.header("Set-Cookie", setCookie -> {
request()
.get("/sessionCookie")
.expect(200)
.expect(setCookie.substring(0, setCookie.indexOf(';')) + ";1234");
});
}
}