1 /* tslint:disable:no-unused-expression */
3 import * as chai from 'chai'
5 import { flushTests, killallServers, flushAndRunServer, ServerInfo, setAccessTokensToServers } from '../../../../shared/extra-utils/index'
6 import { waitJobs } from '../../../../shared/extra-utils/server/jobs'
7 import { uploadVideo } from '../../../../shared/extra-utils/videos/videos'
8 import { getLogs } from '../../../../shared/extra-utils/logs/logs'
10 const expect = chai.expect
12 describe('Test logs', function () {
13 let server: ServerInfo
15 before(async function () {
18 server = await flushAndRunServer(1)
19 await setAccessTokensToServers([ server ])
22 it('Should get logs with a start date', async function () {
25 await uploadVideo(server.url, server.accessToken, { name: 'video 1' })
26 await waitJobs([ server ])
28 const now = new Date()
30 await uploadVideo(server.url, server.accessToken, { name: 'video 2' })
31 await waitJobs([ server ])
33 const res = await getLogs(server.url, server.accessToken, now)
34 const logsString = JSON.stringify(res.body)
36 expect(logsString.includes('video 1')).to.be.false
37 expect(logsString.includes('video 2')).to.be.true
40 it('Should get logs with an end date', async function () {
43 await uploadVideo(server.url, server.accessToken, { name: 'video 3' })
44 await waitJobs([ server ])
46 const now1 = new Date()
48 await uploadVideo(server.url, server.accessToken, { name: 'video 4' })
49 await waitJobs([ server ])
51 const now2 = new Date()
53 await uploadVideo(server.url, server.accessToken, { name: 'video 5' })
54 await waitJobs([ server ])
56 const res = await getLogs(server.url, server.accessToken, now1, now2)
57 const logsString = JSON.stringify(res.body)
59 expect(logsString.includes('video 3')).to.be.false
60 expect(logsString.includes('video 4')).to.be.true
61 expect(logsString.includes('video 5')).to.be.false
64 it('Should get filter by level', async function () {
67 const now = new Date()
69 await uploadVideo(server.url, server.accessToken, { name: 'video 6' })
70 await waitJobs([ server ])
73 const res = await getLogs(server.url, server.accessToken, now, undefined, 'info')
74 const logsString = JSON.stringify(res.body)
76 expect(logsString.includes('video 6')).to.be.true
80 const res = await getLogs(server.url, server.accessToken, now, undefined, 'warn')
81 const logsString = JSON.stringify(res.body)
83 expect(logsString.includes('video 6')).to.be.false
88 killallServers([ server ])