AWS Cognito Mock

amgohan picture amgohan · Jan 26, 2016 · Viewed 8.1k times · Source

I want to write BDD tests for my nodejs based API which uses AWS cognito as user authentication service, but I don't want to hit the real cognito service every time my build runs.

Is there an easy and elegant way to mock Cognito calls.

Used frameworks :

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

Answer

jruts picture jruts · Feb 12, 2016

We have created an aws-sdk-mock npm module which mocks out all the AWS SDK services and methods. https://github.com/dwyl/aws-sdk-mock

It's really easy to use. Just call AWS.mock with the service, method and a stub function.

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

Then restore the methods after your tests by calling:

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