1 /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
4 import * as chai from 'chai'
8 flushAndRunMultipleServers,
12 setAccessTokensToServers,
15 } from '../../../../shared/extra-utils'
17 const expect = chai.expect
19 describe('Test video views cleaner', function () {
20 let servers: ServerInfo[]
22 let videoIdServer1: string
23 let videoIdServer2: string
25 before(async function () {
28 servers = await flushAndRunMultipleServers(2)
29 await setAccessTokensToServers(servers)
31 await doubleFollow(servers[0], servers[1])
33 videoIdServer1 = (await servers[0].videosCommand.quickUpload({ name: 'video server 1' })).uuid
34 videoIdServer2 = (await servers[1].videosCommand.quickUpload({ name: 'video server 2' })).uuid
36 await waitJobs(servers)
38 await servers[0].videosCommand.view({ id: videoIdServer1 })
39 await servers[1].videosCommand.view({ id: videoIdServer1 })
40 await servers[0].videosCommand.view({ id: videoIdServer2 })
41 await servers[1].videosCommand.view({ id: videoIdServer2 })
43 await waitJobs(servers)
46 it('Should not clean old video views', async function () {
49 await killallServers([ servers[0] ])
51 await reRunServer(servers[0], { views: { videos: { remote: { max_age: '10 days' } } } })
55 // Should still have views
58 for (const server of servers) {
59 const total = await server.sqlCommand.countVideoViewsOf(videoIdServer1)
60 expect(total).to.equal(2, 'Server ' + server.serverNumber + ' does not have the correct amount of views')
65 for (const server of servers) {
66 const total = await server.sqlCommand.countVideoViewsOf(videoIdServer2)
67 expect(total).to.equal(2, 'Server ' + server.serverNumber + ' does not have the correct amount of views')
72 it('Should clean old video views', async function () {
75 await killallServers([ servers[0] ])
77 await reRunServer(servers[0], { views: { videos: { remote: { max_age: '5 seconds' } } } })
81 // Should still have views
84 for (const server of servers) {
85 const total = await server.sqlCommand.countVideoViewsOf(videoIdServer1)
86 expect(total).to.equal(2)
91 const totalServer1 = await servers[0].sqlCommand.countVideoViewsOf(videoIdServer2)
92 expect(totalServer1).to.equal(0)
94 const totalServer2 = await servers[1].sqlCommand.countVideoViewsOf(videoIdServer2)
95 expect(totalServer2).to.equal(2)
99 after(async function () {
100 await cleanupTests(servers)