3 const chai = require('chai')
4 const each = require('async/each')
5 const expect = chai.expect
6 const request = require('supertest')
8 const loginUtils = require('../utils/login')
9 const podsUtils = require('../utils/pods')
10 const serversUtils = require('../utils/servers')
11 const videosUtils = require('../utils/videos')
13 describe('Test requests stats', function () {
14 const path = '/api/v1/requests/stats'
17 function uploadVideo (server, callback) {
18 const name = 'my super video'
19 const description = 'my super description'
20 const tags = [ 'tag1', 'tag2' ]
21 const fixture = 'video_short.webm'
23 videosUtils.uploadVideo(server.url, server.accessToken, name, description, tags, fixture, callback)
26 function getRequestsStats (server, callback) {
29 .set('Accept', 'application/json')
30 .set('Authorization', 'Bearer ' + server.accessToken)
35 // ---------------------------------------------------------------
37 before(function (done) {
39 serversUtils.flushAndRunMultipleServers(2, function (serversRun, urlsRun) {
42 each(servers, function (server, callbackEach) {
43 loginUtils.loginAndGetAccessToken(server, function (err, accessToken) {
44 if (err) return callbackEach(err)
46 server.accessToken = accessToken
52 const server1 = servers[0]
53 podsUtils.makeFriends(server1.url, server1.accessToken, done)
58 it('Should have a correct timer', function (done) {
59 const server = servers[0]
61 getRequestsStats(server, function (err, res) {
65 expect(body.remainingMilliSeconds).to.be.at.least(0)
66 expect(body.remainingMilliSeconds).to.be.at.most(10000)
72 it('Should have the correct request', function (done) {
75 const server = servers[0]
76 // Ensure the requests of pod 1 won't be made
79 uploadVideo(server, function (err) {
82 getRequestsStats(server, function (err, res) {
86 expect(body.requests).to.have.lengthOf(1)
88 const request = body.requests[0]
89 expect(request.to).to.have.lengthOf(1)
90 expect(request.request.type).to.equal('add')
93 setTimeout(done, 10000)
98 it('Should have the correct requests', function (done) {
99 const server = servers[0]
101 uploadVideo(server, function (err) {
104 getRequestsStats(server, function (err, res) {
107 const body = res.body
108 expect(body.requests).to.have.lengthOf(2)
110 const request = body.requests[1]
111 expect(request.to).to.have.lengthOf(1)
112 expect(request.request.type).to.equal('add')
119 after(function (done) {
120 process.kill(-servers[0].app.pid)
123 serversUtils.flushTests(done)