/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-
-import 'mocha'
-import { omit } from 'lodash'
+import { merge } from 'lodash'
+import { omit } from '@shared/core-utils'
+import { CustomConfig, HttpStatusCode } from '@shared/models'
import {
cleanupTests,
createSingleServer,
PeerTubeServer,
setAccessTokensToServers
} from '@shared/server-commands'
-import { CustomConfig, HttpStatusCode } from '@shared/models'
describe('Test config API validators', function () {
const path = '/api/v1/config/custom'
signup: {
enabled: false,
limit: 5,
+ requiresApproval: false,
requiresEmailVerification: false,
minimumAge: 16
},
'1440p': false,
'2160p': false
},
+ alwaysTranscodeOriginalResolution: false,
webtorrent: {
enabled: true
},
enabled: true,
allowReplay: false,
+ latencySetting: {
+ enabled: false
+ },
maxDuration: 30,
maxInstanceLives: -1,
maxUserLives: 50,
'1080p': true,
'1440p': true,
'2160p': true
- }
+ },
+ alwaysTranscodeOriginalResolution: false
}
},
+ videoStudio: {
+ enabled: true
+ },
import: {
videos: {
concurrency: 1,
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'
}
}
})
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,
signup: {
enabled: true,
limit: 5,
+ requiresApproval: true,
requiresEmailVerification: true
}
}
})
})
- 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,