1 /* tslint:disable:no-unused-expression */
4 import * as chai from 'chai'
5 const expect = chai.expect
13 setAccessTokensToServers,
14 flushAndRunMultipleServers,
19 describe('Test requests schedulers stats', function () {
20 const requestSchedulerNames = [ 'requestScheduler', 'requestVideoQaduScheduler', 'requestVideoEventScheduler' ]
21 let servers: ServerInfo[] = []
23 function uploadVideoWrapper (server: ServerInfo) {
24 const videoAttributes = {
25 tags: [ 'tag1', 'tag2' ]
28 return uploadVideo(server.url, server.accessToken, videoAttributes)
31 // ---------------------------------------------------------------
33 before(async function () {
36 servers = await flushAndRunMultipleServers(2)
38 await setAccessTokensToServers(servers)
40 await makeFriends(servers[0].url, servers[0].accessToken)
43 it('Should have a correct timer', async function () {
44 const server = servers[0]
46 const res = await getRequestsStats(server)
48 const requestSchedulers = res.body
49 for (const requestSchedulerName of requestSchedulerNames) {
50 const requestScheduler = requestSchedulers[requestSchedulerName]
52 expect(requestScheduler.remainingMilliSeconds).to.be.at.least(0)
53 expect(requestScheduler.remainingMilliSeconds).to.be.at.most(10000)
57 it('Should have the correct total request', async function () {
60 const server = servers[0]
61 // Ensure the requests of pod 1 won't be made
64 await uploadVideoWrapper(server)
68 const res = await getRequestsStats(server)
69 const requestSchedulers = res.body
70 const requestScheduler = requestSchedulers.requestScheduler
71 expect(requestScheduler.totalRequests).to.equal(3)
74 after(async function () {
75 // Server 1 has already been killed
76 killallServers([ servers[0] ])