From 5cd80545422bba855cc9a730a2e13cc9d982c34b Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 30 Nov 2017 10:51:13 +0100 Subject: Add ability to list jobs --- server/tests/api/jobs.ts | 64 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 server/tests/api/jobs.ts (limited to 'server/tests/api/jobs.ts') 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 @@ +/* tslint:disable:no-unused-expression */ + +import * as chai from 'chai' +import 'mocha' +import { flushTests, killallServers, ServerInfo, setAccessTokensToServers, wait } from '../utils' +import { doubleFollow } from '../utils/follows' +import { getJobsList, getJobsListPaginationAndSort } from '../utils/jobs' +import { flushAndRunMultipleServers } from '../utils/servers' +import { uploadVideo } from '../utils/videos' +import { dateIsValid } from '../utils/miscs' + +const expect = chai.expect + +describe('Test jobs', function () { + let servers: ServerInfo[] + + before(async function () { + this.timeout(30000) + + servers = await flushAndRunMultipleServers(2) + + await setAccessTokensToServers(servers) + + // Server 1 and server 2 follow each other + await doubleFollow(servers[0], servers[1]) + }) + + it('Should create some jobs', async function () { + this.timeout(30000) + + await uploadVideo(servers[1].url, servers[1].accessToken, { name: 'video1' }) + await uploadVideo(servers[1].url, servers[1].accessToken, { name: 'video2' }) + + await wait(15000) + }) + + it('Should list jobs', async function () { + const res = await getJobsList(servers[1].url, servers[1].accessToken) + expect(res.body.total).to.be.above(2) + expect(res.body.data).to.have.length.above(2) + }) + + it('Should list jobs with sort and pagination', async function () { + const res = await getJobsListPaginationAndSort(servers[1].url, servers[1].accessToken, 4, 1, 'createdAt') + expect(res.body.total).to.be.above(2) + expect(res.body.data).to.have.lengthOf(1) + + const job = res.body.data[0] + expect(job.state).to.equal('success') + expect(job.category).to.equal('transcoding') + expect(job.handlerName).to.have.length.above(3) + expect(dateIsValid(job.createdAt)).to.be.true + expect(dateIsValid(job.updatedAt)).to.be.true + }) + + after(async function () { + killallServers(servers) + + // Keep the logs if the test failed + if (this['ok']) { + await flushTests() + } + }) +}) -- cgit v1.2.3