]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/tests/api/check-params/request-schedulers.js
Requests -> RequestSchedulers
[github/Chocobozzz/PeerTube.git] / server / tests / api / check-params / request-schedulers.js
CommitLineData
72329aaa
C
1/* eslint-disable no-unused-expressions */
2
efe923bc
C
3'use strict'
4
5const request = require('supertest')
6const series = require('async/series')
7
8const loginUtils = require('../../utils/login')
9const usersUtils = require('../../utils/users')
10const serversUtils = require('../../utils/servers')
11
e636eb88
C
12describe('Test request schedulers stats API validators', function () {
13 const path = '/api/v1/request-schedulers/stats'
efe923bc
C
14 let server = null
15 let userAccessToken = null
16
17 // ---------------------------------------------------------------
18
19 before(function (done) {
20 this.timeout(20000)
21
22 series([
23 function (next) {
24 serversUtils.flushTests(next)
25 },
26 function (next) {
27 serversUtils.runServer(1, function (server1) {
28 server = server1
29
30 next()
31 })
32 },
33 function (next) {
34 loginUtils.loginAndGetAccessToken(server, function (err, token) {
35 if (err) throw err
36 server.accessToken = token
37
38 next()
39 })
40 },
41 function (next) {
42 const username = 'user'
43 const password = 'my super password'
44
45 usersUtils.createUser(server.url, server.accessToken, username, password, next)
46 },
47 function (next) {
48 const user = {
49 username: 'user',
50 password: 'my super password'
51 }
52
53 loginUtils.getUserAccessToken(server, user, function (err, accessToken) {
54 if (err) throw err
55
56 userAccessToken = accessToken
57
58 next()
59 })
60 }
61 ], done)
62 })
63
64 it('Should fail with an non authenticated user', function (done) {
65 request(server.url)
66 .get(path)
67 .set('Accept', 'application/json')
68 .expect(401, done)
69 })
70
71 it('Should fail with a non admin user', function (done) {
72 request(server.url)
73 .get(path)
74 .set('Authorization', 'Bearer ' + userAccessToken)
75 .set('Accept', 'application/json')
76 .expect(403, done)
77 })
78
79 after(function (done) {
80 process.kill(-server.app.pid)
81
82 // Keep the logs if the test failed
83 if (this.ok) {
84 serversUtils.flushTests(done)
85 } else {
86 done()
87 }
88 })
89})