X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fapi%2Fmultiple-pods.js;h=b281cc2492f559bafb1adb7c4dbf5eb5bd649aa6;hb=b0f9f39ed70299a208d1b388c72de8b7f3510cb7;hp=d2c954b3aa53fb72c6a47422a3d0bf8a09b8ccfb;hpb=12028e7a17d0519a7dd052cf3d8c639feab8c87c;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/api/multiple-pods.js b/server/tests/api/multiple-pods.js index d2c954b3a..b281cc249 100644 --- a/server/tests/api/multiple-pods.js +++ b/server/tests/api/multiple-pods.js @@ -20,9 +20,10 @@ const videosUtils = require('../utils/videos') describe('Test multiple pods', function () { let servers = [] const toRemove = [] + let videoUUID = '' before(function (done) { - this.timeout(30000) + this.timeout(120000) series([ // Run servers @@ -117,16 +118,24 @@ describe('Test multiple pods', function () { expect(video.licenceLabel).to.equal('Attribution - Non Commercial') expect(video.language).to.equal(9) expect(video.languageLabel).to.equal('Japanese') - expect(video.nsfw).to.be.truthy + expect(video.nsfw).to.be.ok expect(video.description).to.equal('my super description for pod 1') expect(video.podHost).to.equal('localhost:9001') - expect(video.magnetUri).to.exist expect(video.duration).to.equal(10) expect(video.tags).to.deep.equal([ 'tag1p1', 'tag2p1' ]) expect(miscsUtils.dateIsValid(video.createdAt)).to.be.true expect(miscsUtils.dateIsValid(video.updatedAt)).to.be.true expect(video.author).to.equal('root') + expect(video.files).to.have.lengthOf(1) + + const file = video.files[0] + const magnetUri = file.magnetUri + expect(file.magnetUri).to.exist + expect(file.resolution).to.equal(0) + expect(file.resolutionLabel).to.equal('original') + expect(file.size).to.equal(572456) + if (server.url !== 'http://localhost:9001') { expect(video.isLocal).to.be.false } else { @@ -135,9 +144,9 @@ describe('Test multiple pods', function () { // All pods should have the same magnet Uri if (baseMagnet === null) { - baseMagnet = video.magnetUri + baseMagnet = magnetUri } else { - expect(video.magnetUri).to.equal.magnetUri + expect(baseMagnet).to.equal(magnetUri) } videosUtils.testVideoImage(server.url, 'video_short1.webm', video.thumbnailPath, function (err, test) { @@ -153,7 +162,7 @@ describe('Test multiple pods', function () { }) it('Should upload the video on pod 2 and propagate on each pod', function (done) { - this.timeout(30000) + this.timeout(60000) series([ function (next) { @@ -194,16 +203,24 @@ describe('Test multiple pods', function () { expect(video.licenceLabel).to.equal('Attribution - No Derivatives') expect(video.language).to.equal(11) expect(video.languageLabel).to.equal('German') - expect(video.nsfw).to.be.falsy + expect(video.nsfw).to.be.true expect(video.description).to.equal('my super description for pod 2') expect(video.podHost).to.equal('localhost:9002') - expect(video.magnetUri).to.exist expect(video.duration).to.equal(5) expect(video.tags).to.deep.equal([ 'tag1p2', 'tag2p2', 'tag3p2' ]) expect(miscsUtils.dateIsValid(video.createdAt)).to.be.true expect(miscsUtils.dateIsValid(video.updatedAt)).to.be.true expect(video.author).to.equal('root') + expect(video.files).to.have.lengthOf(1) + + const file = video.files[0] + const magnetUri = file.magnetUri + expect(file.magnetUri).to.exist + expect(file.resolution).to.equal(0) + expect(file.resolutionLabel).to.equal('original') + expect(file.size).to.equal(942961) + if (server.url !== 'http://localhost:9002') { expect(video.isLocal).to.be.false } else { @@ -212,9 +229,9 @@ describe('Test multiple pods', function () { // All pods should have the same magnet Uri if (baseMagnet === null) { - baseMagnet = video.magnetUri + baseMagnet = magnetUri } else { - expect(video.magnetUri).to.equal.magnetUri + expect(baseMagnet).to.equal(magnetUri) } videosUtils.testVideoImage(server.url, 'video_short2.webm', video.thumbnailPath, function (err, test) { @@ -230,7 +247,7 @@ describe('Test multiple pods', function () { }) it('Should upload two videos on pod 3 and propagate on each pod', function (done) { - this.timeout(30000) + this.timeout(45000) series([ function (next) { @@ -260,7 +277,7 @@ describe('Test multiple pods', function () { videosUtils.uploadVideo(servers[2].url, servers[2].accessToken, videoAttributes, next) }, function (next) { - setTimeout(next, 22000) + setTimeout(next, 33000) }], function (err) { if (err) throw err @@ -293,16 +310,24 @@ describe('Test multiple pods', function () { expect(video1.licenceLabel).to.equal('Attribution - Non Commercial - Share Alike') expect(video1.language).to.equal(11) expect(video1.languageLabel).to.equal('German') - expect(video1.nsfw).to.be.truthy + expect(video1.nsfw).to.be.ok expect(video1.description).to.equal('my super description for pod 3') expect(video1.podHost).to.equal('localhost:9003') - expect(video1.magnetUri).to.exist expect(video1.duration).to.equal(5) expect(video1.tags).to.deep.equal([ 'tag1p3' ]) expect(video1.author).to.equal('root') expect(miscsUtils.dateIsValid(video1.createdAt)).to.be.true expect(miscsUtils.dateIsValid(video1.updatedAt)).to.be.true + expect(video1.files).to.have.lengthOf(1) + + const file1 = video1.files[0] + const magnetUri1 = file1.magnetUri + expect(file1.magnetUri).to.exist + expect(file1.resolution).to.equal(0) + expect(file1.resolutionLabel).to.equal('original') + expect(file1.size).to.equal(292677) + expect(video2.name).to.equal('my super name for pod 3-2') expect(video2.category).to.equal(7) expect(video2.categoryLabel).to.equal('Gaming') @@ -310,16 +335,24 @@ describe('Test multiple pods', function () { expect(video2.licenceLabel).to.equal('Attribution - Non Commercial - No Derivatives') expect(video2.language).to.equal(12) expect(video2.languageLabel).to.equal('Korean') - expect(video2.nsfw).to.be.falsy + expect(video2.nsfw).to.be.false expect(video2.description).to.equal('my super description for pod 3-2') expect(video2.podHost).to.equal('localhost:9003') - expect(video2.magnetUri).to.exist expect(video2.duration).to.equal(5) expect(video2.tags).to.deep.equal([ 'tag2p3', 'tag3p3', 'tag4p3' ]) expect(video2.author).to.equal('root') expect(miscsUtils.dateIsValid(video2.createdAt)).to.be.true expect(miscsUtils.dateIsValid(video2.updatedAt)).to.be.true + expect(video2.files).to.have.lengthOf(1) + + const file2 = video2.files[0] + const magnetUri2 = file2.magnetUri + expect(file2.magnetUri).to.exist + expect(file2.resolution).to.equal(0) + expect(file2.resolutionLabel).to.equal('original') + expect(file2.size).to.equal(218910) + if (server.url !== 'http://localhost:9003') { expect(video1.isLocal).to.be.false expect(video2.isLocal).to.be.false @@ -330,9 +363,9 @@ describe('Test multiple pods', function () { // All pods should have the same magnet Uri if (baseMagnet === null) { - baseMagnet = video2.magnetUri + baseMagnet = magnetUri2 } else { - expect(video2.magnetUri).to.equal.magnetUri + expect(baseMagnet).to.equal(magnetUri2) } videosUtils.testVideoImage(server.url, 'video_short3.webm', video1.thumbnailPath, function (err, test) { @@ -365,7 +398,7 @@ describe('Test multiple pods', function () { toRemove.push(res.body.data[2]) toRemove.push(res.body.data[3]) - webtorrent.add(video.magnetUri, function (torrent) { + webtorrent.add(video.files[0].magnetUri, function (torrent) { expect(torrent.files).to.exist expect(torrent.files.length).to.equal(1) expect(torrent.files[0].path).to.exist.and.to.not.equal('') @@ -384,7 +417,7 @@ describe('Test multiple pods', function () { const video = res.body.data[1] - webtorrent.add(video.magnetUri, function (torrent) { + webtorrent.add(video.files[0].magnetUri, function (torrent) { expect(torrent.files).to.exist expect(torrent.files.length).to.equal(1) expect(torrent.files[0].path).to.exist.and.to.not.equal('') @@ -403,7 +436,7 @@ describe('Test multiple pods', function () { const video = res.body.data[2] - webtorrent.add(video.magnetUri, function (torrent) { + webtorrent.add(video.files[0].magnetUri, function (torrent) { expect(torrent.files).to.exist expect(torrent.files.length).to.equal(1) expect(torrent.files[0].path).to.exist.and.to.not.equal('') @@ -422,7 +455,7 @@ describe('Test multiple pods', function () { const video = res.body.data[3] - webtorrent.add(video.magnetUri, function (torrent) { + webtorrent.add(video.files[0].magnetUri, function (torrent) { expect(torrent.files).to.exist expect(torrent.files.length).to.equal(1) expect(torrent.files[0].path).to.exist.and.to.not.equal('') @@ -694,16 +727,23 @@ describe('Test multiple pods', function () { expect(videoUpdated.licenceLabel).to.equal('Public Domain Dedication') expect(videoUpdated.language).to.equal(13) expect(videoUpdated.languageLabel).to.equal('French') - expect(videoUpdated.nsfw).to.be.truthy + expect(videoUpdated.nsfw).to.be.ok expect(videoUpdated.description).to.equal('my super description updated') expect(videoUpdated.tags).to.deep.equal([ 'tagup1', 'tagup2' ]) expect(miscsUtils.dateIsValid(videoUpdated.updatedAt, 20000)).to.be.true + const file = videoUpdated.files[0] + const magnetUri = file.magnetUri + expect(file.magnetUri).to.exist + expect(file.resolution).to.equal(0) + expect(file.resolutionLabel).to.equal('original') + expect(file.size).to.equal(292677) + videosUtils.testVideoImage(server.url, 'video_short3.webm', videoUpdated.thumbnailPath, function (err, test) { if (err) throw err expect(test).to.equal(true) - webtorrent.add(videoUpdated.magnetUri, function (torrent) { + webtorrent.add(videoUpdated.files[0].magnetUri, function (torrent) { expect(torrent.files).to.exist expect(torrent.files.length).to.equal(1) expect(torrent.files[0].path).to.exist.and.to.not.equal('') @@ -746,10 +786,57 @@ describe('Test multiple pods', function () { expect(videos[0].name).not.to.equal(toRemove[1].name) expect(videos[1].name).not.to.equal(toRemove[1].name) + videoUUID = videos.find(video => video.name === 'my super name for pod 1').uuid + callback() }) }, done) }) + + it('Should get the same video by UUID on each pod', function (done) { + let baseVideo = null + each(servers, function (server, callback) { + videosUtils.getVideo(server.url, videoUUID, function (err, res) { + if (err) throw err + + const video = res.body + + if (baseVideo === null) { + baseVideo = video + return callback() + } + + expect(baseVideo.name).to.equal(video.name) + expect(baseVideo.uuid).to.equal(video.uuid) + expect(baseVideo.category).to.equal(video.category) + expect(baseVideo.language).to.equal(video.language) + expect(baseVideo.licence).to.equal(video.licence) + expect(baseVideo.category).to.equal(video.category) + expect(baseVideo.nsfw).to.equal(video.nsfw) + expect(baseVideo.author).to.equal(video.author) + expect(baseVideo.tags).to.deep.equal(video.tags) + + callback() + }) + }, done) + }) + + it('Should get the preview from each pod', function (done) { + each(servers, function (server, callback) { + videosUtils.getVideo(server.url, videoUUID, function (err, res) { + if (err) throw err + + const video = res.body + + videosUtils.testVideoImage(server.url, 'video_short1-preview.webm', video.previewPath, function (err, test) { + if (err) throw err + expect(test).to.equal(true) + + callback() + }) + }) + }, done) + }) }) after(function (done) {