Я нашел решение ...
Во-первых, я использую тип обещания AWS методов:
KMS.decrypt(params).promise()
Итак, чтобы заглушить это, я делаю следующее:
sandbox = sinon.createSandbox()
const mKMS = {
decrypt: sandbox.stub().returns({
promise: () => {Promise.resolve({
Plaintext: "some string",
CiphertextBlob: Buffer.from("some string", 'utf-8')
})}
})
}
sandbox.stub(AWS, 'KMS').callsFake(() => mKMS)
Кроме того, я признаю, что я все еще пытаюсь понять, какой именно объект возвращается из этого Promise.resolve()
- но он успешно заглушает метод.