X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fapi%2Fserver%2Fplugins.ts;h=6046ab97e21edc858adfcc1d7c35447c4d272ca9;hb=5ec3cbdf22fc88ebe57f370fc0bc0e3df7453458;hp=f8b2d78c92570ef5944b9b32d183e03d6e297453;hpb=9ae88819c202a6ce4a36b56506f508a5603e8eab;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/api/server/plugins.ts b/server/tests/api/server/plugins.ts index f8b2d78c9..6046ab97e 100644 --- a/server/tests/api/server/plugins.ts +++ b/server/tests/api/server/plugins.ts @@ -1,4 +1,4 @@ -/* tslint:disable:no-unused-expression */ +/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ import 'mocha' import * as chai from 'chai' @@ -6,27 +6,30 @@ import { cleanupTests, closeAllSequelize, flushAndRunServer, - getConfig, getMyUserInformation, getPluginPackageJSON, + getConfig, + getMyUserInformation, getPlugin, - getPluginRegisteredSettings, - getPluginsCSS, - installPlugin, killallServers, + getPluginPackageJSON, + getPublicSettings, + installPlugin, + killallServers, listAvailablePlugins, - listPlugins, reRunServer, + listPlugins, + reRunServer, ServerInfo, setAccessTokensToServers, - setPluginVersion, uninstallPlugin, - updateCustomSubConfig, updateMyUser, updatePluginPackageJSON, updatePlugin, + setPluginVersion, + testHelloWorldRegisteredSettings, + uninstallPlugin, + updateCustomSubConfig, + updateMyUser, + updatePlugin, + updatePluginPackageJSON, updatePluginSettings, - wait -} from '../../../../shared/extra-utils' -import { PluginType } from '../../../../shared/models/plugins/plugin.type' -import { PeerTubePluginIndex } from '../../../../shared/models/plugins/peertube-plugin-index.model' -import { ServerConfig } from '../../../../shared/models/server' -import { PeerTubePlugin } from '../../../../shared/models/plugins/peertube-plugin.model' -import { User } from '../../../../shared/models/users' -import { PluginPackageJson } from '../../../../shared/models/plugins/plugin-package-json.model' -import { RegisteredServerSettings } from '../../../../shared/models/plugins/register-server-setting.model' + wait, + waitUntilLog +} from '@shared/extra-utils' +import { PeerTubePlugin, PeerTubePluginIndex, PluginPackageJson, PluginType, PublicServerSetting, ServerConfig, User } from '@shared/models' const expect = chai.expect @@ -87,7 +90,7 @@ describe('Test plugins', function () { expect(res2.body.total).to.be.at.least(2) expect(data2).to.have.lengthOf(2) - expect(data1[0].npmName).to.not.equal(data2[ 0 ].npmName) + expect(data1[0].npmName).to.not.equal(data2[0].npmName) } { @@ -107,12 +110,6 @@ describe('Test plugins', function () { } }) - it('Should have an empty global css', async function () { - const res = await getPluginsCSS(server.url) - - expect(res.text).to.be.empty - }) - it('Should install a plugin and a theme', async function () { this.timeout(30000) @@ -129,12 +126,6 @@ describe('Test plugins', function () { }) }) - it('Should have the correct global css', async function () { - const res = await getPluginsCSS(server.url) - - expect(res.text).to.contain('--mainBackgroundColor') - }) - it('Should have the plugin loaded in the configuration', async function () { const res = await getConfig(server.url) const config: ServerConfig = res.body @@ -211,18 +202,17 @@ describe('Test plugins', function () { }) it('Should get registered settings', async function () { - const res = await getPluginRegisteredSettings({ - url: server.url, - accessToken: server.accessToken, - npmName: 'peertube-plugin-hello-world' - }) + await testHelloWorldRegisteredSettings(server) + }) - const settings = (res.body as RegisteredServerSettings).settings + it('Should get public settings', async function () { + const res = await getPublicSettings({ url: server.url, npmName: 'peertube-plugin-hello-world' }) - expect(settings).to.have.length.at.least(1) + const publicSettings = (res.body as PublicServerSetting).publicSettings - const adminNameSettings = settings.find(s => s.name === 'admin-name') - expect(adminNameSettings).to.not.be.undefined + expect(Object.keys(publicSettings)).to.have.lengthOf(1) + expect(Object.keys(publicSettings)).to.deep.equal([ 'user-name' ]) + expect(publicSettings['user-name']).to.be.null }) it('Should update the settings', async function () { @@ -238,6 +228,12 @@ describe('Test plugins', function () { }) }) + it('Should have watched settings changes', async function () { + this.timeout(10000) + + await waitUntilLog(server, 'Settings changed!') + }) + it('Should get a plugin and a theme', async function () { { const res = await getPlugin({ @@ -288,7 +284,7 @@ describe('Test plugins', function () { }) it('Should update the plugin and the theme', async function () { - this.timeout(30000) + this.timeout(90000) // Wait the scheduler that get the latest plugins versions await wait(6000) @@ -360,12 +356,6 @@ describe('Test plugins', function () { expect(res.body.data).to.have.lengthOf(0) }) - it('Should have an empty global css', async function () { - const res = await getPluginsCSS(server.url) - - expect(res.text).to.be.empty - }) - it('Should list uninstalled plugins', async function () { const res = await listPlugins({ url: server.url,