X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fapi%2Fserver%2Fconfig.ts;h=59723358865182a10ea3cbc528ee3289f50d26ce;hb=5fb2e2888ce032c638e4b75d07458642f0833e52;hp=7d21b6ce9cfdb2a116fdbb58766cd1d88c81c946;hpb=e032aec9b92be25a996923361f83a96a89505254;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/api/server/config.ts b/server/tests/api/server/config.ts index 7d21b6ce9..597233588 100644 --- a/server/tests/api/server/config.ts +++ b/server/tests/api/server/config.ts @@ -1,78 +1,170 @@ -/* tslint:disable:no-unused-expression */ +/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ import 'mocha' import * as chai from 'chai' import { About } from '../../../../shared/models/server/about.model' import { CustomConfig } from '../../../../shared/models/server/custom-config.model' -import { deleteCustomConfig, getAbout, killallServers, makeHTMLRequest, reRunServer } from '../../utils' -const expect = chai.expect - import { + cleanupTests, + deleteCustomConfig, + flushAndRunServer, + getAbout, getConfig, - flushTests, - runServer, - registerUser, getCustomConfig, setAccessTokensToServers, updateCustomConfig -} from '../../utils/index' + getCustomConfig, + killallServers, + parallelTests, + registerUser, + reRunServer, + ServerInfo, + setAccessTokensToServers, + updateCustomConfig, + uploadVideo +} from '../../../../shared/extra-utils' +import { ServerConfig } from '../../../../shared/models' -function checkInitialConfig (data: CustomConfig) { +const expect = chai.expect + +function checkInitialConfig (server: ServerInfo, data: CustomConfig) { expect(data.instance.name).to.equal('PeerTube') expect(data.instance.shortDescription).to.equal( - 'PeerTube, a federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser ' + - 'with WebTorrent and Angular.' + 'PeerTube, an ActivityPub-federated video streaming platform using P2P directly in your web browser.' ) expect(data.instance.description).to.equal('Welcome to this PeerTube instance!') + expect(data.instance.terms).to.equal('No terms for now.') + expect(data.instance.creationReason).to.be.empty + expect(data.instance.codeOfConduct).to.be.empty + expect(data.instance.moderationInformation).to.be.empty + expect(data.instance.administrator).to.be.empty + expect(data.instance.maintenanceLifetime).to.be.empty + expect(data.instance.businessModel).to.be.empty + expect(data.instance.hardwareInformation).to.be.empty + + expect(data.instance.languages).to.have.lengthOf(0) + expect(data.instance.categories).to.have.lengthOf(0) + expect(data.instance.defaultClientRoute).to.equal('/videos/trending') + expect(data.instance.isNSFW).to.be.false expect(data.instance.defaultNSFWPolicy).to.equal('display') expect(data.instance.customizations.css).to.be.empty expect(data.instance.customizations.javascript).to.be.empty + expect(data.services.twitter.username).to.equal('@Chocobozzz') expect(data.services.twitter.whitelisted).to.be.false + expect(data.cache.previews.size).to.equal(1) expect(data.cache.captions.size).to.equal(1) + expect(data.signup.enabled).to.be.true expect(data.signup.limit).to.equal(4) - expect(data.admin.email).to.equal('admin1@example.com') + 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.videoQuota).to.equal(5242880) + expect(data.user.videoQuotaDaily).to.equal(-1) expect(data.transcoding.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['240p']).to.be.true expect(data.transcoding.resolutions['360p']).to.be.true expect(data.transcoding.resolutions['480p']).to.be.true expect(data.transcoding.resolutions['720p']).to.be.true expect(data.transcoding.resolutions['1080p']).to.be.true + expect(data.transcoding.resolutions['2160p']).to.be.true + expect(data.transcoding.webtorrent.enabled).to.be.true + expect(data.transcoding.hls.enabled).to.be.true + + expect(data.import.videos.http.enabled).to.be.true + expect(data.import.videos.torrent.enabled).to.be.true + expect(data.autoBlacklist.videos.ofUsers.enabled).to.be.false + + expect(data.followers.instance.enabled).to.be.true + expect(data.followers.instance.manualApproval).to.be.false + + expect(data.followings.instance.autoFollowBack.enabled).to.be.false + expect(data.followings.instance.autoFollowIndex.enabled).to.be.false + expect(data.followings.instance.autoFollowIndex.indexUrl).to.equal('') + + expect(data.broadcastMessage.enabled).to.be.false + expect(data.broadcastMessage.level).to.equal('info') + expect(data.broadcastMessage.message).to.equal('') + expect(data.broadcastMessage.dismissable).to.be.false } function checkUpdatedConfig (data: CustomConfig) { expect(data.instance.name).to.equal('PeerTube updated') expect(data.instance.shortDescription).to.equal('my short description') expect(data.instance.description).to.equal('my super description') + expect(data.instance.terms).to.equal('my super terms') + expect(data.instance.creationReason).to.equal('my super creation reason') + expect(data.instance.codeOfConduct).to.equal('my super coc') + expect(data.instance.moderationInformation).to.equal('my super moderation information') + expect(data.instance.administrator).to.equal('Kuja') + expect(data.instance.maintenanceLifetime).to.equal('forever') + expect(data.instance.businessModel).to.equal('my super business model') + expect(data.instance.hardwareInformation).to.equal('2vCore 3GB RAM') + + expect(data.instance.languages).to.deep.equal([ 'en', 'es' ]) + expect(data.instance.categories).to.deep.equal([ 1, 2 ]) + expect(data.instance.defaultClientRoute).to.equal('/videos/recently-added') + expect(data.instance.isNSFW).to.be.true expect(data.instance.defaultNSFWPolicy).to.equal('blur') expect(data.instance.customizations.javascript).to.equal('alert("coucou")') expect(data.instance.customizations.css).to.equal('body { background-color: red; }') + expect(data.services.twitter.username).to.equal('@Kuja') expect(data.services.twitter.whitelisted).to.be.true + expect(data.cache.previews.size).to.equal(2) expect(data.cache.captions.size).to.equal(3) + expect(data.signup.enabled).to.be.false expect(data.signup.limit).to.equal(5) - expect(data.admin.email).to.equal('superadmin1@example.com') + expect(data.signup.requiresEmailVerification).to.be.false + + // We override admin email in parallel tests, so skip this exception + if (parallelTests() === false) { + expect(data.admin.email).to.equal('superadmin1@example.com') + } + + expect(data.contactForm.enabled).to.be.false + expect(data.user.videoQuota).to.equal(5242881) + expect(data.user.videoQuotaDaily).to.equal(318742) + expect(data.transcoding.enabled).to.be.true expect(data.transcoding.threads).to.equal(1) + expect(data.transcoding.allowAdditionalExtensions).to.be.true + expect(data.transcoding.allowAudioFiles).to.be.true expect(data.transcoding.resolutions['240p']).to.be.false expect(data.transcoding.resolutions['360p']).to.be.true expect(data.transcoding.resolutions['480p']).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.hls.enabled).to.be.false + expect(data.transcoding.webtorrent.enabled).to.be.true + + expect(data.import.videos.http.enabled).to.be.false + expect(data.import.videos.torrent.enabled).to.be.false + expect(data.autoBlacklist.videos.ofUsers.enabled).to.be.true + + expect(data.followers.instance.enabled).to.be.false + expect(data.followers.instance.manualApproval).to.be.true + + expect(data.followings.instance.autoFollowBack.enabled).to.be.true + expect(data.followings.instance.autoFollowIndex.enabled).to.be.true + expect(data.followings.instance.autoFollowIndex.indexUrl).to.equal('https://updated.example.com') -function checkIndexTags (html: string, title: string, description: string, css: string) { - expect(html).to.contain('