]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/tests/cli/plugins.ts
Wait master playlist generation
[github/Chocobozzz/PeerTube.git] / server / tests / cli / plugins.ts
CommitLineData
a1587156 1/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
9b474844 2
329619b3 3import { expect } from 'chai'
9b474844
C
4import {
5 cleanupTests,
254d3579 6 createSingleServer,
89cd1275 7 killallServers,
254d3579 8 PeerTubeServer,
4c7e60bc 9 PluginsCommand,
9b474844 10 setAccessTokensToServers
c55e3d72 11} from '@shared/server-commands'
9b474844
C
12
13describe('Test plugin scripts', function () {
254d3579 14 let server: PeerTubeServer
9b474844
C
15
16 before(async function () {
17 this.timeout(30000)
18
254d3579 19 server = await createSingleServer(1)
9b474844
C
20 await setAccessTokensToServers([ server ])
21 })
22
23 it('Should install a plugin from stateless CLI', async function () {
24 this.timeout(60000)
25
ae2abfd3 26 const packagePath = PluginsCommand.getPluginTestPath()
9b474844 27
89d241a7 28 await server.cli.execWithEnv(`npm run plugin:install -- --plugin-path ${packagePath}`)
9b474844
C
29 })
30
31 it('Should install a theme from stateless CLI', async function () {
32 this.timeout(60000)
33
89d241a7 34 await server.cli.execWithEnv(`npm run plugin:install -- --npm-name peertube-theme-background-red`)
9b474844
C
35 })
36
37 it('Should have the theme and the plugin registered when we restart peertube', async function () {
38 this.timeout(30000)
39
9293139f 40 await killallServers([ server ])
254d3579 41 await server.run()
9b474844 42
89d241a7 43 const config = await server.config.getConfig()
9b474844
C
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
89d241a7 57 await server.cli.execWithEnv(`npm run plugin:uninstall -- --npm-name peertube-plugin-test`)
9b474844
C
58 })
59
60 it('Should have removed the plugin on another peertube restart', async function () {
61 this.timeout(30000)
62
9293139f 63 await killallServers([ server ])
254d3579 64 await server.run()
9b474844 65
89d241a7 66 const config = await server.config.getConfig()
9b474844
C
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})