]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/tests/api/videos/video-create-transcoding.ts
Prevent HLS transcoding after webtorrent transcoding
[github/Chocobozzz/PeerTube.git] / server / tests / api / videos / video-create-transcoding.ts
index 62a6bab0d6c288c03c2a56b2dde3523878796dde..dcdbd9c6ed74caa8ce519c9f28b1e75836a53158 100644 (file)
@@ -25,7 +25,11 @@ async function checkFilesInObjectStorage (video: VideoDetails) {
     await makeRawRequest(file.fileUrl, HttpStatusCode.OK_200)
   }
 
-  for (const file of video.streamingPlaylists[0].files) {
+  const streamingPlaylistFiles = video.streamingPlaylists.length === 0
+    ? []
+    : video.streamingPlaylists[0].files
+
+  for (const file of streamingPlaylistFiles) {
     expectStartWith(file.fileUrl, ObjectStorageCommand.getPlaylistBaseUrl())
     await makeRawRequest(file.fileUrl, HttpStatusCode.OK_200)
   }
@@ -127,6 +131,25 @@ function runTests (objectStorage: boolean) {
     }
   })
 
+  it('Should only generate WebTorrent', async function () {
+    this.timeout(60000)
+
+    await servers[0].videos.removeHLSFiles({ videoId: videoUUID })
+    await waitJobs(servers)
+
+    await servers[0].videos.runTranscoding({ videoId: videoUUID, transcodingType: 'webtorrent' })
+    await waitJobs(servers)
+
+    for (const server of servers) {
+      const videoDetails = await server.videos.get({ id: videoUUID })
+
+      expect(videoDetails.files).to.have.lengthOf(5)
+      expect(videoDetails.streamingPlaylists).to.have.lengthOf(0)
+
+      if (objectStorage) await checkFilesInObjectStorage(videoDetails)
+    }
+  })
+
   it('Should not have updated published at attributes', async function () {
     const video = await servers[0].videos.get({ id: videoUUID })