diff options
Diffstat (limited to 'server/tests')
-rw-r--r-- | server/tests/api/check-params/plugins.ts | 10 | ||||
-rw-r--r-- | server/tests/api/server/plugins.ts | 19 |
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' |
23 | import { PluginType } from '../../../../shared/models/plugins/plugin.type' | 23 | import { PluginType } from '../../../../shared/models/plugins/plugin.type' |
24 | import { PeerTubePluginIndex } from '../../../../shared/models/plugins/peertube-plugin-index.model' | 24 | import { PeerTubePluginIndex } from '../../../../shared/models/plugins/peertube-plugin-index.model' |
@@ -27,6 +27,7 @@ import { PeerTubePlugin } from '../../../../shared/models/plugins/peertube-plugi | |||
27 | import { User } from '../../../../shared/models/users' | 27 | import { User } from '../../../../shared/models/users' |
28 | import { PluginPackageJson } from '../../../../shared/models/plugins/plugin-package-json.model' | 28 | import { PluginPackageJson } from '../../../../shared/models/plugins/plugin-package-json.model' |
29 | import { RegisteredServerSettings } from '../../../../shared/models/plugins/register-server-setting.model' | 29 | import { RegisteredServerSettings } from '../../../../shared/models/plugins/register-server-setting.model' |
30 | import { PublicServerSetting } from '../../../../shared/models/plugins/public-server.setting' | ||
30 | 31 | ||
31 | const expect = chai.expect | 32 | const 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' |