我对 Frisby.js 与使用 SSL 客户端证书的 REST 服务的使用有疑问。
如果我使用 Request 包与服务对话,我可以这样做:
request.get(URL, {
agentOptions: {
// Or use `pfx` property replacing `cert` and `key` when using private key, certificate and CA certs in PFX or PKCS12 format:
pfx: fs.readFileSync(pfxFilePath),
passphrase: 'password',
ca: fs.readFileSync(caFilePath)
}
});
由于 Frisby 使用请求,我假设我可以在 Frisby 测试中做类似的事情,但我似乎无法获得正确的语法。
您能推荐一些可行的方法吗?谢谢...
.get()
和.post()
方法可以采用一个额外的结构,其内容类似于https.request()
的options 参数。 .您需要为(其中一些)提供值:pfx
、key
、cert
、ca
和 密码
。
像这样:
var fs = require('fs');
var frisby = require('frisby');
frisbee.create( 'Test name' )
.get(
'https://localhost/rest/endpoint',
{
key: fs.readFileSync( "/path/to/certificates/certificate.key" ),
cert: fs.readFileSync( "/path/to/certificates/certificate.crt" ),
ca: fs.readFileSync( "/path/to/certificates/ca.crt" ),
passphrase: "your pass phrase"
}
)
.expectStatus( 200 )
.toss();
我是一名优秀的程序员,十分优秀!