c9-core/node_modules/c9/ratelimit_test.js

33 wiersze
990 B
JavaScript
Czysty Zwykły widok Historia

2016-04-28 10:18:19 +00:00
"use server";
require("c9/inline-mocha")(module);
var ratelimit = require("./ratelimit");
var assert = require("assert");
describe("ratelimit", function() {
it("Should limit based on key", function (done) {
var limiter = ratelimit("test", 10, 1);
limiter({params: {test: 1}}, null, function (err) {
assert(!err, err);
limiter({params: {test: 1}}, null, function (err) {
assert(err);
assert.equal(err.code, 429);
done();
});
});
});
it("Should work again after a delay", function (done) {
var limiter = ratelimit("test", 10, 1);
limiter({params: {test: 1}}, null, function (err) {
assert(!err, err);
setTimeout(function() {
limiter({params: {test: 1}}, null, function (err) {
assert(!err, err);
done();
});
}, 15);
});
});
});