]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/tests/api/requests.js
Fix tag tests
[github/Chocobozzz/PeerTube.git] / server / tests / api / requests.js
CommitLineData
72329aaa
C
1/* eslint-disable no-unused-expressions */
2
d3cd34be
C
3'use strict'
4
5const chai = require('chai')
6const each = require('async/each')
7const expect = chai.expect
8const request = require('supertest')
9
10const loginUtils = require('../utils/login')
11const podsUtils = require('../utils/pods')
12const serversUtils = require('../utils/servers')
13const videosUtils = require('../utils/videos')
14
15describe('Test requests stats', function () {
16 const path = '/api/v1/requests/stats'
17 let servers = []
18
19 function uploadVideo (server, callback) {
20 const name = 'my super video'
6e07c3de 21 const category = 5
d3cd34be
C
22 const description = 'my super description'
23 const tags = [ 'tag1', 'tag2' ]
24 const fixture = 'video_short.webm'
25
6e07c3de 26 videosUtils.uploadVideo(server.url, server.accessToken, name, category, description, tags, fixture, callback)
d3cd34be
C
27 }
28
29 function getRequestsStats (server, callback) {
30 request(server.url)
31 .get(path)
32 .set('Accept', 'application/json')
33 .set('Authorization', 'Bearer ' + server.accessToken)
34 .expect(200)
35 .end(callback)
36 }
37
38 // ---------------------------------------------------------------
39
40 before(function (done) {
41 this.timeout(20000)
42 serversUtils.flushAndRunMultipleServers(2, function (serversRun, urlsRun) {
43 servers = serversRun
44
45 each(servers, function (server, callbackEach) {
46 loginUtils.loginAndGetAccessToken(server, function (err, accessToken) {
47 if (err) return callbackEach(err)
48
49 server.accessToken = accessToken
50 callbackEach()
51 })
52 }, function (err) {
53 if (err) throw err
54
55 const server1 = servers[0]
56 podsUtils.makeFriends(server1.url, server1.accessToken, done)
57 })
58 })
59 })
60
61 it('Should have a correct timer', function (done) {
62 const server = servers[0]
63
64 getRequestsStats(server, function (err, res) {
65 if (err) throw err
66
67 const body = res.body
68 expect(body.remainingMilliSeconds).to.be.at.least(0)
69 expect(body.remainingMilliSeconds).to.be.at.most(10000)
70
71 done()
72 })
73 })
74
feb4bdfd 75 it('Should have the correct total request', function (done) {
d3cd34be
C
76 this.timeout(15000)
77
78 const server = servers[0]
79 // Ensure the requests of pod 1 won't be made
80 servers[1].app.kill()
81
82 uploadVideo(server, function (err) {
83 if (err) throw err
84
7920c273
C
85 setTimeout(function () {
86 getRequestsStats(server, function (err, res) {
87 if (err) throw err
d3cd34be 88
7920c273
C
89 const body = res.body
90 expect(body.totalRequests).to.equal(1)
d3cd34be 91
7920c273
C
92 done()
93 })
94 }, 1000)
d3cd34be
C
95 })
96 })
97
d3cd34be
C
98 after(function (done) {
99 process.kill(-servers[0].app.pid)
100
101 if (this.ok) {
102 serversUtils.flushTests(done)
103 } else {
104 done()
105 }
106 })
107})