]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/tests/cli/plugins.ts
Fix comments SQL pagination
[github/Chocobozzz/PeerTube.git] / server / tests / cli / plugins.ts
1 /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
2
3 import { expect } from 'chai'
4 import {
5 cleanupTests,
6 createSingleServer,
7 killallServers,
8 PeerTubeServer,
9 PluginsCommand,
10 setAccessTokensToServers
11 } from '@shared/server-commands'
12
13 describe('Test plugin scripts', function () {
14 let server: PeerTubeServer
15
16 before(async function () {
17 this.timeout(30000)
18
19 server = await createSingleServer(1)
20 await setAccessTokensToServers([ server ])
21 })
22
23 it('Should install a plugin from stateless CLI', async function () {
24 this.timeout(60000)
25
26 const packagePath = PluginsCommand.getPluginTestPath()
27
28 await server.cli.execWithEnv(`npm run plugin:install -- --plugin-path ${packagePath}`)
29 })
30
31 it('Should install a theme from stateless CLI', async function () {
32 this.timeout(60000)
33
34 await server.cli.execWithEnv(`npm run plugin:install -- --npm-name peertube-theme-background-red`)
35 })
36
37 it('Should have the theme and the plugin registered when we restart peertube', async function () {
38 this.timeout(30000)
39
40 await killallServers([ server ])
41 await server.run()
42
43 const config = await server.config.getConfig()
44
45 const plugin = config.plugin.registered
46 .find(p => p.name === 'test')
47 expect(plugin).to.not.be.undefined
48
49 const theme = config.theme.registered
50 .find(t => t.name === 'background-red')
51 expect(theme).to.not.be.undefined
52 })
53
54 it('Should uninstall a plugin from stateless CLI', async function () {
55 this.timeout(60000)
56
57 await server.cli.execWithEnv(`npm run plugin:uninstall -- --npm-name peertube-plugin-test`)
58 })
59
60 it('Should have removed the plugin on another peertube restart', async function () {
61 this.timeout(30000)
62
63 await killallServers([ server ])
64 await server.run()
65
66 const config = await server.config.getConfig()
67
68 const plugin = config.plugin.registered
69 .find(p => p.name === 'test')
70 expect(plugin).to.be.undefined
71 })
72
73 after(async function () {
74 await cleanupTests([ server ])
75 })
76 })