]>
git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/tests/api/request-schedulers.js
1 /* eslint-disable no-unused-expressions */
5 const chai
= require('chai')
6 const each
= require('async/each')
7 const expect
= chai
.expect
8 const request
= require('supertest')
10 const loginUtils
= require('../utils/login')
11 const podsUtils
= require('../utils/pods')
12 const serversUtils
= require('../utils/servers')
13 const videosUtils
= require('../utils/videos')
15 describe('Test requests schedulers stats', function () {
16 const requestSchedulerNames
= [ 'requestScheduler', 'requestVideoQaduScheduler', 'requestVideoEventScheduler' ]
17 const path
= '/api/v1/request-schedulers/stats'
20 function uploadVideo (server
, callback
) {
21 const videoAttributes
= {
22 tags: [ 'tag1', 'tag2' ]
25 videosUtils
.uploadVideo(server
.url
, server
.accessToken
, videoAttributes
, callback
)
28 function getRequestsStats (server
, callback
) {
31 .set('Accept', 'application/json')
32 .set('Authorization', 'Bearer ' + server
.accessToken
)
37 // ---------------------------------------------------------------
39 before(function (done
) {
41 serversUtils
.flushAndRunMultipleServers(2, function (serversRun
, urlsRun
) {
44 each(servers
, function (server
, callbackEach
) {
45 loginUtils
.loginAndGetAccessToken(server
, function (err
, accessToken
) {
46 if (err
) return callbackEach(err
)
48 server
.accessToken
= accessToken
54 const server1
= servers
[0]
55 podsUtils
.makeFriends(server1
.url
, server1
.accessToken
, done
)
60 it('Should have a correct timer', function (done
) {
61 const server
= servers
[0]
63 getRequestsStats(server
, function (err
, res
) {
66 const requestSchedulers
= res
.body
67 for (const requestSchedulerName
of requestSchedulerNames
) {
68 const requestScheduler
= requestSchedulers
[requestSchedulerName
]
70 expect(requestScheduler
.remainingMilliSeconds
).to
.be
.at
.least(0)
71 expect(requestScheduler
.remainingMilliSeconds
).to
.be
.at
.most(10000)
78 it('Should have the correct total request', function (done
) {
81 const server
= servers
[0]
82 // Ensure the requests of pod 1 won't be made
85 uploadVideo(server
, function (err
) {
88 setTimeout(function () {
89 getRequestsStats(server
, function (err
, res
) {
92 const requestSchedulers
= res
.body
93 const requestScheduler
= requestSchedulers
.requestScheduler
94 expect(requestScheduler
.totalRequests
).to
.equal(1)
102 after(function (done
) {
103 process
.kill(-servers
[0].app
.pid
)
106 serversUtils
.flushTests(done
)