2016-01-26 166 views
1

我想爲使用AWS cognito作爲用戶身份驗證服務的基於nodejs的API編寫BDD測試,但我不想在每次構建運行時都擊中真正的cognito服務。AWS Cognito Mock

有沒有一種簡單而優雅的方式來模擬Cognito呼叫。

二手框架:

  • 的NodeJS(Hapi.js)
  • AWS-SDK爲
  • 的NodeJS
+0

亞馬遜Cognito不是用戶認證服務。爲了編寫測試,您可以使用任何流行的模擬庫來模擬Cognito客戶端。 –

+0

Cognito通過Facebook,g +驗證您的令牌,因此當您發送令牌時它是一種身份驗證。 我知道有一堆流行的庫。我的問題是關於更好的方法來模擬aws-cognito,我不知道 – amgohan

回答

6

我們已經創建了嘲笑了所有AWS SDK服務和方法的aws-sdk-mock NPM模塊。 https://github.com/dwyl/aws-sdk-mock

這真的很容易使用。只需使用服務,方法和存根函數調用AWS.mock即可。

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

然後通過調用恢復後的測試方法:

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

不錯,它是否也適用於DynamoDB.DocumentClient? – amgohan

+1

@amgohan適用於aws-sdk中的所有服務和方法。 – jruts