X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=shared%2Fextra-utils%2Fmiscs%2Fmiscs.ts;h=1cb1cf4408189193c4b1ca59e8e8c667fd8a4fda;hb=ba5d4a849c7d7ba05f093480ae12286c4af61556;hp=3c8191ae886a04fddb28ccb964ec2259693357af;hpb=d218e7de9400938ae6ac593d9ae5842e23abd4f0;p=github%2FChocobozzz%2FPeerTube.git diff --git a/shared/extra-utils/miscs/miscs.ts b/shared/extra-utils/miscs/miscs.ts index 3c8191ae8..1cb1cf440 100644 --- a/shared/extra-utils/miscs/miscs.ts +++ b/shared/extra-utils/miscs/miscs.ts @@ -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((res, rej) => { ffmpeg() .outputOptions([ '-f rawvideo', '-video_size 1280x720', '-i /dev/urandom' ]) @@ -147,6 +155,7 @@ export { getFileSize, immutableAssign, testImage, + isGithubCI, buildAbsoluteFixturePath, root, generateHighBitrateVideo,