Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { expect } from "chai";
- import * as redisCon from "../../../../src/persistence/redis/index";
- import { suite, test, timeout } from "mocha-typescript";
- import * as AtomicTimer from "../../../../src/utils/AtomicTimer";
- const application = "mochaTestApp";
- @suite class TestApiRequestService {
- static connection: redisCon.RedisConnection;
- static readonly initialIncrement: number = 5;
- static readonly secondIncrement: number = 12;
- static before() {
- AtomicTimer.setTestMode(true);
- this.connection = redisCon.getConnection();
- // before the tests, delete application related entries in redis
- this.connection.connection.eval("for _,k in ipairs(redis.call('keys','app:*')) do redis.call('del',k) end", 0);
- }
- @test async "Incrementing Api Request count"() {
- for (let i = 0; i < TestApiRequestService.initialIncrement; i++) {
- await TestApiRequestService.connection.services.ApiRequest.incrApiRequest(application);
- }
- const result: number = await TestApiRequestService.connection.services.ApiRequest.getApiRequests(application);
- expect(result).to.equal(TestApiRequestService.initialIncrement);
- }
- @test async "Api Request count stays the same after ten minutes"() {
- // increment the timer by 10 minutes
- AtomicTimer.offsetTimer(10 * 60 * 1000);
- const result: number = await TestApiRequestService.connection.services.ApiRequest.getApiRequests(application);
- expect(result).to.equal(TestApiRequestService.initialIncrement);
- }
- static after() {
- AtomicTimer.setTestMode(false);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment