によって保護された REST API の統合テストを作成していjwt
ます。1 つの API 操作 POSTは、指定された aおよび aを/user/token
返し、このトークンは次のような操作のリストに使用されます。jwt
username
password
GET /user/:id
ルートが使用されている場所ではjwt({secret: secret.secretToken})
、トークンが HTTP ヘッダーに含まれていますAuthorization
。
スーパーテストでテストする場合、テストをネストできますが、最初にトークンを取得してから、このトークンを使用して他の操作をテストしたいと考えています。
POST /user/token => 12345
GET /user/:id, `Authorization Bearer 12345`
GET /user/:foo, `Authorization Bearer 12345`
操作テストごとに新しいトークンを生成することを回避する方法 (以下を参照) が、POST /user/token によって生成されるトークンを 1 つだけ使用する方法。
it('should get a valid token for user: user1', function(done) {
request(url)
.post('/user/token')
.send({ _id: user1._id, password: user1.password })
.expect(200) // created
.end(function(err, res) {
// test operation GET /user/:id