]>
Commit | Line | Data |
---|---|---|
254d3579 C |
1 | import { ensureDir } from 'fs-extra' |
2 | import { isGithubCI } from '../miscs' | |
3 | import { PeerTubeServer, RunServerOptions } from './server' | |
89231874 | 4 | |
2e980ed3 | 5 | async function createSingleServer (serverNumber: number, configOverride?: Object, options: RunServerOptions = {}) { |
254d3579 | 6 | const server = new PeerTubeServer({ serverNumber }) |
0e1dc3e7 | 7 | |
2e980ed3 | 8 | await server.flushAndRun(configOverride, options) |
af4ae64f | 9 | |
254d3579 | 10 | return server |
913b1d71 C |
11 | } |
12 | ||
0305db28 | 13 | function createMultipleServers (totalServers: number, configOverride?: Object, options: RunServerOptions = {}) { |
254d3579 | 14 | const serverPromises: Promise<PeerTubeServer>[] = [] |
86ebdf8c | 15 | |
254d3579 | 16 | for (let i = 1; i <= totalServers; i++) { |
0305db28 | 17 | serverPromises.push(createSingleServer(i, configOverride, options)) |
0e1dc3e7 C |
18 | } |
19 | ||
254d3579 | 20 | return Promise.all(serverPromises) |
7bc29171 C |
21 | } |
22 | ||
254d3579 C |
23 | async function killallServers (servers: PeerTubeServer[]) { |
24 | return Promise.all(servers.map(s => s.kill())) | |
0e1dc3e7 C |
25 | } |
26 | ||
254d3579 | 27 | async function cleanupTests (servers: PeerTubeServer[]) { |
9293139f | 28 | await killallServers(servers) |
86ebdf8c | 29 | |
83ef31fe C |
30 | if (isGithubCI()) { |
31 | await ensureDir('artifacts') | |
32 | } | |
33 | ||
6c5065a0 | 34 | let p: Promise<any>[] = [] |
86ebdf8c | 35 | for (const server of servers) { |
89d241a7 | 36 | p = p.concat(server.servers.cleanupTests()) |
86ebdf8c C |
37 | } |
38 | ||
39 | return Promise.all(p) | |
40 | } | |
41 | ||
0e1dc3e7 C |
42 | // --------------------------------------------------------------------------- |
43 | ||
44 | export { | |
254d3579 C |
45 | createSingleServer, |
46 | createMultipleServers, | |
86ebdf8c | 47 | cleanupTests, |
254d3579 | 48 | killallServers |
0e1dc3e7 | 49 | } |