From b211106695bb82f6c32e53306081b5262c3d109d Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 24 Mar 2022 13:36:47 +0100 Subject: Support video views/viewers stats in server * Add "currentTime" and "event" body params to view endpoint * Merge watching and view endpoints * Introduce WatchAction AP activity * Add tables to store viewer information of local videos * Add endpoints to fetch video views/viewers stats of local videos * Refactor views/viewers handlers * Support "views" and "viewers" counters for both VOD and live videos --- server/tests/api/videos/multiple-servers.ts | 40 +++++++++++++++-------------- 1 file changed, 21 insertions(+), 19 deletions(-) (limited to 'server/tests/api/videos/multiple-servers.ts') diff --git a/server/tests/api/videos/multiple-servers.ts b/server/tests/api/videos/multiple-servers.ts index a9df262dc..84c1515a3 100644 --- a/server/tests/api/videos/multiple-servers.ts +++ b/server/tests/api/videos/multiple-servers.ts @@ -504,21 +504,22 @@ describe('Test multiple servers', function () { it('Should view multiple videos on owned servers', async function () { this.timeout(30000) - await servers[2].videos.view({ id: localVideosServer3[0] }) + await servers[2].views.simulateView({ id: localVideosServer3[0] }) await wait(1000) - await servers[2].videos.view({ id: localVideosServer3[0] }) - await servers[2].videos.view({ id: localVideosServer3[1] }) + await servers[2].views.simulateView({ id: localVideosServer3[0] }) + await servers[2].views.simulateView({ id: localVideosServer3[1] }) await wait(1000) - await servers[2].videos.view({ id: localVideosServer3[0] }) - await servers[2].videos.view({ id: localVideosServer3[0] }) + await servers[2].views.simulateView({ id: localVideosServer3[0] }) + await servers[2].views.simulateView({ id: localVideosServer3[0] }) await waitJobs(servers) - // Wait the repeatable job - await wait(6000) + for (const server of servers) { + await server.debug.sendCommand({ body: { command: 'process-video-views-buffer' } }) + } await waitJobs(servers) @@ -537,23 +538,24 @@ describe('Test multiple servers', function () { this.timeout(45000) const tasks: Promise[] = [] - tasks.push(servers[0].videos.view({ id: remoteVideosServer1[0] })) - tasks.push(servers[1].videos.view({ id: remoteVideosServer2[0] })) - tasks.push(servers[1].videos.view({ id: remoteVideosServer2[0] })) - tasks.push(servers[2].videos.view({ id: remoteVideosServer3[0] })) - tasks.push(servers[2].videos.view({ id: remoteVideosServer3[1] })) - tasks.push(servers[2].videos.view({ id: remoteVideosServer3[1] })) - tasks.push(servers[2].videos.view({ id: remoteVideosServer3[1] })) - tasks.push(servers[2].videos.view({ id: localVideosServer3[1] })) - tasks.push(servers[2].videos.view({ id: localVideosServer3[1] })) - tasks.push(servers[2].videos.view({ id: localVideosServer3[1] })) + tasks.push(servers[0].views.simulateView({ id: remoteVideosServer1[0] })) + tasks.push(servers[1].views.simulateView({ id: remoteVideosServer2[0] })) + tasks.push(servers[1].views.simulateView({ id: remoteVideosServer2[0] })) + tasks.push(servers[2].views.simulateView({ id: remoteVideosServer3[0] })) + tasks.push(servers[2].views.simulateView({ id: remoteVideosServer3[1] })) + tasks.push(servers[2].views.simulateView({ id: remoteVideosServer3[1] })) + tasks.push(servers[2].views.simulateView({ id: remoteVideosServer3[1] })) + tasks.push(servers[2].views.simulateView({ id: localVideosServer3[1] })) + tasks.push(servers[2].views.simulateView({ id: localVideosServer3[1] })) + tasks.push(servers[2].views.simulateView({ id: localVideosServer3[1] })) await Promise.all(tasks) await waitJobs(servers) - // Wait the repeatable job - await wait(16000) + for (const server of servers) { + await server.debug.sendCommand({ body: { command: 'process-video-views-buffer' } }) + } await waitJobs(servers) -- cgit v1.2.3