我对使用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测试中做类似的事情,但我似乎无法正确理解语法。
你能提出一些可行的建议吗?感谢...
答案 0 :(得分:1)
.get()
和.post()
方法可以采用其他结构,其内容类似于https.request()
的options参数。您需要为(某些)提供值:pfx
,key
,cert
,ca
和passphrase
。
这样的事情:
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();