在 Jasmine 中设置 Basic Auth Header 以测试 NodeJS Api
Set Basic Auth Header in Jasmine for testing NodeJS Api
我目前正在为我正在构建的 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 路由需要来自基本身份验证的数据 header,我不知道如何设置它。任何帮助将不胜感激
看起来您正在使用 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()
})
})
})
我目前正在为我正在构建的 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 路由需要来自基本身份验证的数据 header,我不知道如何设置它。任何帮助将不胜感激
看起来您正在使用 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()
})
})
})