Я пишу интеграционный тест с помощью chaihttp, я хочу перехватить файл cookie, сгенерированный после вызова GET, поместить его в заголовок и отправить заголовок обратно на сервер.Это необходимо, потому что сервер должен проверить, совпадают ли значение заголовка и значение cookie.Это моя защита XSRF.
У меня есть этот код:
import * as chai from 'chai';
import { expect } from 'chai'
import chaiHttp = require('chai-http');
import { app, testServer } from '../../server';
chai.use(chaiHttp);
chai.should();
function getrels(agent : ChaiHttp.Agent) {
}
describe('Relaties', () => {
let agent = chai.request.agent(app);
before(function (done) {
console.log('outer describe - beforeEach');
agent
.put('/api/ehrm-klantnr/medewerker/login')
.send({ email: 'admin@sfgtest.com', wachtwoord: '<secret>' })
.then(function (res) {
expect(res).to.have.cookie('SESSIONID');
expect(res).to.have.cookie('XSRF-TOKEN');
done();
});
});
describe('Ophalen alle relaties met: GET /api/ehrm-klantnr/relatie', () => {
it('should get alle relaties', (done) => {
agent.get('/api/ehrm-klantnr/relatie')
.set('xsrf-token', 'get the XSRF-TOKEN value here somehow ???')
.then(function (res) {
expect(res).to.have.status(200);
expect(res).to.be.an('object');
expect(res.body.data).to.be.an('array');
expect(res.body.data[0]).to.be.an('object');
expect(res.body.data[0].id).to.equal(1);
done();
});
});
});
});
Так что в месте, где находятся три знака вопроса, мне нужно установить значение отправляемого XSRF-TOKENкак печенье.Как это решить?