1 /* tslint:disable:no-unused-expression */
3 import * as chai from 'chai'
6 flushAndRunMultipleServers,
12 setAccessTokensToServers,
13 uploadVideo, uploadVideoAndGetId, viewVideo, wait, countVideoViewsOf, doubleFollow, waitJobs
14 } from '../../../../shared/extra-utils'
15 import { getVideosOverview } from '../../../../shared/extra-utils/overviews/overviews'
16 import { VideosOverview } from '../../../../shared/models/overviews'
17 import { listMyVideosHistory } from '../../../../shared/extra-utils/videos/video-history'
19 const expect = chai.expect
21 describe('Test video views cleaner', function () {
22 let servers: ServerInfo[]
24 let videoIdServer1: string
25 let videoIdServer2: string
27 before(async function () {
30 servers = await flushAndRunMultipleServers(2)
31 await setAccessTokensToServers(servers)
33 await doubleFollow(servers[0], servers[1])
35 videoIdServer1 = (await uploadVideoAndGetId({ server: servers[0], videoName: 'video server 1' })).uuid
36 videoIdServer2 = (await uploadVideoAndGetId({ server: servers[1], videoName: 'video server 2' })).uuid
38 await waitJobs(servers)
40 await viewVideo(servers[0].url, videoIdServer1)
41 await viewVideo(servers[1].url, videoIdServer1)
42 await viewVideo(servers[0].url, videoIdServer2)
43 await viewVideo(servers[1].url, videoIdServer2)
45 await waitJobs(servers)
48 it('Should not clean old video views', async function () {
51 killallServers([ servers[0] ])
53 await reRunServer(servers[0], { views: { videos: { remote: { max_age: '10 days' } } } })
57 // Should still have views
60 for (const server of servers) {
61 const total = await countVideoViewsOf(server.serverNumber, videoIdServer1)
62 expect(total).to.equal(2)
67 for (const server of servers) {
68 const total = await countVideoViewsOf(server.serverNumber, videoIdServer2)
69 expect(total).to.equal(2)
74 it('Should clean old video views', async function () {
79 killallServers([ servers[0] ])
81 await reRunServer(servers[0], { views: { videos: { remote: { max_age: '5 seconds' } } } })
85 // Should still have views
88 for (const server of servers) {
89 const total = await countVideoViewsOf(server.serverNumber, videoIdServer1)
90 expect(total).to.equal(2)
95 const totalServer1 = await countVideoViewsOf(servers[0].serverNumber, videoIdServer2)
96 expect(totalServer1).to.equal(0)
98 const totalServer2 = await countVideoViewsOf(servers[1].serverNumber, videoIdServer2)
99 expect(totalServer2).to.equal(2)
104 killallServers(servers)