aboutsummaryrefslogtreecommitdiffhomepage
path: root/shared/extra-utils
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2021-07-05 16:37:50 +0200
committerChocobozzz <me@florianbigard.com>2021-07-20 15:27:16 +0200
commit329619b3453479f76c049816b7403b86e9d45cb5 (patch)
treee522940946402a4284d356f2cde8e0dcbe29b289 /shared/extra-utils
parenta6a79eae0d8564099b6957e76d7a18528d9ef124 (diff)
downloadPeerTube-329619b3453479f76c049816b7403b86e9d45cb5.tar.gz
PeerTube-329619b3453479f76c049816b7403b86e9d45cb5.tar.zst
PeerTube-329619b3453479f76c049816b7403b86e9d45cb5.zip
Introduce CLI command
Diffstat (limited to 'shared/extra-utils')
-rw-r--r--shared/extra-utils/bulk/index.ts1
-rw-r--r--shared/extra-utils/cli/cli.ts33
-rw-r--r--shared/extra-utils/cli/index.ts1
-rw-r--r--shared/extra-utils/index.ts4
-rw-r--r--shared/extra-utils/server/servers.ts8
5 files changed, 30 insertions, 17 deletions
diff --git a/shared/extra-utils/bulk/index.ts b/shared/extra-utils/bulk/index.ts
new file mode 100644
index 000000000..5d2f9d3ad
--- /dev/null
+++ b/shared/extra-utils/bulk/index.ts
@@ -0,0 +1 @@
export * from './bulk'
diff --git a/shared/extra-utils/cli/cli.ts b/shared/extra-utils/cli/cli.ts
index c62e170bb..1bf100869 100644
--- a/shared/extra-utils/cli/cli.ts
+++ b/shared/extra-utils/cli/cli.ts
@@ -1,24 +1,27 @@
1import { exec } from 'child_process' 1import { exec } from 'child_process'
2import { AbstractCommand } from '../shared'
2 3
3import { ServerInfo } from '../server/servers' 4class CLICommand extends AbstractCommand {
4 5
5function getEnvCli (server?: ServerInfo) { 6 static exec (command: string) {
6 return `NODE_ENV=test NODE_APP_INSTANCE=${server.internalServerNumber}` 7 return new Promise<string>((res, rej) => {
7} 8 exec(command, (err, stdout, _stderr) => {
8 9 if (err) return rej(err)
9async function execCLI (command: string) {
10 return new Promise<string>((res, rej) => {
11 exec(command, (err, stdout, stderr) => {
12 if (err) return rej(err)
13 10
14 return res(stdout) 11 return res(stdout)
12 })
15 }) 13 })
16 }) 14 }
17}
18 15
19// --------------------------------------------------------------------------- 16 getEnv () {
17 return `NODE_ENV=test NODE_APP_INSTANCE=${this.server.internalServerNumber}`
18 }
19
20 async execWithEnv (command: string) {
21 return CLICommand.exec(`${this.getEnv()} ${command}`)
22 }
23}
20 24
21export { 25export {
22 execCLI, 26 CLICommand
23 getEnvCli
24} 27}
diff --git a/shared/extra-utils/cli/index.ts b/shared/extra-utils/cli/index.ts
new file mode 100644
index 000000000..8a3f31e2f
--- /dev/null
+++ b/shared/extra-utils/cli/index.ts
@@ -0,0 +1 @@
export * from './cli'
diff --git a/shared/extra-utils/index.ts b/shared/extra-utils/index.ts
index 87ee8abba..4bf057492 100644
--- a/shared/extra-utils/index.ts
+++ b/shared/extra-utils/index.ts
@@ -1,6 +1,6 @@
1export * from './bulk/bulk' 1export * from './bulk'
2 2
3export * from './cli/cli' 3export * from './cli'
4 4
5export * from './custom-pages/custom-pages' 5export * from './custom-pages/custom-pages'
6 6
diff --git a/shared/extra-utils/server/servers.ts b/shared/extra-utils/server/servers.ts
index 28e431e94..1b0775421 100644
--- a/shared/extra-utils/server/servers.ts
+++ b/shared/extra-utils/server/servers.ts
@@ -6,6 +6,8 @@ import { copy, ensureDir, pathExists, readdir, readFile, remove } from 'fs-extra
6import { join } from 'path' 6import { join } from 'path'
7import { randomInt } from '../../core-utils/miscs/miscs' 7import { randomInt } from '../../core-utils/miscs/miscs'
8import { VideoChannel } from '../../models/videos' 8import { VideoChannel } from '../../models/videos'
9import { BulkCommand } from '../bulk'
10import { CLICommand } from '../cli'
9import { buildServerDirectory, getFileSize, isGithubCI, root, wait } from '../miscs/miscs' 11import { buildServerDirectory, getFileSize, isGithubCI, root, wait } from '../miscs/miscs'
10import { makeGetRequest } from '../requests/requests' 12import { makeGetRequest } from '../requests/requests'
11 13
@@ -60,6 +62,9 @@ interface ServerInfo {
60 } 62 }
61 63
62 videos?: { id: number, uuid: string }[] 64 videos?: { id: number, uuid: string }[]
65
66 bulkCommand?: BulkCommand
67 cliCommand?: CLICommand
63} 68}
64 69
65function parallelTests () { 70function parallelTests () {
@@ -265,6 +270,9 @@ async function runServer (server: ServerInfo, configOverrideArg?: any, args = []
265 } catch { /* empty */ } 270 } catch { /* empty */ }
266 }) 271 })
267 272
273 server.bulkCommand = new BulkCommand(server)
274 server.cliCommand = new CLICommand(server)
275
268 res(server) 276 res(server)
269 }) 277 })
270 }) 278 })