+async function getFiles (server: PeerTubeServer, videoUUID: string) {
+ const video = await server.videos.get({ id: videoUUID })
+
+ expect(video.files).to.have.lengthOf(0)
+ expect(video.streamingPlaylists).to.have.lengthOf(1)
+
+ return video.streamingPlaylists[0].files
+}
+
+async function streamAndEnd (servers: PeerTubeServer[], liveUUID: string) {
+ const ffmpegCommand = await servers[0].live.sendRTMPStreamInVideo({ videoId: liveUUID })
+ await waitUntilLivePublishedOnAllServers(servers, liveUUID)
+
+ const videoLiveDetails = await servers[0].videos.get({ id: liveUUID })
+ const liveDetails = await servers[0].live.get({ videoId: liveUUID })
+
+ await stopFfmpeg(ffmpegCommand)
+
+ if (liveDetails.permanentLive) {
+ await waitUntilLiveWaitingOnAllServers(servers, liveUUID)
+ } else {
+ await waitUntilLiveReplacedByReplayOnAllServers(servers, liveUUID)
+ }
+
+ await waitJobs(servers)
+
+ return { videoLiveDetails, liveDetails }
+}
+