在Jasmine中设置Basic Auth Header以测试NodeJS Api

时间:2016-12-07 17:46:50

标签: node.js testing jasmine jasmine-node

我目前正在为我正在构建的API编写测试套件但是我无法确定如何设置Basic Auth Header来测试某些路由。

我可以测试以下正常路线:

describe('Get /', function() {
    it('returns statusCode 200', function(done) {
        request.get(base_url, function(error, response){
            expect(response.statusCode).toBe(SuccessCode)
            done()
        })

然而,许多mu路由需要来自基本auth头的数据,我无法弄清楚如何设置它。任何帮助将不胜感激

1 个答案:

答案 0 :(得分:3)

看起来你正在使用request模块,所以这样的事情应该有效:

describe('Get /secure/test', function() {
    it('returns statusCode 200', function(done) {

        var username = 'username';
        var password = 'password';
        var auth = 'Basic ' + new Buffer(username + ':' + password).toString('base64');

        var options = {
            url: 'https://api.com/secure/test',
            headers: {
                'Authorization': auth
            }
        };

        request.get(options, function(error, response){
            expect(response.statusCode).toBe(SuccessCode)
            done()
        })

    })
})