/* 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 {
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(
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)
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
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
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
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)
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
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
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
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
signup: {
enabled: false,
limit: 5,
+ requiresApproval: false,
requiresEmailVerification: false,
minimumAge: 10
},
enabled: false
},
user: {
+ history: {
+ videos: {
+ enabled: false
+ }
+ },
videoQuota: 5242881,
videoQuotaDaily: 318742
},
},
transcoding: {
enabled: true,
+ remoteRunners: {
+ enabled: true
+ },
allowAdditionalExtensions: true,
allowAudioFiles: true,
threads: 1,
'1440p': false,
'2160p': false
},
+ alwaysTranscodeOriginalResolution: false,
webtorrent: {
enabled: true
},
maxUserLives: 10,
transcoding: {
enabled: true,
+ remoteRunners: {
+ enabled: true
+ },
threads: 4,
profile: 'live_profile',
resolutions: {
'1080p': true,
'1440p': true,
'2160p': true
- }
+ },
+ alwaysTranscodeOriginalResolution: false
}
},
- videoEditor: {
+ videoStudio: {
enabled: true
},
import: {
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'
}
}
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()
})
it('Should have the correct updated video allowed extensions', async function () {
- this.timeout(10000)
+ this.timeout(30000)
const data = await server.config.getConfig()
})
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)
{
})
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)
})
expect(res.headers['x-frame-options']).to.not.exist
+ expect(res.headers['x-powered-by']).to.not.exist
}
})