aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/tests/api
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2019-07-26 09:35:43 +0200
committerChocobozzz <me@florianbigard.com>2019-07-26 15:18:29 +0200
commitba211e7386bb2f25e37a4c5bcdfeb4237e1cd315 (patch)
tree398bb14a92c7df3765a0a64bac9f4672c5588488 /server/tests/api
parent23bdacf8ec24ce47a15529830e116911d7478598 (diff)
downloadPeerTube-ba211e7386bb2f25e37a4c5bcdfeb4237e1cd315.tar.gz
PeerTube-ba211e7386bb2f25e37a4c5bcdfeb4237e1cd315.tar.zst
PeerTube-ba211e7386bb2f25e37a4c5bcdfeb4237e1cd315.zip
Add public settings endpoint
Diffstat (limited to 'server/tests/api')
-rw-r--r--server/tests/api/check-params/plugins.ts10
-rw-r--r--server/tests/api/server/plugins.ts19
2 files changed, 20 insertions, 9 deletions
diff --git a/server/tests/api/check-params/plugins.ts b/server/tests/api/check-params/plugins.ts
index 83ce6f451..9553bce17 100644
--- a/server/tests/api/check-params/plugins.ts
+++ b/server/tests/api/check-params/plugins.ts
@@ -281,7 +281,7 @@ describe('Test server plugins API validators', function () {
281 }) 281 })
282 }) 282 })
283 283
284 describe('When getting a plugin or the registered settings', function () { 284 describe('When getting a plugin or the registered settings or public settings', function () {
285 const path = '/api/v1/plugins/' 285 const path = '/api/v1/plugins/'
286 286
287 it('Should fail with an invalid token', async function () { 287 it('Should fail with an invalid token', async function () {
@@ -307,7 +307,7 @@ describe('Test server plugins API validators', function () {
307 }) 307 })
308 308
309 it('Should fail with an invalid npm name', async function () { 309 it('Should fail with an invalid npm name', async function () {
310 for (const suffix of [ 'toto', 'toto/registered-settings' ]) { 310 for (const suffix of [ 'toto', 'toto/registered-settings', 'toto/public-settings' ]) {
311 await makeGetRequest({ 311 await makeGetRequest({
312 url: server.url, 312 url: server.url,
313 path: path + suffix, 313 path: path + suffix,
@@ -316,7 +316,7 @@ describe('Test server plugins API validators', function () {
316 }) 316 })
317 } 317 }
318 318
319 for (const suffix of [ 'peertube-plugin-TOTO', 'peertube-plugin-TOTO/registered-settings' ]) { 319 for (const suffix of [ 'peertube-plugin-TOTO', 'peertube-plugin-TOTO/registered-settings', 'peertube-plugin-TOTO/public-settings' ]) {
320 await makeGetRequest({ 320 await makeGetRequest({
321 url: server.url, 321 url: server.url,
322 path: path + suffix, 322 path: path + suffix,
@@ -327,7 +327,7 @@ describe('Test server plugins API validators', function () {
327 }) 327 })
328 328
329 it('Should fail with an unknown plugin', async function () { 329 it('Should fail with an unknown plugin', async function () {
330 for (const suffix of [ 'peertube-plugin-toto', 'peertube-plugin-toto/registered-settings' ]) { 330 for (const suffix of [ 'peertube-plugin-toto', 'peertube-plugin-toto/registered-settings', 'peertube-plugin-toto/public-settings' ]) {
331 await makeGetRequest({ 331 await makeGetRequest({
332 url: server.url, 332 url: server.url,
333 path: path + suffix, 333 path: path + suffix,
@@ -338,7 +338,7 @@ describe('Test server plugins API validators', function () {
338 }) 338 })
339 339
340 it('Should succeed with the correct parameters', async function () { 340 it('Should succeed with the correct parameters', async function () {
341 for (const suffix of [ npmPlugin, `${npmPlugin}/registered-settings` ]) { 341 for (const suffix of [ npmPlugin, `${npmPlugin}/registered-settings`, `${npmPlugin}/public-settings` ]) {
342 await makeGetRequest({ 342 await makeGetRequest({
343 url: server.url, 343 url: server.url,
344 path: path + suffix, 344 path: path + suffix,
diff --git a/server/tests/api/server/plugins.ts b/server/tests/api/server/plugins.ts
index f8b2d78c9..b8a8a2fee 100644
--- a/server/tests/api/server/plugins.ts
+++ b/server/tests/api/server/plugins.ts
@@ -18,7 +18,7 @@ import {
18 setPluginVersion, uninstallPlugin, 18 setPluginVersion, uninstallPlugin,
19 updateCustomSubConfig, updateMyUser, updatePluginPackageJSON, updatePlugin, 19 updateCustomSubConfig, updateMyUser, updatePluginPackageJSON, updatePlugin,
20 updatePluginSettings, 20 updatePluginSettings,
21 wait 21 wait, getPublicSettings
22} from '../../../../shared/extra-utils' 22} from '../../../../shared/extra-utils'
23import { PluginType } from '../../../../shared/models/plugins/plugin.type' 23import { PluginType } from '../../../../shared/models/plugins/plugin.type'
24import { PeerTubePluginIndex } from '../../../../shared/models/plugins/peertube-plugin-index.model' 24import { PeerTubePluginIndex } from '../../../../shared/models/plugins/peertube-plugin-index.model'
@@ -27,6 +27,7 @@ import { PeerTubePlugin } from '../../../../shared/models/plugins/peertube-plugi
27import { User } from '../../../../shared/models/users' 27import { User } from '../../../../shared/models/users'
28import { PluginPackageJson } from '../../../../shared/models/plugins/plugin-package-json.model' 28import { PluginPackageJson } from '../../../../shared/models/plugins/plugin-package-json.model'
29import { RegisteredServerSettings } from '../../../../shared/models/plugins/register-server-setting.model' 29import { RegisteredServerSettings } from '../../../../shared/models/plugins/register-server-setting.model'
30import { PublicServerSetting } from '../../../../shared/models/plugins/public-server.setting'
30 31
31const expect = chai.expect 32const expect = chai.expect
32 33
@@ -217,14 +218,24 @@ describe('Test plugins', function () {
217 npmName: 'peertube-plugin-hello-world' 218 npmName: 'peertube-plugin-hello-world'
218 }) 219 })
219 220
220 const settings = (res.body as RegisteredServerSettings).settings 221 const registeredSettings = (res.body as RegisteredServerSettings).registeredSettings
221 222
222 expect(settings).to.have.length.at.least(1) 223 expect(registeredSettings).to.have.length.at.least(1)
223 224
224 const adminNameSettings = settings.find(s => s.name === 'admin-name') 225 const adminNameSettings = registeredSettings.find(s => s.name === 'admin-name')
225 expect(adminNameSettings).to.not.be.undefined 226 expect(adminNameSettings).to.not.be.undefined
226 }) 227 })
227 228
229 it('Should get public settings', async function () {
230 const res = await getPublicSettings({ url: server.url, npmName: 'peertube-plugin-hello-world' })
231
232 const publicSettings = (res.body as PublicServerSetting).publicSettings
233
234 expect(Object.keys(publicSettings)).to.have.lengthOf(1)
235 expect(Object.keys(publicSettings)).to.deep.equal([ 'user-name' ])
236 expect(publicSettings['user-name']).to.be.null
237 })
238
228 it('Should update the settings', async function () { 239 it('Should update the settings', async function () {
229 const settings = { 240 const settings = {
230 'admin-name': 'Cid' 241 'admin-name': 'Cid'