【发布时间】:2012-11-06 04:00:44
【问题描述】:
我正在为依赖于连接中的持久会话的中间件编写单元测试。 (即connect-mongo)。
我想创建一个假会话,但似乎无法弄清楚如何。
我的浏览器中有一个 connect.sid cookie,我认为它以某种加密方式与我的会话集合中的 _id 相关。
这是我尝试过的:
我在 cookieParser 中间件和会话存储中添加到服务器,然后使用以下请求将其发送到服务器(从 chrome 的开发工具面板复制密钥):
var jar = request.jar(),
cookie = request.cookie('connect.sid=<REALLYLONGKEY>');
jar.add(cookie);
request({url : 'http://localhost:8585/',jar : jar},this.callback);
在服务器端正确设置了 cookie,并且我已经验证会话正在工作。
但是,从 cookie 到会话的神奇转换并没有像我希望的那样发生 - 正确的方法是什么?
【问题讨论】: