X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fapi%2Fcheck-params%2Fconfig.ts;h=3415625ca9b1b437f568d052ac4b8efbc9efb539;hb=458685e0d039a0ad3fa4f26d99746f7d6d0b40e9;hp=c3438917ecd67f2f2ae18d0a448fa64a46d02bf9;hpb=c0e8b12e7fd554ba4d2ceb0c4900804c6a4c63ea;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/api/check-params/config.ts b/server/tests/api/check-params/config.ts index c3438917e..3415625ca 100644 --- a/server/tests/api/check-params/config.ts +++ b/server/tests/api/check-params/config.ts @@ -1,8 +1,7 @@ /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ - -import 'mocha' -import { omit } from 'lodash' -import { HttpStatusCode } from '@shared/models' +import { merge } from 'lodash' +import { omit } from '@shared/core-utils' +import { CustomConfig, HttpStatusCode } from '@shared/models' import { cleanupTests, createSingleServer, @@ -11,8 +10,7 @@ import { makePutBodyRequest, PeerTubeServer, setAccessTokensToServers -} from '@shared/extra-utils' -import { CustomConfig } from '@shared/models' +} from '@shared/server-commands' describe('Test config API validators', function () { const path = '/api/v1/config/custom' @@ -55,6 +53,18 @@ describe('Test config API validators', function () { whitelisted: true } }, + client: { + videos: { + miniature: { + preferAuthorDisplayName: false + } + }, + menu: { + login: { + redirectOnSingleExternalAuth: false + } + } + }, cache: { previews: { size: 2 @@ -82,6 +92,9 @@ describe('Test config API validators', function () { videoQuota: 5242881, videoQuotaDaily: 318742 }, + videoChannels: { + maxPerUser: 20 + }, transcoding: { enabled: true, allowAdditionalExtensions: true, @@ -91,6 +104,7 @@ describe('Test config API validators', function () { profile: 'vod_profile', resolutions: { '0p': false, + '144p': false, '240p': false, '360p': true, '480p': true, @@ -99,6 +113,7 @@ describe('Test config API validators', function () { '1440p': false, '2160p': false }, + alwaysTranscodeOriginalResolution: false, webtorrent: { enabled: true }, @@ -110,6 +125,9 @@ describe('Test config API validators', function () { enabled: true, allowReplay: false, + latencySetting: { + enabled: false + }, maxDuration: 30, maxInstanceLives: -1, maxUserLives: 50, @@ -119,6 +137,7 @@ describe('Test config API validators', function () { threads: 4, profile: 'live_profile', resolutions: { + '144p': true, '240p': true, '360p': true, '480p': true, @@ -126,9 +145,13 @@ describe('Test config API validators', function () { '1080p': true, '1440p': true, '2160p': true - } + }, + alwaysTranscodeOriginalResolution: false } }, + videoStudio: { + enabled: true + }, import: { videos: { concurrency: 1, @@ -138,12 +161,16 @@ describe('Test config API validators', function () { torrent: { enabled: false } + }, + videoChannelSynchronization: { + enabled: false, + maxPerUser: 10 } }, trending: { videos: { algorithms: { - enabled: [ 'best', 'hot', 'most-viewed', 'most-liked' ], + enabled: [ 'hot', 'most-viewed', 'most-liked' ], default: 'most-viewed' } } @@ -249,7 +276,7 @@ describe('Test config API validators', function () { }) it('Should fail if it misses a key', async function () { - const newUpdateParams = omit(updateParams, 'admin.email') + const newUpdateParams = { ...updateParams, admin: omit(updateParams.admin, [ 'email' ]) } await makePutBodyRequest({ url: server.url, @@ -322,7 +349,26 @@ describe('Test config API validators', function () { }) }) - it('Should success with the correct parameters', async function () { + it('Should fail with a disabled http upload & enabled sync', async function () { + const newUpdateParams: CustomConfig = merge({}, updateParams, { + import: { + videos: { + http: { enabled: false } + }, + videoChannelSynchronization: { enabled: true } + } + }) + + await makePutBodyRequest({ + url: server.url, + path, + fields: newUpdateParams, + token: server.accessToken, + expectedStatus: HttpStatusCode.BAD_REQUEST_400 + }) + }) + + it('Should succeed with the correct parameters', async function () { await makePutBodyRequest({ url: server.url, path,