X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=server%2Ftests%2Fapi%2Fcheck-params%2Fplugins.ts;h=07ded26eeedeebbd3a03c0ee6575440f5f85ed40;hb=5baee5fca418487e72ddcd6419d31bca8659b668;hp=dd03766c963208dd90ae4fea8f756a3778f1ac2e;hpb=60cfd4cb54138e7da76054aa163b33b3223b17ef;p=oweals%2Fpeertube.git diff --git a/server/tests/api/check-params/plugins.ts b/server/tests/api/check-params/plugins.ts index dd03766c9..07ded26ee 100644 --- a/server/tests/api/check-params/plugins.ts +++ b/server/tests/api/check-params/plugins.ts @@ -1,4 +1,4 @@ -/* tslint:disable:no-unused-expression */ +/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ import 'mocha' @@ -64,6 +64,7 @@ describe('Test server plugins API validators', function () { describe('With static plugin routes', function () { it('Should fail with an unknown plugin name/plugin version', async function () { const paths = [ + '/plugins/' + pluginName + '/0.0.1/auth/fake-auth', '/plugins/' + pluginName + '/0.0.1/static/images/chocobo.png', '/plugins/' + pluginName + '/0.0.1/client-scripts/client/common-client-plugin.js', '/themes/' + themeName + '/0.0.1/static/images/chocobo.png', @@ -86,6 +87,7 @@ describe('Test server plugins API validators', function () { it('Should fail with invalid versions', async function () { const paths = [ + '/plugins/' + pluginName + '/0.0.1.1/auth/fake-auth', '/plugins/' + pluginName + '/0.0.1.1/static/images/chocobo.png', '/plugins/' + pluginName + '/0.1/client-scripts/client/common-client-plugin.js', '/themes/' + themeName + '/1/static/images/chocobo.png', @@ -112,6 +114,12 @@ describe('Test server plugins API validators', function () { } }) + it('Should fail with an unknown auth name', async function () { + const path = '/plugins/' + pluginName + '/' + npmVersion + '/auth/bad-auth' + + await makeGetRequest({ url: server.url, path, statusCodeExpected: 404 }) + }) + it('Should fail with an unknown static file', async function () { const paths = [ '/plugins/' + pluginName + '/' + npmVersion + '/static/fake/chocobo.png', @@ -145,6 +153,9 @@ describe('Test server plugins API validators', function () { for (const p of paths) { await makeGetRequest({ url: server.url, path: p, statusCodeExpected: 200 }) } + + const authPath = '/plugins/' + pluginName + '/' + npmVersion + '/auth/fake-auth' + await makeGetRequest({ url: server.url, path: authPath, statusCodeExpected: 302 }) }) }) @@ -152,7 +163,8 @@ describe('Test server plugins API validators', function () { const path = '/api/v1/plugins/available' const baseQuery = { search: 'super search', - pluginType: PluginType.PLUGIN + pluginType: PluginType.PLUGIN, + currentPeerTubeEngine: '1.2.3' } it('Should fail with an invalid token', async function () { @@ -198,6 +210,17 @@ describe('Test server plugins API validators', function () { }) }) + it('Should fail with an invalid current peertube engine', async function () { + const query = immutableAssign(baseQuery, { currentPeerTubeEngine: '1.0' }) + + await makeGetRequest({ + url: server.url, + path, + token: server.accessToken, + query + }) + }) + it('Should success with the correct parameters', async function () { await makeGetRequest({ url: server.url, @@ -269,7 +292,7 @@ describe('Test server plugins API validators', function () { }) }) - describe('When getting a plugin or the registered settings', function () { + describe('When getting a plugin or the registered settings or public settings', function () { const path = '/api/v1/plugins/' it('Should fail with an invalid token', async function () { @@ -295,7 +318,7 @@ describe('Test server plugins API validators', function () { }) it('Should fail with an invalid npm name', async function () { - for (const suffix of [ 'toto', 'toto/registered-settings' ]) { + for (const suffix of [ 'toto', 'toto/registered-settings', 'toto/public-settings' ]) { await makeGetRequest({ url: server.url, path: path + suffix, @@ -304,7 +327,7 @@ describe('Test server plugins API validators', function () { }) } - for (const suffix of [ 'peertube-plugin-TOTO', 'peertube-plugin-TOTO/registered-settings' ]) { + for (const suffix of [ 'peertube-plugin-TOTO', 'peertube-plugin-TOTO/registered-settings', 'peertube-plugin-TOTO/public-settings' ]) { await makeGetRequest({ url: server.url, path: path + suffix, @@ -315,7 +338,7 @@ describe('Test server plugins API validators', function () { }) it('Should fail with an unknown plugin', async function () { - for (const suffix of [ 'peertube-plugin-toto', 'peertube-plugin-toto/registered-settings' ]) { + for (const suffix of [ 'peertube-plugin-toto', 'peertube-plugin-toto/registered-settings', 'peertube-plugin-toto/public-settings' ]) { await makeGetRequest({ url: server.url, path: path + suffix, @@ -326,7 +349,7 @@ describe('Test server plugins API validators', function () { }) it('Should succeed with the correct parameters', async function () { - for (const suffix of [ npmPlugin, `${npmPlugin}/registered-settings` ]) { + for (const suffix of [ npmPlugin, `${npmPlugin}/registered-settings`, `${npmPlugin}/public-settings` ]) { await makeGetRequest({ url: server.url, path: path + suffix, @@ -450,6 +473,8 @@ describe('Test server plugins API validators', function () { }) it('Should succeed with the correct parameters', async function () { + this.timeout(10000) + const it = [ { suffix: 'install', status: 200 }, { suffix: 'update', status: 200 },