]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/commitdiff
Add registered setting CLI plugin install test
authorChocobozzz <me@florianbigard.com>
Fri, 27 Nov 2020 10:41:38 +0000 (11:41 +0100)
committerChocobozzz <me@florianbigard.com>
Fri, 27 Nov 2020 10:41:38 +0000 (11:41 +0100)
server/tests/api/server/plugins.ts
server/tests/cli/peertube.ts
shared/extra-utils/server/plugins.ts

index ecf7c0d3f7f1ec4a0a7200c1d252b267b5215788..1c6eabe6d6cb5f0f4910377b29562e3771137dfd 100644 (file)
@@ -10,7 +10,6 @@ import {
   getMyUserInformation,
   getPlugin,
   getPluginPackageJSON,
-  getPluginRegisteredSettings,
   getPublicSettings,
   installPlugin,
   killallServers,
@@ -20,6 +19,7 @@ import {
   ServerInfo,
   setAccessTokensToServers,
   setPluginVersion,
+  testHelloWorldRegisteredSettings,
   uninstallPlugin,
   updateCustomSubConfig,
   updateMyUser,
@@ -34,7 +34,6 @@ import { PeerTubePlugin } from '../../../../shared/models/plugins/peertube-plugi
 import { PluginPackageJson } from '../../../../shared/models/plugins/plugin-package-json.model'
 import { PluginType } from '../../../../shared/models/plugins/plugin.type'
 import { PublicServerSetting } from '../../../../shared/models/plugins/public-server.setting'
-import { RegisteredServerSettings } from '../../../../shared/models/plugins/register-server-setting.model'
 import { ServerConfig } from '../../../../shared/models/server'
 import { User } from '../../../../shared/models/users'
 
@@ -209,18 +208,7 @@ 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'
-    })
-
-    const registeredSettings = (res.body as RegisteredServerSettings).registeredSettings
-
-    expect(registeredSettings).to.have.length.at.least(1)
-
-    const adminNameSettings = registeredSettings.find(s => s.name === 'admin-name')
-    expect(adminNameSettings).to.not.be.undefined
+    await testHelloWorldRegisteredSettings(server)
   })
 
   it('Should get public settings', async function () {
index e2861f46e7b24995d2f9ab5dd6134197ab85fbbf..348438533473bc64531f6b1a3c93a15b321e9f52 100644 (file)
@@ -19,6 +19,7 @@ import {
   removeVideo,
   ServerInfo,
   setAccessTokensToServers,
+  testHelloWorldRegisteredSettings,
   uploadVideoAndGetId,
   userLogin,
   waitJobs
@@ -205,6 +206,10 @@ describe('Test CLI wrapper', function () {
       await execCLI(`${env} ${cmd} plugins install --npm-name peertube-plugin-hello-world`)
     })
 
+    it('Should have registered settings', async function () {
+      await testHelloWorldRegisteredSettings(server)
+    })
+
     it('Should list installed plugins', async function () {
       const env = getEnvCli(server)
       const res = await execCLI(`${env} ${cmd} plugins list`)
index 8f370f6558f09e45f2489ed44f0d7f31e8c6724b..83db2f6b8407b3e5a69fc5ea9bd94cd5237f8189 100644 (file)
@@ -1,5 +1,9 @@
+/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
+
+import { expect } from 'chai'
 import { readJSON, writeJSON } from 'fs-extra'
 import { join } from 'path'
+import { RegisteredServerSettings } from '@shared/models'
 import { PeertubePluginIndexList } from '../../models/plugins/peertube-plugin-index-list.model'
 import { PluginType } from '../../models/plugins/plugin.type'
 import { buildServerDirectory, root } from '../miscs/miscs'
@@ -119,6 +123,21 @@ function getPluginRegisteredSettings (parameters: {
   })
 }
 
+async function testHelloWorldRegisteredSettings (server: ServerInfo) {
+  const res = await getPluginRegisteredSettings({
+    url: server.url,
+    accessToken: server.accessToken,
+    npmName: 'peertube-plugin-hello-world'
+  })
+
+  const registeredSettings = (res.body as RegisteredServerSettings).registeredSettings
+
+  expect(registeredSettings).to.have.length.at.least(1)
+
+  const adminNameSettings = registeredSettings.find(s => s.name === 'admin-name')
+  expect(adminNameSettings).to.not.be.undefined
+}
+
 function getPublicSettings (parameters: {
   url: string
   npmName: string
@@ -265,6 +284,7 @@ export {
   updatePlugin,
   getPlugin,
   uninstallPlugin,
+  testHelloWorldRegisteredSettings,
   updatePluginSettings,
   getPluginRegisteredSettings,
   getPackageJSONPath,