Super prueba, prueba segura REST API
Estoy escribiendo una prueba de integración para una API REST protegida por unjwt
. Una operación de API POST/user/token
está devolviendo unjwt
dado unusername
y unpassword
y este token se usa para una lista de operaciones como:
GET /user/:id
Dónde está usando la rutajwt({secret: secret.secretToken})
, por lo que el token se incluye en el encabezado httpAuthorization
.
Cuando pruebo con supertest, puedo tener pruebas anidadas pero primero quiero obtener el token, luego usar este token para otras pruebas de operación.
POST /user/token => 12345
GET /user/:id, `Authorization Bearer 12345`
GET /user/:foo, `Authorization Bearer 12345`
Cómo evitar generar un nuevo token para cada prueba de operación (ver a continuación), pero use solo uno generado por POST / user / 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