我有一个Node Js应用程序,我正在使用supertest / superagent + nockjs集成测试我的应用程序。
我有一个问题,因为我想测试我的登录休息apis使用supertest来回复一个FAKE PROFILE RESPONSE +令牌,例如facebook / google / github等等。 (我对LocalStrategy不感兴趣,因为它非常简单)
我该怎么做?
我正在尝试使用GitHub,我写的这段代码(不工作)绝对错误,可能是非常愚蠢而没有任何意义......这是一个XD实验。
nock('https://github.com/login/oauth')
.get('/authorize?response_type=code&redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fapi%2Fauth%2Fgithub%2Fcallback&scope=user%3Aemail&client_id=XXXXXXXXXXXXXXXXXXXX')
.reply(302,undefined,
{
location : "http://localhost:3000/api/auth/github/callback?code=ab7f9823f03071209b26"
}
)
.get('http://localhost:3000/api/auth/github/callback?code=ab7f9823f03071209b26')
.reply(200, responseMocked);
PS:我可能在网址和状态上犯了一个错误,我不知道。
另外,我应该在哪里设置connection.sid的cookie?
如何修复/重写此代码以便能够对我的应用程序进行集成测试?
我也有兴趣使用passportjs存根/模拟,但我想要一个支持并且记录良好的库。
更新:我修复了模拟的配置文件对象的名称(responseMocked)
谢谢你, 斯特凡诺。