Chai 'Get' запрос возвращает 401 - PullRequest
0 голосов
/ 06 июня 2019

Я пытаюсь выполнить некоторые юнит-тесты, но не могу, потому что вместо статуса 200 я получаю 401

Uncaught AssertionError: Ожидаемый {Object (_events, _eventsCount, ...)} иметь код состояния 200, но получил 401 + ожидаемый - фактический

  -401

  +200
let chai = require('chai');
let expect = chai.expect;
let chaiHttp = require('chai-http');
let summaryRoute = '/home';
let baseURL = 'https://xxx.xxx.xxx.xxx';
chai.use(chaiHttp);
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";

describe('/GET /home', () => {
    it('should return a json', done => {
        chai.request(baseURL)
            .get(summaryRoute)
            .end((err, res) => {
                expect(err).to.be.null;
                expect(res).to.have.status(200);
                done();
            });
    });
});

Есть ли какой-либо способ сделать первый вход в систему или я могу сохранить в process.envимя пользователя и пароль?

Я также пробовал это:

const request = require('supertest');
const expect = require('expect');
let chai = require('chai');
let chaiHttp = require('chai-http');
let summaryRoute = '/home';
let baseURL = 'https://xxx.xxx.xxx.xxx';
chai.use(chaiHttp);
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";

function createLoginToken(server, loginDetails, done) {
    request(server)
        .post('login')
        .send(loginDetails)
        .end(function(error, response) {
            if (error) {
                throw error;
            }
            let loginToken = "xxxxx"
            done(loginToken);
        });
}

describe('/GET /home', () => {
    it('should return a json', (done) => {
        createLoginToken(baseURL, { username: "username", password: 'password'}, function(header) {
            request(baseURL)
                .get(summaryRoute)
                .set('Authorization', 'Bearer  ' + header)
                .expect(200)
                .end(done);
        });
    });
});

, но я также получаю

Ошибка: ожидается 200 "OK", получено 401 "Unauthorized"

Чего мне не хватает?Спасибо за ваше время!(в Почтальоне это работает, я получаю 200)

...