diff options
author | Chocobozzz <florian.bigard@gmail.com> | 2017-11-30 10:51:13 +0100 |
---|---|---|
committer | Chocobozzz <florian.bigard@gmail.com> | 2017-11-30 10:55:06 +0100 |
commit | 5cd80545422bba855cc9a730a2e13cc9d982c34b (patch) | |
tree | 9a60cd7c9218c296a1460938d11e3bce784f7cc0 /server/tests/api/jobs.ts | |
parent | 1f3e9feca2caf68024168b0ea9ed39d8438fa235 (diff) | |
download | PeerTube-5cd80545422bba855cc9a730a2e13cc9d982c34b.tar.gz PeerTube-5cd80545422bba855cc9a730a2e13cc9d982c34b.tar.zst PeerTube-5cd80545422bba855cc9a730a2e13cc9d982c34b.zip |
Add ability to list jobs
Diffstat (limited to 'server/tests/api/jobs.ts')
-rw-r--r-- | server/tests/api/jobs.ts | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/server/tests/api/jobs.ts b/server/tests/api/jobs.ts new file mode 100644 index 000000000..4d9b61392 --- /dev/null +++ b/server/tests/api/jobs.ts | |||
@@ -0,0 +1,64 @@ | |||
1 | /* tslint:disable:no-unused-expression */ | ||
2 | |||
3 | import * as chai from 'chai' | ||
4 | import 'mocha' | ||
5 | import { flushTests, killallServers, ServerInfo, setAccessTokensToServers, wait } from '../utils' | ||
6 | import { doubleFollow } from '../utils/follows' | ||
7 | import { getJobsList, getJobsListPaginationAndSort } from '../utils/jobs' | ||
8 | import { flushAndRunMultipleServers } from '../utils/servers' | ||
9 | import { uploadVideo } from '../utils/videos' | ||
10 | import { dateIsValid } from '../utils/miscs' | ||
11 | |||
12 | const expect = chai.expect | ||
13 | |||
14 | describe('Test jobs', function () { | ||
15 | let servers: ServerInfo[] | ||
16 | |||
17 | before(async function () { | ||
18 | this.timeout(30000) | ||
19 | |||
20 | servers = await flushAndRunMultipleServers(2) | ||
21 | |||
22 | await setAccessTokensToServers(servers) | ||
23 | |||
24 | // Server 1 and server 2 follow each other | ||
25 | await doubleFollow(servers[0], servers[1]) | ||
26 | }) | ||
27 | |||
28 | it('Should create some jobs', async function () { | ||
29 | this.timeout(30000) | ||
30 | |||
31 | await uploadVideo(servers[1].url, servers[1].accessToken, { name: 'video1' }) | ||
32 | await uploadVideo(servers[1].url, servers[1].accessToken, { name: 'video2' }) | ||
33 | |||
34 | await wait(15000) | ||
35 | }) | ||
36 | |||
37 | it('Should list jobs', async function () { | ||
38 | const res = await getJobsList(servers[1].url, servers[1].accessToken) | ||
39 | expect(res.body.total).to.be.above(2) | ||
40 | expect(res.body.data).to.have.length.above(2) | ||
41 | }) | ||
42 | |||
43 | it('Should list jobs with sort and pagination', async function () { | ||
44 | const res = await getJobsListPaginationAndSort(servers[1].url, servers[1].accessToken, 4, 1, 'createdAt') | ||
45 | expect(res.body.total).to.be.above(2) | ||
46 | expect(res.body.data).to.have.lengthOf(1) | ||
47 | |||
48 | const job = res.body.data[0] | ||
49 | expect(job.state).to.equal('success') | ||
50 | expect(job.category).to.equal('transcoding') | ||
51 | expect(job.handlerName).to.have.length.above(3) | ||
52 | expect(dateIsValid(job.createdAt)).to.be.true | ||
53 | expect(dateIsValid(job.updatedAt)).to.be.true | ||
54 | }) | ||
55 | |||
56 | after(async function () { | ||
57 | killallServers(servers) | ||
58 | |||
59 | // Keep the logs if the test failed | ||
60 | if (this['ok']) { | ||
61 | await flushTests() | ||
62 | } | ||
63 | }) | ||
64 | }) | ||