80bbc98d57382a0bd1b58a48a4ccc41d88663da1
[oweals/peertube.git] / server / tests / cli / peertube.ts
1 import 'mocha'
2 import {
3   expect
4 } from 'chai'
5 import {
6   createUser,
7   execCLI,
8   flushTests,
9   getEnvCli,
10   killallServers,
11   flushAndRunServer,
12   ServerInfo,
13   setAccessTokensToServers, cleanupTests
14 } from '../../../shared/extra-utils'
15
16 describe('Test CLI wrapper', function () {
17   let server: ServerInfo
18   const cmd = 'node ./dist/server/tools/peertube.js'
19
20   before(async function () {
21     this.timeout(30000)
22     server = await flushAndRunServer(1)
23     await setAccessTokensToServers([ server ])
24
25     await createUser({ url: server.url, accessToken: server.accessToken, username: 'user_1', password: 'super password' })
26   })
27
28   it('Should display no selected instance', async function () {
29     this.timeout(60000)
30
31     const env = getEnvCli(server)
32     const stdout = await execCLI(`${env} ${cmd} --help`)
33
34     expect(stdout).to.contain('selected')
35   })
36
37   it('Should remember the authentifying material of the user', async function () {
38     this.timeout(60000)
39
40     const env = getEnvCli(server)
41     await execCLI(`${env} ` + cmd + ` auth add --url ${server.url} -U user_1 -p "super password"`)
42   })
43
44   after(async function () {
45     this.timeout(10000)
46
47     await execCLI(cmd + ` auth del ${server.url}`)
48
49     await cleanupTests([ server ])
50   })
51 })