]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - shared/extra-utils/miscs/miscs.ts
move from trending routes to alg param
[github/Chocobozzz/PeerTube.git] / shared / extra-utils / miscs / miscs.ts
index 3c8191ae886a04fddb28ccb964ec2259693357af..1cb1cf4408189193c4b1ca59e8e8c667fd8a4fda 100644 (file)
@@ -1,11 +1,12 @@
 /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
 
 import * as chai from 'chai'
+import * as ffmpeg from 'fluent-ffmpeg'
+import { ensureDir, pathExists, readFile, stat } from 'fs-extra'
 import { basename, dirname, isAbsolute, join, resolve } from 'path'
 import * as request from 'supertest'
 import * as WebTorrent from 'webtorrent'
-import { ensureDir, pathExists, readFile, stat } from 'fs-extra'
-import * as ffmpeg from 'fluent-ffmpeg'
+import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes'
 
 const expect = chai.expect
 let webtorrent: WebTorrent.Instance
@@ -44,14 +45,14 @@ function root () {
   return root
 }
 
-function buildServerDirectory (internalServerNumber: number, directory: string) {
-  return join(root(), 'test' + internalServerNumber, directory)
+function buildServerDirectory (server: { internalServerNumber: number }, directory: string) {
+  return join(root(), 'test' + server.internalServerNumber, directory)
 }
 
 async function testImage (url: string, imageName: string, imagePath: string, extension = '.jpg') {
   const res = await request(url)
     .get(imagePath)
-    .expect(200)
+    .expect(HttpStatusCode.OK_200)
 
   const body = res.body
 
@@ -63,6 +64,10 @@ async function testImage (url: string, imageName: string, imagePath: string, ext
   expect(data.length).to.be.below(maxLength, "the generated image is way larger than the recorded fixture")
 }
 
+function isGithubCI () {
+  return !!process.env.GITHUB_WORKSPACE
+}
+
 function buildAbsoluteFixturePath (path: string, customCIPath = false) {
   if (isAbsolute(path)) return path
 
@@ -88,6 +93,7 @@ async function generateHighBitrateVideo () {
 
   const exists = await pathExists(tempFixturePath)
   if (!exists) {
+    console.log('Generating high bitrate video.')
 
     // Generate a random, high bitrate video on the fly, so we don't have to include
     // a large file in the repo. The video needs to have a certain minimum length so
@@ -115,6 +121,8 @@ async function generateVideoWithFramerate (fps = 60) {
 
   const exists = await pathExists(tempFixturePath)
   if (!exists) {
+    console.log('Generating video with framerate %d.', fps)
+
     return new Promise<string>((res, rej) => {
       ffmpeg()
         .outputOptions([ '-f rawvideo', '-video_size 1280x720', '-i /dev/urandom' ])
@@ -147,6 +155,7 @@ export {
   getFileSize,
   immutableAssign,
   testImage,
+  isGithubCI,
   buildAbsoluteFixturePath,
   root,
   generateHighBitrateVideo,