1 /* tslint:disable:no-unused-expression */
3 import * as request from 'supertest'
5 import * as chai from 'chai'
6 const expect = chai.expect
14 setAccessTokensToServers,
15 flushAndRunMultipleServers,
20 describe('Test requests schedulers stats', function () {
21 const requestSchedulerNames = [ 'requestScheduler', 'requestVideoQaduScheduler', 'requestVideoEventScheduler' ]
22 const path = '/api/v1/request-schedulers/stats'
23 let servers: ServerInfo[] = []
25 function uploadVideoWrapper (server: ServerInfo) {
26 const videoAttributes = {
27 tags: [ 'tag1', 'tag2' ]
30 return uploadVideo(server.url, server.accessToken, videoAttributes)
33 // ---------------------------------------------------------------
35 before(async function () {
38 servers = await flushAndRunMultipleServers(2)
40 await setAccessTokensToServers(servers)
42 await makeFriends(servers[0].url, servers[0].accessToken)
45 it('Should have a correct timer', async function () {
46 const server = servers[0]
48 const res = await getRequestsStats(server)
50 const requestSchedulers = res.body
51 for (const requestSchedulerName of requestSchedulerNames) {
52 const requestScheduler = requestSchedulers[requestSchedulerName]
54 expect(requestScheduler.remainingMilliSeconds).to.be.at.least(0)
55 expect(requestScheduler.remainingMilliSeconds).to.be.at.most(10000)
59 it('Should have the correct total request', async function () {
62 const server = servers[0]
63 // Ensure the requests of pod 1 won't be made
66 await uploadVideoWrapper(server)
70 const res = await getRequestsStats(server)
71 const requestSchedulers = res.body
72 const requestScheduler = requestSchedulers.requestScheduler
73 expect(requestScheduler.totalRequests).to.equal(1)
76 after(async function () {
77 killallServers(servers)