]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/tests/cli/optimize-old-videos.ts
Introduce server commands
[github/Chocobozzz/PeerTube.git] / server / tests / cli / optimize-old-videos.ts
index 66dd39cce7ffa4d4a8d3342b148b82207bb3328a..e369a33058a909d3d52a8611b2ec120d4083876d 100644 (file)
@@ -1,38 +1,34 @@
-/* tslint:disable:no-unused-expression */
+/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
 
 import 'mocha'
 import * as chai from 'chai'
-import { getMaxBitrate, Video, VideoDetails, VideoResolution } from '../../../shared/models/videos'
+import { join } from 'path'
 import {
+  cleanupTests,
   doubleFollow,
-  execCLI,
   flushAndRunMultipleServers,
-  flushTests, generateHighBitrateVideo,
-  getEnvCli,
+  generateHighBitrateVideo,
   getVideo,
   getVideosList,
-  killallServers, root,
   ServerInfo,
   setAccessTokensToServers,
-  uploadVideo, viewVideo, wait
-} from '../utils'
-import { waitJobs } from '../utils/server/jobs'
-import { getVideoFileBitrate, getVideoFileFPS, getVideoFileResolution } from '../../helpers/ffmpeg-utils'
-import { VIDEO_TRANSCODING_FPS } from '../../initializers'
-import { join } from 'path'
+  uploadVideo,
+  viewVideo,
+  wait
+} from '../../../shared/extra-utils'
+import { waitJobs } from '../../../shared/extra-utils/server/jobs'
+import { getMaxBitrate, Video, VideoDetails, VideoResolution } from '../../../shared/models/videos'
+import { getVideoFileBitrate, getVideoFileFPS, getVideoFileResolution } from '../../helpers/ffprobe-utils'
+import { VIDEO_TRANSCODING_FPS } from '../../initializers/constants'
 
 const expect = chai.expect
 
 describe('Test optimize old videos', function () {
   let servers: ServerInfo[] = []
-  let video1UUID: string
-  let video2UUID: string
 
   before(async function () {
     this.timeout(200000)
 
-    await flushTests()
-
     // Run server 2 to have transcoding enabled
     servers = await flushAndRunMultipleServers(2)
     await setAccessTokensToServers(servers)
@@ -45,14 +41,12 @@ describe('Test optimize old videos', function () {
       tempFixturePath = await generateHighBitrateVideo()
 
       const bitrate = await getVideoFileBitrate(tempFixturePath)
-      expect(bitrate).to.be.above(getMaxBitrate(VideoResolution.H_1080P, 60, VIDEO_TRANSCODING_FPS))
+      expect(bitrate).to.be.above(getMaxBitrate(VideoResolution.H_1080P, 25, VIDEO_TRANSCODING_FPS))
     }
 
     // Upload two videos for our needs
-    const res1 = await uploadVideo(servers[0].url, servers[0].accessToken, { name: 'video1', fixture: tempFixturePath })
-    video1UUID = res1.body.video.uuid
-    const res2 = await uploadVideo(servers[0].url, servers[0].accessToken, { name: 'video2', fixture: tempFixturePath })
-    video2UUID = res2.body.video.uuid
+    await uploadVideo(servers[0].url, servers[0].accessToken, { name: 'video1', fixture: tempFixturePath })
+    await uploadVideo(servers[0].url, servers[0].accessToken, { name: 'video2', fixture: tempFixturePath })
 
     await waitJobs(servers)
   })
@@ -74,11 +68,9 @@ describe('Test optimize old videos', function () {
   })
 
   it('Should run optimize script', async function () {
-    this.timeout(120000)
-
-    const env = getEnvCli(servers[0])
-    await execCLI(`${env} npm run optimize-old-videos`)
+    this.timeout(200000)
 
+    await servers[0].cliCommand.execWithEnv('npm run optimize-old-videos')
     await waitJobs(servers)
 
     for (const server of servers) {
@@ -101,9 +93,9 @@ describe('Test optimize old videos', function () {
         expect(videosDetails.files).to.have.lengthOf(1)
         const file = videosDetails.files[0]
 
-        expect(file.size).to.be.below(5000000)
+        expect(file.size).to.be.below(8000000)
 
-        const path = join(root(), 'test1', 'videos', video.uuid + '-' + file.resolution.id + '.mp4')
+        const path = servers[0].serversCommand.buildDirectory(join('videos', video.uuid + '-' + file.resolution.id + '.mp4'))
         const bitrate = await getVideoFileBitrate(path)
         const fps = await getVideoFileFPS(path)
         const resolution = await getVideoFileResolution(path)
@@ -115,6 +107,6 @@ describe('Test optimize old videos', function () {
   })
 
   after(async function () {
-    killallServers(servers)
+    await cleanupTests(servers)
   })
 })