diff options
Diffstat (limited to 'server/tests/api/live/live.ts')
-rw-r--r-- | server/tests/api/live/live.ts | 51 |
1 files changed, 50 insertions, 1 deletions
diff --git a/server/tests/api/live/live.ts b/server/tests/api/live/live.ts index e728fcce0..6d504f742 100644 --- a/server/tests/api/live/live.ts +++ b/server/tests/api/live/live.ts | |||
@@ -328,7 +328,7 @@ describe('Test live', function () { | |||
328 | await checkResolutionsInMasterPlaylist(hlsPlaylist.playlistUrl, resolutions) | 328 | await checkResolutionsInMasterPlaylist(hlsPlaylist.playlistUrl, resolutions) |
329 | 329 | ||
330 | for (let i = 0; i < resolutions.length; i++) { | 330 | for (let i = 0; i < resolutions.length; i++) { |
331 | const segmentNum = 2 | 331 | const segmentNum = 3 |
332 | const segmentName = `${i}-00000${segmentNum}.ts` | 332 | const segmentName = `${i}-00000${segmentNum}.ts` |
333 | await waitUntilLiveSegmentGeneration(servers[0], video.uuid, i, segmentNum) | 333 | await waitUntilLiveSegmentGeneration(servers[0], video.uuid, i, segmentNum) |
334 | 334 | ||
@@ -608,6 +608,55 @@ describe('Test live', function () { | |||
608 | } | 608 | } |
609 | }) | 609 | }) |
610 | 610 | ||
611 | it('Should correctly send views change notification', async function () { | ||
612 | this.timeout(60000) | ||
613 | |||
614 | let localLastVideoViews = 0 | ||
615 | let remoteLastVideoViews = 0 | ||
616 | |||
617 | const liveVideoUUID = await createLiveWrapper() | ||
618 | await waitJobs(servers) | ||
619 | |||
620 | { | ||
621 | const videoId = await getVideoIdFromUUID(servers[0].url, liveVideoUUID) | ||
622 | |||
623 | const localSocket = getLiveNotificationSocket(servers[0].url) | ||
624 | localSocket.on('views-change', data => { localLastVideoViews = data.views }) | ||
625 | localSocket.emit('subscribe', { videoId }) | ||
626 | } | ||
627 | |||
628 | { | ||
629 | const videoId = await getVideoIdFromUUID(servers[1].url, liveVideoUUID) | ||
630 | |||
631 | const remoteSocket = getLiveNotificationSocket(servers[1].url) | ||
632 | remoteSocket.on('views-change', data => { remoteLastVideoViews = data.views }) | ||
633 | remoteSocket.emit('subscribe', { videoId }) | ||
634 | } | ||
635 | |||
636 | const command = await sendRTMPStreamInVideo(servers[0].url, servers[0].accessToken, liveVideoUUID) | ||
637 | |||
638 | for (const server of servers) { | ||
639 | await waitUntilLivePublished(server.url, server.accessToken, liveVideoUUID) | ||
640 | } | ||
641 | |||
642 | await waitJobs(servers) | ||
643 | |||
644 | expect(localLastVideoViews).to.equal(0) | ||
645 | expect(remoteLastVideoViews).to.equal(0) | ||
646 | |||
647 | await viewVideo(servers[0].url, liveVideoUUID) | ||
648 | await viewVideo(servers[1].url, liveVideoUUID) | ||
649 | |||
650 | await waitJobs(servers) | ||
651 | await wait(5000) | ||
652 | await waitJobs(servers) | ||
653 | |||
654 | expect(localLastVideoViews).to.equal(2) | ||
655 | expect(remoteLastVideoViews).to.equal(2) | ||
656 | |||
657 | await stopFfmpeg(command) | ||
658 | }) | ||
659 | |||
611 | it('Should not receive a notification after unsubscribe', async function () { | 660 | it('Should not receive a notification after unsubscribe', async function () { |
612 | this.timeout(60000) | 661 | this.timeout(60000) |
613 | 662 | ||