diff options
Diffstat (limited to 'server/tests/cli/update-host.ts')
-rw-r--r-- | server/tests/cli/update-host.ts | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/server/tests/cli/update-host.ts b/server/tests/cli/update-host.ts new file mode 100644 index 000000000..af9703b32 --- /dev/null +++ b/server/tests/cli/update-host.ts | |||
@@ -0,0 +1,71 @@ | |||
1 | import 'mocha' | ||
2 | import * as chai from 'chai' | ||
3 | const expect = chai.expect | ||
4 | |||
5 | import { | ||
6 | execCLI, | ||
7 | flushTests, | ||
8 | getEnvCli, | ||
9 | getVideosList, | ||
10 | killallServers, | ||
11 | parseTorrentVideo, | ||
12 | runServer, | ||
13 | ServerInfo, | ||
14 | setAccessTokensToServers, | ||
15 | uploadVideo | ||
16 | } from '../utils' | ||
17 | |||
18 | describe('Test update host scripts', function () { | ||
19 | let server: ServerInfo | ||
20 | |||
21 | before(async function () { | ||
22 | this.timeout(30000) | ||
23 | |||
24 | await flushTests() | ||
25 | |||
26 | const overrideConfig = { | ||
27 | webserver: { | ||
28 | port: 9256 | ||
29 | } | ||
30 | } | ||
31 | server = await runServer(1, overrideConfig) | ||
32 | await setAccessTokensToServers([ server ]) | ||
33 | |||
34 | // Upload two videos for our needs | ||
35 | const videoAttributes = {} | ||
36 | await uploadVideo(server.url, server.accessToken, videoAttributes) | ||
37 | await uploadVideo(server.url, server.accessToken, videoAttributes) | ||
38 | }) | ||
39 | |||
40 | it('Should update torrent hosts', async function () { | ||
41 | this.timeout(20000) | ||
42 | |||
43 | killallServers([ server ]) | ||
44 | server = await runServer(1) | ||
45 | |||
46 | const env = getEnvCli(server) | ||
47 | await execCLI(`${env} npm run update-host`) | ||
48 | |||
49 | const res = await getVideosList(server.url) | ||
50 | const videos = res.body.data | ||
51 | |||
52 | expect(videos[0].files[0].magnetUri).to.contain('localhost%3A9001%2Ftracker%2Fsocket') | ||
53 | expect(videos[0].files[0].magnetUri).to.contain('localhost%3A9001%2Fstatic%2Fwebseed%2F') | ||
54 | |||
55 | expect(videos[1].files[0].magnetUri).to.contain('localhost%3A9001%2Ftracker%2Fsocket') | ||
56 | expect(videos[1].files[0].magnetUri).to.contain('localhost%3A9001%2Fstatic%2Fwebseed%2F') | ||
57 | |||
58 | const torrent = await parseTorrentVideo(server, videos[0].uuid) | ||
59 | expect(torrent.announce[0]).to.equal('ws://localhost:9001/tracker/socket') | ||
60 | expect(torrent.urlList[0]).to.contain('http://localhost:9001/static/webseed') | ||
61 | }) | ||
62 | |||
63 | after(async function () { | ||
64 | killallServers([ server ]) | ||
65 | |||
66 | // Keep the logs if the test failed | ||
67 | if (this['ok']) { | ||
68 | await flushTests() | ||
69 | } | ||
70 | }) | ||
71 | }) | ||