X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fapi%2Fserver%2Fconfig.ts;h=8a5f27c34a2dbf2f5ffed47fd54d734125f77818;hb=bee0abffff73804d816b90c7fd599e0a51c09d61;hp=3f1b1532cb319399b73bc3857061020284cdf8ed;hpb=0db1a226507a39b0a663e3e63f04851836a44d5a;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/api/server/config.ts b/server/tests/api/server/config.ts index 3f1b1532c..8a5f27c34 100644 --- a/server/tests/api/server/config.ts +++ b/server/tests/api/server/config.ts @@ -5,15 +5,79 @@ 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, reRunServer } from '../../utils' -const expect = chai.expect - import { - getConfig, flushTests, + getConfig, + getCustomConfig, + registerUser, runServer, - registerUser, getCustomConfig, setAccessTokensToServers, updateCustomConfig + setAccessTokensToServers, + updateCustomConfig } from '../../utils/index' +const expect = chai.expect + +function checkInitialConfig (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.' + ) + expect(data.instance.description).to.equal('Welcome to this PeerTube instance!') + expect(data.instance.terms).to.equal('No terms for now.') + expect(data.instance.defaultClientRoute).to.equal('/videos/trending') + 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.user.videoQuota).to.equal(5242880) + expect(data.user.videoQuotaDaily).to.equal(318742) + expect(data.transcoding.enabled).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.import.videos.http.enabled).to.be.true + expect(data.import.videos.torrent.enabled).to.be.true +} + +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.defaultClientRoute).to.equal('/videos/recently-added') + 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.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.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.import.videos.http.enabled).to.be.false + expect(data.import.videos.torrent.enabled).to.be.false +} + describe('Test config', function () { let server = null @@ -51,33 +115,11 @@ describe('Test config', function () { const res = await getCustomConfig(server.url, server.accessToken) const data = res.body as 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.' - ) - expect(data.instance.description).to.equal('Welcome to this PeerTube instance!') - expect(data.instance.terms).to.equal('No terms for now.') - expect(data.instance.defaultClientRoute).to.equal('/videos/trending') - 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.cache.previews.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.user.videoQuota).to.equal(5242880) - expect(data.transcoding.enabled).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 + checkInitialConfig(data) }) it('Should update the customized configuration', async function () { - const newCustomConfig = { + const newCustomConfig: CustomConfig = { instance: { name: 'PeerTube updated', shortDescription: 'my short description', @@ -90,9 +132,18 @@ describe('Test config', function () { css: 'body { background-color: red; }' } }, + services: { + twitter: { + username: '@Kuja', + whitelisted: true + } + }, cache: { previews: { size: 2 + }, + captions: { + size: 3 } }, signup: { @@ -103,7 +154,8 @@ describe('Test config', function () { email: 'superadmin1@example.com' }, user: { - videoQuota: 5242881 + videoQuota: 5242881, + videoQuotaDaily: 318742 }, transcoding: { enabled: true, @@ -115,6 +167,16 @@ describe('Test config', function () { '720p': false, '1080p': false } + }, + import: { + videos: { + http: { + enabled: false + }, + torrent: { + enabled: false + } + } } } await updateCustomConfig(server.url, server.accessToken, newCustomConfig) @@ -122,26 +184,7 @@ describe('Test config', function () { const res = await getCustomConfig(server.url, server.accessToken) const data = res.body - 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.defaultClientRoute).to.equal('/videos/recently-added') - 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.cache.previews.size).to.equal(2) - 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.user.videoQuota).to.equal(5242881) - expect(data.transcoding.enabled).to.be.true - expect(data.transcoding.threads).to.equal(1) - 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 + checkUpdatedConfig(data) }) it('Should have the configuration updated after a restart', async function () { @@ -154,26 +197,7 @@ describe('Test config', function () { const res = await getCustomConfig(server.url, server.accessToken) const data = res.body - 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.defaultClientRoute).to.equal('/videos/recently-added') - 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.cache.previews.size).to.equal(2) - 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.user.videoQuota).to.equal(5242881) - expect(data.transcoding.enabled).to.be.true - expect(data.transcoding.threads).to.equal(1) - 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 + checkUpdatedConfig(data) }) it('Should fetch the about information', async function () { @@ -194,37 +218,10 @@ describe('Test config', function () { const res = await getCustomConfig(server.url, server.accessToken) const data = res.body - 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.' - ) - expect(data.instance.description).to.equal('Welcome to this PeerTube instance!') - expect(data.instance.terms).to.equal('No terms for now.') - expect(data.instance.defaultClientRoute).to.equal('/videos/trending') - 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.cache.previews.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.user.videoQuota).to.equal(5242880) - expect(data.transcoding.enabled).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 + checkInitialConfig(data) }) after(async function () { - process.kill(-server.app.pid) - - // Keep the logs if the test failed - if (this['ok']) { - await flushTests() - } + killallServers([ server ]) }) })