]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/tests/cli/update-host.ts
Add tests for npm run scripts
[github/Chocobozzz/PeerTube.git] / server / tests / cli / update-host.ts
CommitLineData
fdbda9e3
C
1import 'mocha'
2import * as chai from 'chai'
3const expect = chai.expect
4
5import {
6 execCLI,
7 flushTests,
8 getEnvCli,
9 getVideosList,
10 killallServers,
11 parseTorrentVideo,
12 runServer,
13 ServerInfo,
14 setAccessTokensToServers,
15 uploadVideo
16} from '../utils'
17
18describe('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})