我正在尝试使用 chai/chai-http 为我的节点代码编写单元测试。一切正常,直到我将服务器切换到 HTTPS 服务器,但由于我的证书是由内部公司根签名的,并且我使用的证书的通用名称与 localhost 不匹配,因此 chai 在我的请求中抛出错误.
我想做以下事情:
忽略与域名验证相关的 SSL 错误。
设置要检查的 CA 列表。如果这不能完成,我可以跳过所有客户端证书检查。
我的代码如下:
var chai = require('chai');
var chaiHttp = require('chai-http');
var https = require('https');
var fs = require('fs');
var server = require('../app.js');
chai.should();
chai.use(chaiHttp);
https.globalAgent.options.ca = [
fs.readFileSync('./ssl/Root.cer'),
];
describe('Attachments', function () {
it('should succeed when passed valid arguments', function (done) {
chai.request(server)
.get('/10881057300D0A4E8E8586542AA3626E41')
.set('userId', 'user')
.set('region', 'US')
.end(function (err, res) {
chai.assert(res);
res.should.have.status(200);
chai.assert(res.body);
done();
});
});
it('should return error without userId header', function …Run Code Online (Sandbox Code Playgroud)