]>
Commit | Line | Data |
---|---|---|
3cf68b86 C |
1 | import { ChildProcessWithoutNullStreams } from 'child_process' |
2 | import { basename } from 'path' | |
3 | import { runCommand, runServer } from './server' | |
4 | ||
5 | let appInstance: string | |
6 | let app: ChildProcessWithoutNullStreams | |
7 | ||
8 | async function beforeLocalSuite (suite: any) { | |
9 | const config = buildConfig(suite.file) | |
10 | ||
11 | await runCommand('npm run clean:server:test -- ' + appInstance) | |
12 | app = runServer(appInstance, config) | |
13 | } | |
14 | ||
15 | function afterLocalSuite () { | |
16 | app.kill() | |
17 | app = undefined | |
18 | } | |
19 | ||
20 | function beforeLocalSession (config: { baseUrl: string }, capabilities: { browserName: string }) { | |
21 | appInstance = capabilities['browserName'] === 'chrome' ? '1' : '2' | |
22 | config.baseUrl = 'http://localhost:900' + appInstance | |
23 | } | |
24 | ||
25 | async function onBrowserStackPrepare () { | |
26 | const appInstance = '1' | |
27 | ||
28 | await runCommand('npm run clean:server:test -- ' + appInstance) | |
29 | app = runServer(appInstance) | |
30 | } | |
31 | ||
32 | function onBrowserStackComplete () { | |
33 | app.kill() | |
34 | app = undefined | |
35 | } | |
36 | ||
37 | export { | |
38 | beforeLocalSession, | |
39 | afterLocalSuite, | |
40 | beforeLocalSuite, | |
41 | onBrowserStackPrepare, | |
42 | onBrowserStackComplete | |
43 | } | |
44 | ||
45 | // --------------------------------------------------------------------------- | |
46 | ||
47 | function buildConfig (suiteFile: string = undefined) { | |
48 | const filename = basename(suiteFile) | |
49 | ||
50 | if (filename === 'custom-server-defaults.e2e-spec.ts') { | |
51 | return { | |
52 | defaults: { | |
53 | publish: { | |
54 | download_enabled: false, | |
55 | comments_enabled: false, | |
56 | privacy: 4, | |
57 | licence: 4 | |
a9bfa85d C |
58 | }, |
59 | p2p: { | |
b65de1be C |
60 | webapp: { |
61 | enabled: false | |
62 | }, | |
63 | embed: { | |
64 | enabled: false | |
65 | } | |
3cf68b86 C |
66 | } |
67 | } | |
68 | } | |
69 | } | |
70 | ||
71 | return {} | |
72 | } |