cor*_*vid 3 webhooks node.js meteor
我在Meteor中有一个ReSTFul API.我使用Mandrill,Stripe和其他库中的钩子来更新集合.
Router.route('/mandrill/message_rejected', { where: 'server' })
.post(function () {
var request = EJSON.parse(this.request.body.mandrill_events);
var rejects = _.map(_.where(request, {
event: 'reject'
}, {
return object.msg.email;
});
Meteor.users.update({
emails: {
$elemMatch: {
"address": {
$in: rejects
}
}
}
}, {
$set: { status: 'rejected' }
});
this.response.end();
});
Run Code Online (Sandbox Code Playgroud)
我的问题是; 我该如何自动化测试呢?该请求应该来自Mandrill.有没有办法以一致的方式测试webhook消息?
我使用Mocha(尽管你可以使用其他测试框架作为Jasmine).
我将测试与superagent库结合在一起,允许您执行HTTP请求.
下一部分可以解决这个问题:设置日志并存储从Mandril收到的JSON或您收到的其他钩子,并构建传入响应的库(或夹具).
然后,您可以构建所需的不同案例,例如:
使这种方法保持一致需要您花时间考虑您希望接收的钩子,阅读文档以评估您正在考虑的案例是否不可能等等.
我建议你保留收到的钩子的日志以改善你的测试.
归档时间: |
|
查看次数: |
707 次 |
最近记录: |