X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fapi%2FfriendsAdvanced.js;h=0d24481ef64c79676fbbbb45307bab08a5544796;hb=8d30905858245f12a42fc327d2d57cbfe062d548;hp=6c4b7567f3da1eabcb912fe843be6ab459d8f4a2;hpb=f0f5567b6918fc60c8cab15e13aec03a89a91dfb;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/api/friendsAdvanced.js b/server/tests/api/friendsAdvanced.js index 6c4b7567f..0d24481ef 100644 --- a/server/tests/api/friendsAdvanced.js +++ b/server/tests/api/friendsAdvanced.js @@ -1,54 +1,69 @@ 'use strict' -const async = require('async') const chai = require('chai') +const each = require('async/each') const expect = chai.expect +const series = require('async/series') -const utils = require('./utils') +const loginUtils = require('../utils/login') +const podsUtils = require('../utils/pods') +const serversUtils = require('../utils/servers') +const videosUtils = require('../utils/videos') describe('Test advanced friends', function () { - let apps = [] - let urls = [] + let servers = [] - function makeFriends (pod_number, callback) { - return utils.makeFriends(urls[pod_number - 1], callback) + function makeFriends (podNumber, callback) { + const server = servers[podNumber - 1] + return podsUtils.makeFriends(server.url, server.accessToken, callback) } - function quitFriends (pod_number, callback) { - return utils.quitFriends(urls[pod_number - 1], callback) + function quitFriends (podNumber, callback) { + const server = servers[podNumber - 1] + return podsUtils.quitFriends(server.url, server.accessToken, callback) } - function getFriendsList (pod_number, end) { - return utils.getFriendsList(urls[pod_number - 1], end) + function getFriendsList (podNumber, end) { + const server = servers[podNumber - 1] + return podsUtils.getFriendsList(server.url, end) } - function uploadVideo (pod_number, callback) { + function uploadVideo (podNumber, callback) { const name = 'my super video' const description = 'my super description' + const tags = [ 'tag1', 'tag2' ] const fixture = 'video_short.webm' + const server = servers[podNumber - 1] - return utils.uploadVideo(urls[pod_number - 1], name, description, fixture, callback) + return videosUtils.uploadVideo(server.url, server.accessToken, name, description, tags, fixture, callback) } - function getVideos (pod_number, callback) { - return utils.getVideosList(urls[pod_number - 1], callback) + function getVideos (podNumber, callback) { + return videosUtils.getVideosList(servers[podNumber - 1].url, callback) } // --------------------------------------------------------------- before(function (done) { this.timeout(30000) - utils.flushAndRunMultipleServers(6, function (apps_run, urls_run) { - apps = apps_run - urls = urls_run - done() + serversUtils.flushAndRunMultipleServers(6, function (serversRun, urlsRun) { + servers = serversRun + + each(servers, function (server, callbackEach) { + loginUtils.loginAndGetAccessToken(server, function (err, accessToken) { + if (err) return callbackEach(err) + + server.accessToken = accessToken + callbackEach() + }) + }, done) }) }) it('Should make friends with two pod each in a different group', function (done) { this.timeout(20000) - async.series([ + series([ // Pod 3 makes friend with the first one function (next) { makeFriends(3, next) @@ -82,7 +97,7 @@ describe('Test advanced friends', function () { it('Should quit all friends', function (done) { this.timeout(10000) - async.series([ + series([ function (next) { quitFriends(1, next) }, @@ -92,7 +107,7 @@ describe('Test advanced friends', function () { function (err) { if (err) throw err - async.each([ 1, 2, 3, 4, 5, 6 ], function (i, callback) { + each([ 1, 2, 3, 4, 5, 6 ], function (i, callback) { getFriendsList(i, function (err, res) { if (err) throw err @@ -108,7 +123,7 @@ describe('Test advanced friends', function () { it('Should make friends with the pods 1, 2, 3', function (done) { this.timeout(150000) - async.series([ + series([ // Pods 1, 2, 3 and 4 become friends function (next) { makeFriends(2, next) @@ -119,9 +134,21 @@ describe('Test advanced friends', function () { function (next) { makeFriends(4, next) }, + // Check the pods 1, 2, 3 and 4 are friends + function (next) { + each([ 1, 2, 3, 4 ], function (i, callback) { + getFriendsList(i, function (err, res) { + if (err) throw err + + expect(res.body.length).to.equal(3) + + callback() + }) + }, next) + }, // Kill pod 4 function (next) { - apps[3].kill() + servers[3].app.kill() next() }, // Expulse pod 4 from pod 1 and 2 @@ -141,12 +168,12 @@ describe('Test advanced friends', function () { uploadVideo(2, next) }, function (next) { - setTimeout(next, 20000) + setTimeout(next, 11000) }, // Rerun server 4 function (next) { - utils.runServer(4, function (app, url) { - apps[3] = app + serversUtils.runServer(4, function (server) { + servers[3].app = server.app next() }) }, @@ -156,13 +183,15 @@ describe('Test advanced friends', function () { // Pod 4 didn't know pod 1 and 2 removed it expect(res.body.length).to.equal(3) - next() }) }, // Pod 6 ask pod 1, 2 and 3 function (next) { makeFriends(6, next) + }, + function (next) { + setTimeout(next, 11000) }], function (err) { if (err) throw err @@ -174,7 +203,7 @@ describe('Test advanced friends', function () { const result = res.body expect(result.length).to.equal(3) for (const pod of result) { - expect(pod.url).not.equal(urls[3]) + expect(pod.url).not.equal(servers[3].url) } done() @@ -186,7 +215,7 @@ describe('Test advanced friends', function () { it('Should pod 1 quit friends', function (done) { this.timeout(25000) - async.series([ + series([ // Upload a video on server 3 for aditionnal tests function (next) { uploadVideo(3, next) @@ -201,8 +230,10 @@ describe('Test advanced friends', function () { function (next) { getVideos(1, function (err, res) { if (err) throw err - expect(res.body).to.be.an('array') - expect(res.body.length).to.equal(2) + + const videos = res.body.data + expect(videos).to.be.an('array') + expect(videos.length).to.equal(2) next() }) @@ -212,8 +243,10 @@ describe('Test advanced friends', function () { getVideos(2, function (err, res) { if (err) throw err - expect(res.body).to.be.an('array') - expect(res.body.length).to.equal(3) + + const videos = res.body.data + expect(videos).to.be.an('array') + expect(videos.length).to.equal(3) done() }) } @@ -227,22 +260,23 @@ describe('Test advanced friends', function () { getVideos(1, function (err, res) { if (err) throw err - expect(res.body).to.be.an('array') - expect(res.body.length).to.equal(5) + const videos = res.body.data + expect(videos).to.be.an('array') + expect(videos.length).to.equal(5) done() }) - }, 5000) + }, 11000) }) }) after(function (done) { - apps.forEach(function (app) { - process.kill(-app.pid) + servers.forEach(function (server) { + process.kill(-server.app.pid) }) if (this.ok) { - utils.flushTests(done) + serversUtils.flushTests(done) } else { done() }