AWS Cognito Mock

Я хочу написать тесты BDD для моего API на основе nodejs, который использует AWSognito в качестве службы аутентификации пользователя, но я не хочу использовать настоящий сервис когнито при каждом запуске моей сборки.

Есть ли простой и элегантный способ имитировать вызовы Cognito.

Используемые фреймворки:

  • Nodejs (Hapi.js)
  • aws-sdk для nodejs

person amgohan    schedule 26.01.2016    source источник
comment
Amazon Cognito не является службой аутентификации пользователей. Для написания тестов вы можете использовать любую из популярных библиотек имитации для имитации клиента Cognito.   -  person Rachit Dhall    schedule 29.01.2016
comment
Cognito проверяет ваш токен на facebook, g + ... так что это своего рода аутентификация, когда вы отправляете свой токен. Я знаю, что существует множество популярных библиотек. Мой вопрос касается лучшего способа издеваться над aws-cognito, о котором я не знаю.   -  person amgohan    schedule 29.01.2016


Ответы (2)


Мы создали модуль npm aws-sdk-mock, который имитирует все AWS Сервисы и методы SDK. https://github.com/dwyl/aws-sdk-mock

Его действительно легко использовать. Просто вызовите AWS.mock с сервисом, методом и функцией-заглушкой.

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

Затем восстановите методы после ваших тестов, вызвав:

AWS.restore('CognitoIdentityServiceProvider', 'theCallYouWantToMock');
person jruts    schedule 12.02.2016
comment
Хорошо, это сработало и для DynamoDB.DocumentClient? - person amgohan; 12.02.2016
comment
@amgohan работает для всех служб и методов в aws-sdk. - person jruts; 13.02.2016

Как вы закончили издеваться над Cognito Service? Я не вижу документации.

Это что-то вроде

AWS.mock('COGNITO', params, callback);

person SabU    schedule 26.03.2021