multi-process-session
Version:
manage multi process session
80 lines (70 loc) • 2.35 kB
JavaScript
// Generated by CoffeeScript 1.9.2
(function() {
var cookieParser, express, mps, request, sessionHelper, should;
request = require("supertest");
should = require("should");
express = require("express");
cookieParser = require("cookie-parser");
mps = require("../lib/index");
sessionHelper = require('../lib/sessionHelper');
describe("multi process session test", function() {
var agent, app;
app = express();
app.use(cookieParser());
app.use(mps());
app.get("/", function(req, res) {
return res.send("cookie has set");
});
app.get("/set-session", function(req, res) {
var key, value;
key = req.query.key;
value = req.query.value;
req.session.set(key, value);
return res.send("set session => " + key + " = " + value);
});
app.get("/get-session", function(req, res) {
var key;
key = req.query.key;
return res.send(req.session.get(key));
});
app.get("/clear-session", function(req, res) {
res.session.clear();
return res.send("clear success");
});
agent = request.agent(app);
context('session manage test', function() {
it("should save cookie", function(done) {
return agent.get("/").expect(200).expect("set-cookie", /sid=.*/, done);
});
it("should set session", function(done) {
return agent.get("/set-session").query({
key: "foo"
}).query({
value: "bar"
}).expect(200).expect("set session => foo = bar", done);
});
it("should get session", function(done) {
return agent.get("/get-session").query({
key: "foo"
}).expect("bar", done);
});
return it("should clear session", function(done) {
return agent.get("/clear-session").expect("clear success", function(err) {
should.not.exist(err);
return agent.get("/get-session").query({
key: "foo"
}).expect("", done);
});
});
});
return context('session helper test', function() {
var secret;
secret = 'give me a hint';
return it('should create sid', function() {
sessionHelper.genSID(secret).should.be.a.string;
return should(sessionHelper.genSID(secret).length > 0);
});
});
});
}).call(this);
//# sourceMappingURL=index.js.map