Fix images size limit
[oweals/peertube.git] / server / tests / api / check-params / jobs.ts
1 /* tslint:disable:no-unused-expression */
2
3 import 'mocha'
4
5 import { createUser, flushTests, killallServers, runServer, ServerInfo, setAccessTokensToServers, userLogin } from '../../utils'
6 import { checkBadCountPagination, checkBadSortPagination, checkBadStartPagination } from '../../utils/requests/check-api-params'
7 import { makeGetRequest } from '../../utils/requests/requests'
8
9 describe('Test jobs API validators', function () {
10   const path = '/api/v1/jobs/failed'
11   let server: ServerInfo
12   let userAccessToken = ''
13
14   // ---------------------------------------------------------------
15
16   before(async function () {
17     this.timeout(120000)
18
19     await flushTests()
20
21     server = await runServer(1)
22
23     await setAccessTokensToServers([ server ])
24
25     const user = {
26       username: 'user1',
27       password: 'my super password'
28     }
29     await createUser(server.url, server.accessToken, user.username, user.password)
30     userAccessToken = await userLogin(server, user)
31   })
32
33   describe('When listing jobs', function () {
34
35     it('Should fail with a bad state', async function () {
36       await makeGetRequest({
37         url: server.url,
38         token: server.accessToken,
39         path: path + 'ade'
40       })
41     })
42
43     it('Should fail with a bad start pagination', async function () {
44       await checkBadStartPagination(server.url, path, server.accessToken)
45     })
46
47     it('Should fail with a bad count pagination', async function () {
48       await checkBadCountPagination(server.url, path, server.accessToken)
49     })
50
51     it('Should fail with an incorrect sort', async function () {
52       await checkBadSortPagination(server.url, path, server.accessToken)
53     })
54
55     it('Should fail with a non authenticated user', async function () {
56       await makeGetRequest({
57         url: server.url,
58         path,
59         statusCodeExpected: 401
60       })
61     })
62
63     it('Should fail with a non admin user', async function () {
64       await makeGetRequest({
65         url: server.url,
66         path,
67         token: userAccessToken,
68         statusCodeExpected: 403
69       })
70     })
71   })
72
73   after(async function () {
74     killallServers([ server ])
75
76     // Keep the logs if the test failed
77     if (this['ok']) {
78       await flushTests()
79     }
80   })
81 })