Super teste, teste da API REST segura
Estou escrevendo teste de integração para uma API REST protegida por umjwt
. Uma operação de API POST/user/token
está retornando umjwt
dado umusername
e umpassword
e esse token é usado para uma lista de operações como:
GET /user/:id
Onde a rota está usandojwt({secret: secret.secretToken})
, para que o token seja incluído no cabeçalho httpAuthorization
.
Ao testar com super teste, posso ter um teste aninhado, mas quero primeiro obter o token e usá-lo para outros testes de operação.
POST /user/token => 12345
GET /user/:id, `Authorization Bearer 12345`
GET /user/:foo, `Authorization Bearer 12345`
Como evitar a geração de um novo token para cada teste de operação (veja abaixo), mas use apenas um único gerado pelo POST / usuário / token.
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