]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/tests/api/videos/video-hls.ts
Add ability to filter my imports by target URL
[github/Chocobozzz/PeerTube.git] / server / tests / api / videos / video-hls.ts
index 2c829f53289155d7d1601a04dcc4929214ec2ef9..218ec08ae6965ee5f1f634902bdc65dea6f14b36 100644 (file)
@@ -3,25 +3,27 @@
 import 'mocha'
 import * as chai from 'chai'
 import { basename, join } from 'path'
-import { removeFragmentedMP4Ext, uuidRegex } from '@shared/core-utils'
 import {
-  areObjectStorageTestsDisabled,
   checkDirectoryIsEmpty,
   checkResolutionsInMasterPlaylist,
   checkSegmentHash,
   checkTmpIsEmpty,
+  expectStartWith,
+  hlsInfohashExist
+} from '@server/tests/shared'
+import { areObjectStorageTestsDisabled, removeFragmentedMP4Ext, uuidRegex } from '@shared/core-utils'
+import { HttpStatusCode, VideoStreamingPlaylistType } from '@shared/models'
+import {
   cleanupTests,
   createMultipleServers,
   doubleFollow,
-  expectStartWith,
   makeRawRequest,
   ObjectStorageCommand,
   PeerTubeServer,
   setAccessTokensToServers,
   waitJobs,
   webtorrentAdd
-} from '@shared/extra-utils'
-import { HttpStatusCode, VideoStreamingPlaylistType } from '@shared/models'
+} from '@shared/server-commands'
 import { DEFAULT_AUDIO_RESOLUTION } from '../../../initializers/constants'
 
 const expect = chai.expect
@@ -88,9 +90,15 @@ async function checkHlsPlaylist (options: {
 
       const masterPlaylist = await server.streamingPlaylists.get({ url: hlsPlaylist.playlistUrl })
 
+      let i = 0
       for (const resolution of resolutions) {
         expect(masterPlaylist).to.contain(`${resolution}.m3u8`)
         expect(masterPlaylist).to.contain(`${resolution}.m3u8`)
+
+        const url = 'http://' + videoDetails.account.host
+        await hlsInfohashExist(url, hlsPlaylist.playlistUrl, i)
+
+        i++
       }
     }
 
@@ -101,7 +109,7 @@ async function checkHlsPlaylist (options: {
         const playlistName = removeFragmentedMP4Ext(basename(file.fileUrl)) + '.m3u8'
 
         const url = objectStorageBaseUrl
-          ? `${objectStorageBaseUrl}hls_${videoUUID}/${playlistName}`
+          ? `${objectStorageBaseUrl}hls/${videoUUID}/${playlistName}`
           : `${baseUrl}/static/streaming-playlists/hls/${videoUUID}/${playlistName}`
 
         const subPlaylist = await server.streamingPlaylists.get({ url })
@@ -113,7 +121,7 @@ async function checkHlsPlaylist (options: {
 
     {
       const baseUrlAndPath = objectStorageBaseUrl
-        ? objectStorageBaseUrl + 'hls_' + videoUUID
+        ? objectStorageBaseUrl + 'hls/' + videoUUID
         : baseUrl + '/static/streaming-playlists/hls/' + videoUUID
 
       for (const resolution of resolutions) {
@@ -165,7 +173,7 @@ describe('Test HLS videos', function () {
     })
 
     it('Should update the video', async function () {
-      this.timeout(10000)
+      this.timeout(30000)
 
       await servers[0].videos.update({ id: videoUUID, attributes: { name: 'video 1 updated' } })
 
@@ -236,6 +244,7 @@ describe('Test HLS videos', function () {
             enabled: true,
             allowAudioFiles: true,
             resolutions: {
+              '144p': false,
               '240p': true,
               '360p': true,
               '480p': true,