From 53c06121a45a2ec943002833a0152bbfd4856ee4 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 18 Feb 2021 14:06:12 +0100 Subject: [PATCH] Fix import tests --- server/controllers/static.ts | 1 + server/lib/thumbnail.ts | 2 +- server/lib/video-paths.ts | 4 ++-- server/tests/api/videos/video-imports.ts | 10 ++++++---- .../tests/fixtures/video_import_preview.jpg | Bin 37360 -> 9551 bytes 5 files changed, 10 insertions(+), 7 deletions(-) diff --git a/server/controllers/static.ts b/server/controllers/static.ts index 7cc7f2c62..4baa31117 100644 --- a/server/controllers/static.ts +++ b/server/controllers/static.ts @@ -34,6 +34,7 @@ staticRouter.use(cors()) */ // FIXME: deprecated in 3.2, use lazy-statics instead +// Due to historical reasons, we can't really remove this controller const torrentsPhysicalPath = CONFIG.STORAGE.TORRENTS_DIR staticRouter.use( STATIC_PATHS.TORRENTS, diff --git a/server/lib/thumbnail.ts b/server/lib/thumbnail.ts index e37aefc85..06066f910 100644 --- a/server/lib/thumbnail.ts +++ b/server/lib/thumbnail.ts @@ -74,7 +74,7 @@ function createVideoMiniatureFromUrl (options: { ? existingThumbnail.fileUrl : null - // If the thumbnail URL did not change and has a unique filename (introduced in 3.2), avoid thumbnail processing + // If the thumbnail URL did not change and has a unique filename (introduced in 3.1), avoid thumbnail processing const thumbnailUrlChanged = !existingUrl || existingUrl !== downloadUrl || downloadUrl.endsWith(`${video.uuid}.jpg`) // Do not change the thumbnail filename if the file did not change diff --git a/server/lib/video-paths.ts b/server/lib/video-paths.ts index 0385e89cc..1708c479a 100644 --- a/server/lib/video-paths.ts +++ b/server/lib/video-paths.ts @@ -9,7 +9,7 @@ import { isStreamingPlaylist, MStreamingPlaylist, MStreamingPlaylistVideo, MVide function generateVideoFilename (videoOrPlaylist: MVideo | MStreamingPlaylistVideo, isHls: boolean, resolution: number, extname: string) { const video = extractVideo(videoOrPlaylist) - // FIXME: use a generated uuid instead, that will break compatibility with PeerTube < 3.2 + // FIXME: use a generated uuid instead, that will break compatibility with PeerTube < 3.1 // const uuid = uuidv4() const uuid = video.uuid @@ -69,7 +69,7 @@ function generateTorrentFileName (videoOrPlaylist: MVideo | MStreamingPlaylistVi const video = extractVideo(videoOrPlaylist) const extension = '.torrent' - // FIXME: use a generated uuid instead, that will break compatibility with PeerTube < 3.2 + // FIXME: use a generated uuid instead, that will break compatibility with PeerTube < 3.1 // const uuid = uuidv4() const uuid = video.uuid diff --git a/server/tests/api/videos/video-imports.ts b/server/tests/api/videos/video-imports.ts index 61e7a81ee..80834ca86 100644 --- a/server/tests/api/videos/video-imports.ts +++ b/server/tests/api/videos/video-imports.ts @@ -129,8 +129,10 @@ describe('Test video imports', function () { const attributes = immutableAssign(baseAttributes, { targetUrl: getYoutubeVideoUrl() }) const res = await importVideo(servers[0].url, servers[0].accessToken, attributes) expect(res.body.video.name).to.equal('small video - youtube') - expect(res.body.video.thumbnailPath).to.equal(`/static/thumbnails/${res.body.video.uuid}.jpg`) - expect(res.body.video.previewPath).to.equal(`/lazy-static/previews/${res.body.video.uuid}.jpg`) + + expect(res.body.video.thumbnailPath).to.match(new RegExp(`^/static/thumbnails/.+.jpg$`)) + expect(res.body.video.previewPath).to.match(new RegExp(`^/lazy-static/previews/.+.jpg$`)) + await testImage(servers[0].url, 'video_import_thumbnail', res.body.video.thumbnailPath) await testImage(servers[0].url, 'video_import_preview', res.body.video.previewPath) @@ -141,7 +143,7 @@ describe('Test video imports', function () { const enCaption = videoCaptions.find(caption => caption.language.id === 'en') expect(enCaption).to.exist expect(enCaption.language.label).to.equal('English') - expect(enCaption.captionPath).to.equal(`/lazy-static/video-captions/${res.body.video.uuid}-en.vtt`) + expect(enCaption.captionPath).to.match(new RegExp(`^/lazy-static/video-captions/.+-en.vtt$`)) await testCaptionFile(servers[0].url, enCaption.captionPath, `WEBVTT Kind: captions Language: en @@ -158,7 +160,7 @@ Adding subtitles is very easy to do`) const frCaption = videoCaptions.find(caption => caption.language.id === 'fr') expect(frCaption).to.exist expect(frCaption.language.label).to.equal('French') - expect(frCaption.captionPath).to.equal(`/lazy-static/video-captions/${res.body.video.uuid}-fr.vtt`) + expect(frCaption.captionPath).to.match(new RegExp(`^/lazy-static/video-captions/.+-fr.vtt`)) await testCaptionFile(servers[0].url, frCaption.captionPath, `WEBVTT Kind: captions Language: fr diff --git a/server/tests/fixtures/video_import_preview.jpg b/server/tests/fixtures/video_import_preview.jpg index 1f8d1d91d7a53f785423708bc9366a1d5a285b6f..a98da178ff3f2c334e107ab361db56c5b4c00944 100644 GIT binary patch literal 9551 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 literal 37360 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