X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fapi%2Fserver%2Fconfig.ts;h=54a40b994c7d65baa9145be3ca6f6bdeed1ab602;hb=d102de1b38f2877463529c3b27bd35ffef4fd8bf;hp=5028b65e61de3910bf9cb254f49d259cc641d5e2;hpb=f443a74649174b2f9347c158e30f8ac7aa3e958a;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/api/server/config.ts b/server/tests/api/server/config.ts index 5028b65e6..54a40b994 100644 --- a/server/tests/api/server/config.ts +++ b/server/tests/api/server/config.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 { parallelTests } from '@shared/core-utils' import { CustomConfig, HttpStatusCode } from '@shared/models' import { @@ -13,8 +12,6 @@ import { setAccessTokensToServers } from '@shared/server-commands' -const expect = chai.expect - function checkInitialConfig (server: PeerTubeServer, data: CustomConfig) { expect(data.instance.name).to.equal('PeerTube') expect(data.instance.shortDescription).to.equal( @@ -53,17 +50,20 @@ function checkInitialConfig (server: PeerTubeServer, data: CustomConfig) { expect(data.signup.enabled).to.be.true expect(data.signup.limit).to.equal(4) expect(data.signup.minimumAge).to.equal(16) + expect(data.signup.requiresApproval).to.be.false expect(data.signup.requiresEmailVerification).to.be.false expect(data.admin.email).to.equal('admin' + server.internalServerNumber + '@example.com') expect(data.contactForm.enabled).to.be.true + expect(data.user.history.videos.enabled).to.be.true expect(data.user.videoQuota).to.equal(5242880) expect(data.user.videoQuotaDaily).to.equal(-1) expect(data.videoChannels.maxPerUser).to.equal(20) expect(data.transcoding.enabled).to.be.false + expect(data.transcoding.remoteRunners.enabled).to.be.false expect(data.transcoding.allowAdditionalExtensions).to.be.false expect(data.transcoding.allowAudioFiles).to.be.false expect(data.transcoding.threads).to.equal(2) @@ -77,6 +77,7 @@ function checkInitialConfig (server: PeerTubeServer, data: CustomConfig) { expect(data.transcoding.resolutions['1080p']).to.be.true expect(data.transcoding.resolutions['1440p']).to.be.true expect(data.transcoding.resolutions['2160p']).to.be.true + expect(data.transcoding.alwaysTranscodeOriginalResolution).to.be.true expect(data.transcoding.webtorrent.enabled).to.be.true expect(data.transcoding.hls.enabled).to.be.true @@ -87,6 +88,7 @@ function checkInitialConfig (server: PeerTubeServer, data: CustomConfig) { expect(data.live.maxInstanceLives).to.equal(20) expect(data.live.maxUserLives).to.equal(3) expect(data.live.transcoding.enabled).to.be.false + expect(data.live.transcoding.remoteRunners.enabled).to.be.false expect(data.live.transcoding.threads).to.equal(2) expect(data.live.transcoding.profile).to.equal('default') expect(data.live.transcoding.resolutions['144p']).to.be.false @@ -97,8 +99,9 @@ function checkInitialConfig (server: PeerTubeServer, data: CustomConfig) { expect(data.live.transcoding.resolutions['1080p']).to.be.false expect(data.live.transcoding.resolutions['1440p']).to.be.false expect(data.live.transcoding.resolutions['2160p']).to.be.false + expect(data.live.transcoding.alwaysTranscodeOriginalResolution).to.be.true - expect(data.videoEditor.enabled).to.be.false + expect(data.videoStudio.enabled).to.be.false expect(data.import.videos.concurrency).to.equal(2) expect(data.import.videos.http.enabled).to.be.true @@ -153,6 +156,7 @@ function checkUpdatedConfig (data: CustomConfig) { expect(data.signup.enabled).to.be.false expect(data.signup.limit).to.equal(5) + expect(data.signup.requiresApproval).to.be.false expect(data.signup.requiresEmailVerification).to.be.false expect(data.signup.minimumAge).to.equal(10) @@ -163,12 +167,14 @@ function checkUpdatedConfig (data: CustomConfig) { expect(data.contactForm.enabled).to.be.false + expect(data.user.history.videos.enabled).to.be.false expect(data.user.videoQuota).to.equal(5242881) expect(data.user.videoQuotaDaily).to.equal(318742) expect(data.videoChannels.maxPerUser).to.equal(24) expect(data.transcoding.enabled).to.be.true + expect(data.transcoding.remoteRunners.enabled).to.be.true expect(data.transcoding.threads).to.equal(1) expect(data.transcoding.concurrency).to.equal(3) expect(data.transcoding.allowAdditionalExtensions).to.be.true @@ -181,6 +187,7 @@ function checkUpdatedConfig (data: CustomConfig) { expect(data.transcoding.resolutions['720p']).to.be.false expect(data.transcoding.resolutions['1080p']).to.be.false expect(data.transcoding.resolutions['2160p']).to.be.false + expect(data.transcoding.alwaysTranscodeOriginalResolution).to.be.false expect(data.transcoding.hls.enabled).to.be.false expect(data.transcoding.webtorrent.enabled).to.be.true @@ -191,6 +198,7 @@ function checkUpdatedConfig (data: CustomConfig) { expect(data.live.maxInstanceLives).to.equal(-1) expect(data.live.maxUserLives).to.equal(10) expect(data.live.transcoding.enabled).to.be.true + expect(data.live.transcoding.remoteRunners.enabled).to.be.true expect(data.live.transcoding.threads).to.equal(4) expect(data.live.transcoding.profile).to.equal('live_profile') expect(data.live.transcoding.resolutions['144p']).to.be.true @@ -200,8 +208,9 @@ function checkUpdatedConfig (data: CustomConfig) { expect(data.live.transcoding.resolutions['720p']).to.be.true expect(data.live.transcoding.resolutions['1080p']).to.be.true expect(data.live.transcoding.resolutions['2160p']).to.be.true + expect(data.live.transcoding.alwaysTranscodeOriginalResolution).to.be.false - expect(data.videoEditor.enabled).to.be.true + expect(data.videoStudio.enabled).to.be.true expect(data.import.videos.concurrency).to.equal(4) expect(data.import.videos.http.enabled).to.be.false @@ -284,6 +293,7 @@ const newCustomConfig: CustomConfig = { signup: { enabled: false, limit: 5, + requiresApproval: false, requiresEmailVerification: false, minimumAge: 10 }, @@ -294,6 +304,11 @@ const newCustomConfig: CustomConfig = { enabled: false }, user: { + history: { + videos: { + enabled: false + } + }, videoQuota: 5242881, videoQuotaDaily: 318742 }, @@ -302,6 +317,9 @@ const newCustomConfig: CustomConfig = { }, transcoding: { enabled: true, + remoteRunners: { + enabled: true + }, allowAdditionalExtensions: true, allowAudioFiles: true, threads: 1, @@ -318,6 +336,7 @@ const newCustomConfig: CustomConfig = { '1440p': false, '2160p': false }, + alwaysTranscodeOriginalResolution: false, webtorrent: { enabled: true }, @@ -336,6 +355,9 @@ const newCustomConfig: CustomConfig = { maxUserLives: 10, transcoding: { enabled: true, + remoteRunners: { + enabled: true + }, threads: 4, profile: 'live_profile', resolutions: { @@ -347,10 +369,11 @@ const newCustomConfig: CustomConfig = { '1080p': true, '1440p': true, '2160p': true - } + }, + alwaysTranscodeOriginalResolution: false } }, - videoEditor: { + videoStudio: { enabled: true }, import: { @@ -362,12 +385,16 @@ const newCustomConfig: CustomConfig = { 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: 'hot' } } @@ -461,9 +488,9 @@ describe('Test config', function () { this.timeout(5000) await Promise.all([ - server.users.register({ username: 'user1' }), - server.users.register({ username: 'user2' }), - server.users.register({ username: 'user3' }) + server.registrations.register({ username: 'user1' }), + server.registrations.register({ username: 'user2' }), + server.registrations.register({ username: 'user3' }) ]) const data = await server.config.getConfig() @@ -499,7 +526,7 @@ describe('Test config', function () { }) it('Should have the correct updated video allowed extensions', async function () { - this.timeout(10000) + this.timeout(30000) const data = await server.config.getConfig() @@ -551,15 +578,13 @@ describe('Test config', function () { }) it('Should remove the custom configuration', async function () { - this.timeout(10000) - await server.config.deleteCustomConfig() const data = await server.config.getCustomConfig() checkInitialConfig(server, data) }) - it('Should enable frameguard', async function () { + it('Should enable/disable security headers', async function () { this.timeout(25000) { @@ -570,13 +595,15 @@ describe('Test config', function () { }) expect(res.headers['x-frame-options']).to.exist + expect(res.headers['x-powered-by']).to.equal('PeerTube') } await killallServers([ server ]) const config = { security: { - frameguard: { enabled: false } + frameguard: { enabled: false }, + powered_by_header: { enabled: false } } } await server.run(config) @@ -589,6 +616,7 @@ describe('Test config', function () { }) expect(res.headers['x-frame-options']).to.not.exist + expect(res.headers['x-powered-by']).to.not.exist } })