AWS Cognito模拟

我想为使用AWS cognito作为用户身份validation服务的基于nodejs的API编写BDDtesting,但是我不想每次运行构build时都碰到真正的cognito服务。

有一个简单而优雅的方式来嘲笑Cognito电话。

使用的框架:

  • Nodejs(Hapi.js)
  • aws-sdk for nodejs

我们创build了一个aws-sdk-mock npm模块来模拟所有的AWS SDK服务和方法。 https://github.com/dwyl/aws-sdk-mock

这很容易使用。 只需使用服务,方法和存根函数调用AWS.mock即可。

AWS.mock('Cognito', 'theCallYouWantToMock', function(params, callback) { callback(null, 'success'); }); 

然后通过调用来恢复testing后的方法:

 AWS.restore('Cognito', 'theCallYouWantToMock');