]>
git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/tests/api/singlePod.js
0b96f221a0cfe13b8f8eff6d8d47eab18ad4bbde
3 const async
= require('async')
4 const chai
= require('chai')
5 const expect
= chai
.expect
6 const fs
= require('fs')
7 const pathUtils
= require('path')
9 const webtorrent
= require(pathUtils
.join(__dirname
, '../../lib/webtorrent'))
10 webtorrent
.silent
= true
12 const utils
= require('./utils')
14 describe('Test a single pod', function () {
19 before(function (done
) {
24 utils
.flushTests(next
)
27 utils
.runServer(1, function (app1
, url1
) {
34 webtorrent
.create({ host: 'client', port: '1' }, next
)
39 it('Should not have videos', function (done
) {
40 utils
.getVideosList(url
, function (err
, res
) {
43 expect(res
.body
).to
.be
.an('array')
44 expect(res
.body
.length
).to
.equal(0)
50 it('Should upload the video', function (done
) {
52 utils
.uploadVideo(url
, 'my super name', 'my super description', 'video_short.webm', done
)
55 it('Should seed the uploaded video', function (done
) {
56 // Yes, this could be long
59 utils
.getVideosList(url
, function (err
, res
) {
62 expect(res
.body
).to
.be
.an('array')
63 expect(res
.body
.length
).to
.equal(1)
65 const video
= res
.body
[0]
66 expect(video
.name
).to
.equal('my super name')
67 expect(video
.description
).to
.equal('my super description')
68 expect(video
.podUrl
).to
.equal('http://localhost:9001')
69 expect(video
.magnetUri
).to
.exist
73 webtorrent
.add(video
.magnetUri
, function (torrent
) {
74 expect(torrent
.files
).to
.exist
75 expect(torrent
.files
.length
).to
.equal(1)
76 expect(torrent
.files
[0].path
).to
.exist
.and
.to
.not
.equal('')
83 it('Should get the video', function (done
) {
84 // Yes, this could be long
87 utils
.getVideo(url
, video_id
, function (err
, res
) {
90 const video
= res
.body
91 expect(video
.name
).to
.equal('my super name')
92 expect(video
.description
).to
.equal('my super description')
93 expect(video
.podUrl
).to
.equal('http://localhost:9001')
94 expect(video
.magnetUri
).to
.exist
96 webtorrent
.add(video
.magnetUri
, function (torrent
) {
97 expect(torrent
.files
).to
.exist
98 expect(torrent
.files
.length
).to
.equal(1)
99 expect(torrent
.files
[0].path
).to
.exist
.and
.to
.not
.equal('')
106 it('Should search the video', function (done
) {
107 utils
.searchVideo(url
, 'my', function (err
, res
) {
110 expect(res
.body
).to
.be
.an('array')
111 expect(res
.body
.length
).to
.equal(1)
113 const video
= res
.body
[0]
114 expect(video
.name
).to
.equal('my super name')
115 expect(video
.description
).to
.equal('my super description')
116 expect(video
.podUrl
).to
.equal('http://localhost:9001')
122 it('Should not find a search', function (done
) {
123 utils
.searchVideo(url
, 'hello', function (err
, res
) {
126 expect(res
.body
).to
.be
.an('array')
127 expect(res
.body
.length
).to
.equal(0)
133 it('Should remove the video', function (done
) {
134 utils
.removeVideo(url
, video_id
, function (err
) {
137 fs
.readdir(pathUtils
.join(__dirname
, '../../../test1/uploads/'), function (err
, files
) {
140 expect(files
.length
).to
.equal(0)
146 it('Should not have videos', function (done
) {
147 utils
.getVideosList(url
, function (err
, res
) {
150 expect(res
.body
).to
.be
.an('array')
151 expect(res
.body
.length
).to
.equal(0)
157 after(function (done
) {
158 process
.kill(-app
.pid
)
159 process
.kill(-webtorrent
.app
.pid
)
161 // Keep the logs if the test failed
163 utils
.flushTests(done
)