X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fplugins%2Ffilter-hooks.ts;h=026c7e8566d1dab86d5147f9d6f0018d39ee7e87;hb=910744fb084499a110d26bf5542abebb8a750b19;hp=e0f25ca26429245d8cbd220d05886e93a505f39a;hpb=28dca0a2211524bbf3ad17666c607eb6325763b8;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/plugins/filter-hooks.ts b/server/tests/plugins/filter-hooks.ts index e0f25ca26..026c7e856 100644 --- a/server/tests/plugins/filter-hooks.ts +++ b/server/tests/plugins/filter-hooks.ts @@ -1,7 +1,6 @@ /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ -import 'mocha' -import * as chai from 'chai' +import { expect } from 'chai' import { HttpStatusCode, VideoDetails, VideoImportState, VideoPlaylist, VideoPlaylistPrivacy, VideoPrivacy } from '@shared/models' import { cleanupTests, @@ -16,8 +15,6 @@ import { } from '@shared/server-commands' import { FIXTURE_URLS } from '../shared' -const expect = chai.expect - describe('Test plugin filter hooks', function () { let servers: PeerTubeServer[] let videoUUID: string @@ -295,7 +292,7 @@ describe('Test plugin filter hooks', function () { await servers[0].servers.waitUntilLog('Run hook filter:api.overviews.videos.list.result', 3) }) - describe('Should run filter:video.auto-blacklist.result', function () { + describe('filter:video.auto-blacklist.result', function () { async function checkIsBlacklisted (id: number | string, value: boolean) { const video = await servers[0].videos.getWithToken({ id }) @@ -395,7 +392,7 @@ describe('Test plugin filter hooks', function () { const uuids: string[] = [] for (const name of [ 'bad torrent', 'bad file', 'bad playlist file' ]) { - const uuid = (await servers[0].videos.quickUpload({ name: name })).uuid + const uuid = (await servers[0].videos.quickUpload({ name })).uuid uuids.push(uuid) } @@ -446,7 +443,7 @@ describe('Test plugin filter hooks', function () { for (const name of [ 'bad embed', 'good embed' ]) { { - const uuid = (await servers[0].videos.quickUpload({ name: name })).uuid + const uuid = (await servers[0].videos.quickUpload({ name })).uuid embedVideos.push(await servers[0].videos.get({ id: uuid })) } @@ -632,6 +629,87 @@ describe('Test plugin filter hooks', function () { }) + describe('Job queue filters', function () { + let videoUUID: string + + before(async function () { + this.timeout(120_000) + + await servers[0].config.enableMinimumTranscoding() + const { uuid } = await servers[0].videos.quickUpload({ name: 'studio' }) + + const video = await servers[0].videos.get({ id: uuid }) + expect(video.duration).at.least(2) + videoUUID = video.uuid + + await waitJobs(servers) + + await servers[0].config.enableStudio() + }) + + it('Should run filter:job-queue.process.params', async function () { + this.timeout(120_000) + + await servers[0].videoStudio.createEditionTasks({ + videoId: videoUUID, + tasks: [ + { + name: 'add-intro', + options: { + file: 'video_very_short_240p.mp4' + } + } + ] + }) + + await waitJobs(servers) + + await servers[0].servers.waitUntilLog('Run hook filter:job-queue.process.params', 1, false) + + const video = await servers[0].videos.get({ id: videoUUID }) + expect(video.duration).at.most(2) + }) + + it('Should run filter:job-queue.process.result', async function () { + await servers[0].servers.waitUntilLog('Run hook filter:job-queue.process.result', 1, false) + }) + }) + + describe('Transcoding filters', async function () { + + it('Should run filter:transcoding.auto.resolutions-to-transcode.result', async function () { + const { uuid } = await servers[0].videos.quickUpload({ name: 'transcode-filter' }) + + await waitJobs(servers) + + const video = await servers[0].videos.get({ id: uuid }) + expect(video.files).to.have.lengthOf(2) + expect(video.files.find(f => f.resolution.id === 100 as any)).to.exist + }) + }) + + describe('Video channel filters', async function () { + + it('Should run filter:api.video-channels.list.params', async function () { + const { data } = await servers[0].channels.list({ start: 0, count: 0 }) + + // plugin do +1 to the count parameter + expect(data).to.have.lengthOf(1) + }) + + it('Should run filter:api.video-channels.list.result', async function () { + const { total } = await servers[0].channels.list({ start: 0, count: 1 }) + + // plugin do +1 to the total parameter + expect(total).to.equal(4) + }) + + it('Should run filter:api.video-channel.get.result', async function () { + const channel = await servers[0].channels.get({ channelName: 'root_channel' }) + expect(channel.displayName).to.equal('Main root channel <3') + }) + }) + after(async function () { await cleanupTests(servers) })