X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fcli%2Fregenerate-thumbnails.ts;h=780c9b4bd839c31e84af72b476d4200be9b2f0c4;hb=b65de1be4dcf626c552be613d531d3f6e23c6085;hp=56005518a0350bf39790c0489e4fb65347bdfbee;hpb=a786d8a08bf99f339bf16808f46e160404497ae2;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/cli/regenerate-thumbnails.ts b/server/tests/cli/regenerate-thumbnails.ts index 56005518a..780c9b4bd 100644 --- a/server/tests/cli/regenerate-thumbnails.ts +++ b/server/tests/cli/regenerate-thumbnails.ts @@ -2,25 +2,33 @@ import 'mocha' import { expect } from 'chai' import { writeFile } from 'fs-extra' import { basename, join } from 'path' -import { Video } from '@shared/models' +import { HttpStatusCode, Video } from '@shared/models' import { - buildServerDirectory, cleanupTests, + createMultipleServers, doubleFollow, - execCLI, - flushAndRunMultipleServers, - getEnvCli, - getVideo, makeRawRequest, - ServerInfo, + PeerTubeServer, setAccessTokensToServers, - uploadVideoAndGetId, waitJobs } from '../../../shared/extra-utils' -import { HttpStatusCode } from '@shared/core-utils' + +async function testThumbnail (server: PeerTubeServer, videoId: number | string) { + const video = await server.videos.get({ id: videoId }) + + const requests = [ + makeRawRequest(join(server.url, video.thumbnailPath), HttpStatusCode.OK_200), + makeRawRequest(join(server.url, video.thumbnailPath), HttpStatusCode.OK_200) + ] + + for (const req of requests) { + const res = await req + expect(res.body).to.not.have.lengthOf(0) + } +} describe('Test regenerate thumbnails script', function () { - let servers: ServerInfo[] + let servers: PeerTubeServer[] let video1: Video let video2: Video @@ -32,28 +40,28 @@ describe('Test regenerate thumbnails script', function () { before(async function () { this.timeout(60000) - servers = await flushAndRunMultipleServers(2) + servers = await createMultipleServers(2) await setAccessTokensToServers(servers) await doubleFollow(servers[0], servers[1]) { - const videoUUID1 = (await uploadVideoAndGetId({ server: servers[0], videoName: 'video 1' })).uuid - video1 = await (getVideo(servers[0].url, videoUUID1).then(res => res.body)) + const videoUUID1 = (await servers[0].videos.quickUpload({ name: 'video 1' })).uuid + video1 = await servers[0].videos.get({ id: videoUUID1 }) - thumbnail1Path = join(buildServerDirectory(servers[0], 'thumbnails'), basename(video1.thumbnailPath)) + thumbnail1Path = join(servers[0].servers.buildDirectory('thumbnails'), basename(video1.thumbnailPath)) - const videoUUID2 = (await uploadVideoAndGetId({ server: servers[0], videoName: 'video 2' })).uuid - video2 = await (getVideo(servers[0].url, videoUUID2).then(res => res.body)) + const videoUUID2 = (await servers[0].videos.quickUpload({ name: 'video 2' })).uuid + video2 = await servers[0].videos.get({ id: videoUUID2 }) } { - const videoUUID = (await uploadVideoAndGetId({ server: servers[1], videoName: 'video 3' })).uuid + const videoUUID = (await servers[1].videos.quickUpload({ name: 'video 3' })).uuid await waitJobs(servers) - remoteVideo = await (getVideo(servers[0].url, videoUUID).then(res => res.body)) + remoteVideo = await servers[0].videos.get({ id: videoUUID }) - thumbnailRemotePath = join(buildServerDirectory(servers[0], 'thumbnails'), basename(remoteVideo.thumbnailPath)) + thumbnailRemotePath = join(servers[0].servers.buildDirectory('thumbnails'), basename(remoteVideo.thumbnailPath)) } await writeFile(thumbnail1Path, '') @@ -77,25 +85,27 @@ describe('Test regenerate thumbnails script', function () { } }) - it('Should regenerate thumbnails from the CLI', async function () { + it('Should regenerate local thumbnails from the CLI', async function () { this.timeout(15000) - const env = getEnvCli(servers[0]) - await execCLI(`${env} npm run regenerate-thumbnails`) + await servers[0].cli.execWithEnv(`npm run regenerate-thumbnails`) }) - it('Should have regenerated thumbbnails', async function () { - { - const res1 = await makeRawRequest(join(servers[0].url, video1.thumbnailPath), HttpStatusCode.OK_200) - expect(res1.body).to.not.have.lengthOf(0) + it('Should have generated new thumbnail files', async function () { + await testThumbnail(servers[0], video1.uuid) + await testThumbnail(servers[0], video2.uuid) - const res2 = await makeRawRequest(join(servers[0].url, video1.previewPath), HttpStatusCode.OK_200) - expect(res2.body).to.not.have.lengthOf(0) + const res = await makeRawRequest(join(servers[0].url, remoteVideo.thumbnailPath), HttpStatusCode.OK_200) + expect(res.body).to.have.lengthOf(0) + }) + + it('Should have deleted old thumbnail files', async function () { + { + await makeRawRequest(join(servers[0].url, video1.thumbnailPath), HttpStatusCode.NOT_FOUND_404) } { - const res = await makeRawRequest(join(servers[0].url, video2.thumbnailPath), HttpStatusCode.OK_200) - expect(res.body).to.not.have.lengthOf(0) + await makeRawRequest(join(servers[0].url, video2.thumbnailPath), HttpStatusCode.NOT_FOUND_404) } {