]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/commitdiff
Fix torrent creation
authorChocobozzz <me@florianbigard.com>
Wed, 16 Mar 2022 17:21:36 +0000 (18:21 +0100)
committerChocobozzz <me@florianbigard.com>
Wed, 16 Mar 2022 17:35:05 +0000 (18:35 +0100)
server/lib/job-queue/handlers/manage-video-torrent.ts
server/tests/api/check-params/video-editor.ts
server/tests/api/server/jobs.ts

index 5cb4287e14918c19331275b3ff20be89bbeee03d..dfd4e6140bfe4894e8aa16a945375f352e433304 100644 (file)
@@ -28,6 +28,8 @@ async function doCreateAction (payload: ManageVideoTorrentPayload & { action: 'c
     loadFileOrLog(payload.videoFileId)
   ])
 
+  if (!video || !file) return
+
   await createTorrentAndSetInfoHash(video, file)
 
   // Refresh videoFile because the createTorrentAndSetInfoHash could be long
@@ -48,6 +50,8 @@ async function doUpdateMetadataAction (payload: ManageVideoTorrentPayload & { ac
     loadFileOrLog(payload.videoFileId)
   ])
 
+  if ((!video && !streamingPlaylist) || !file) return
+
   await updateTorrentMetadata(video || streamingPlaylist, file)
 
   await file.save()
index db284a3cca7b65ca94e45288658374bd0dc7771f..1fd22c497fd4d5bec8490b2b5d9d81c4cdb40bbc 100644 (file)
@@ -122,10 +122,11 @@ describe('Test video editor API validator', function () {
       })
 
       it('Should fail with an already in transcoding state video', async function () {
-        await server.jobs.pauseJobQueue()
-
         const { uuid } = await server.videos.quickUpload({ name: 'transcoded video' })
 
+        await server.jobs.pauseJobQueue()
+        await server.videos.runTranscoding({ videoId: uuid, transcodingType: 'hls' })
+
         await command.createEditionTasks({
           videoId: uuid,
           tasks: VideoEditorCommand.getComplexTask(),
index bd8ffe18871235b15645eccbe8a9109d0d7d7852..6cc88a12362b3d52b08f917169395300b076ecc3 100644 (file)
@@ -12,6 +12,7 @@ import {
   waitJobs
 } from '@shared/server-commands'
 import { wait } from '@shared/core-utils'
+import { uuid } from 'short-uuid'
 
 const expect = chai.expect
 
@@ -95,14 +96,16 @@ describe('Test jobs', function () {
   it('Should pause the job queue', async function () {
     this.timeout(120000)
 
-    await servers[1].jobs.pauseJobQueue()
+    const { uuid } = await servers[1].videos.upload({ attributes: { name: 'video2' } })
+    await waitJobs(servers)
 
-    await servers[1].videos.upload({ attributes: { name: 'video2' } })
+    await servers[1].jobs.pauseJobQueue()
+    await servers[1].videos.runTranscoding({ videoId: uuid, transcodingType: 'hls' })
 
     await wait(5000)
 
     const body = await servers[1].jobs.list({ state: 'waiting', jobType: 'video-transcoding' })
-    expect(body.data).to.have.lengthOf(1)
+    expect(body.data).to.have.lengthOf(4)
   })
 
   it('Should resume the job queue', async function () {