X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fapi%2FfriendsBasic.js;h=5b738ad39a924dd8b5d089581c0ee05edbbd73e5;hb=aaf61f3810e6d57c5130af959bd2860df32775e7;hp=3287249367020f0abbd81fcca3dd74686ee771b2;hpb=b9a3e09ad5a7673f64556d1dba122ed4c4fac980;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/api/friendsBasic.js b/server/tests/api/friendsBasic.js index 328724936..5b738ad39 100644 --- a/server/tests/api/friendsBasic.js +++ b/server/tests/api/friendsBasic.js @@ -1,35 +1,39 @@ 'use strict' -var async = require('async') -var chai = require('chai') -var expect = chai.expect -var request = require('supertest') +const async = require('async') +const chai = require('chai') +const expect = chai.expect -var utils = require('./utils') +const utils = require('./utils') describe('Test basic friends', function () { - var apps = [] - var urls = [] - - function testMadeFriends (urls, url_to_test, callback) { - var friends = [] - for (var i = 0; i < urls.length; i++) { - if (urls[i] === url_to_test) continue - friends.push(urls[i]) + let servers = [] + + function makeFriends (podNumber, callback) { + const server = servers[podNumber - 1] + return utils.makeFriends(server.url, server.accessToken, callback) + } + + function testMadeFriends (servers, serverToTest, callback) { + const friends = [] + for (let i = 0; i < servers.length; i++) { + if (servers[i].url === serverToTest.url) continue + friends.push(servers[i].url) } - utils.getFriendsList(url_to_test, function (err, res) { + utils.getFriendsList(serverToTest.url, function (err, res) { if (err) throw err - var result = res.body - var result_urls = [ result[0].url, result[1].url ] + const result = res.body expect(result).to.be.an('array') expect(result.length).to.equal(2) - expect(result_urls[0]).to.not.equal(result_urls[1]) - var error_string = 'Friends url do not correspond for ' + url_to_test - expect(friends).to.contain(result_urls[0], error_string) - expect(friends).to.contain(result_urls[1], error_string) + const resultUrls = [ result[0].url, result[1].url ] + expect(resultUrls[0]).to.not.equal(resultUrls[1]) + + const errorString = 'Friends url do not correspond for ' + serverToTest.url + expect(friends).to.contain(resultUrls[0], errorString) + expect(friends).to.contain(resultUrls[1], errorString) callback() }) } @@ -38,19 +42,26 @@ describe('Test basic friends', function () { before(function (done) { this.timeout(20000) - utils.flushAndRunMultipleServers(3, function (apps_run, urls_run) { - apps = apps_run - urls = urls_run - done() + utils.flushAndRunMultipleServers(3, function (serversRun, urlsRun) { + servers = serversRun + + async.each(servers, function (server, callbackEach) { + utils.loginAndGetAccessToken(server, function (err, accessToken) { + if (err) return callbackEach(err) + + server.accessToken = accessToken + callbackEach() + }) + }, done) }) }) it('Should not have friends', function (done) { - async.each(urls, function (url, callback) { - utils.getFriendsList(url, function (err, res) { + async.each(servers, function (server, callback) { + utils.getFriendsList(server.url, function (err, res) { if (err) throw err - var result = res.body + const result = res.body expect(result).to.be.an('array') expect(result.length).to.equal(0) callback() @@ -61,16 +72,10 @@ describe('Test basic friends', function () { it('Should make friends', function (done) { this.timeout(10000) - var path = '/api/v1/pods/makefriends' - async.series([ // The second pod make friend with the third function (next) { - request(urls[1]) - .get(path) - .set('Accept', 'application/json') - .expect(204) - .end(next) + makeFriends(2, next) }, // Wait for the request between pods function (next) { @@ -78,37 +83,33 @@ describe('Test basic friends', function () { }, // The second pod should have the third as a friend function (next) { - utils.getFriendsList(urls[1], function (err, res) { + utils.getFriendsList(servers[1].url, function (err, res) { if (err) throw err - var result = res.body + const result = res.body expect(result).to.be.an('array') expect(result.length).to.equal(1) - expect(result[0].url).to.be.equal(urls[2]) + expect(result[0].url).to.be.equal(servers[2].url) next() }) }, // Same here, the third pod should have the second pod as a friend function (next) { - utils.getFriendsList(urls[2], function (err, res) { + utils.getFriendsList(servers[2].url, function (err, res) { if (err) throw err - var result = res.body + const result = res.body expect(result).to.be.an('array') expect(result.length).to.equal(1) - expect(result[0].url).to.be.equal(urls[1]) + expect(result[0].url).to.be.equal(servers[1].url) next() }) }, // Finally the first pod make friend with the second pod function (next) { - request(urls[0]) - .get(path) - .set('Accept', 'application/json') - .expect(204) - .end(next) + makeFriends(1, next) }, // Wait for the request between pods function (next) { @@ -118,28 +119,30 @@ describe('Test basic friends', function () { // Now each pod should be friend with the other ones function (err) { if (err) throw err - async.each(urls, function (url, callback) { - testMadeFriends(urls, url, callback) + async.each(servers, function (server, callback) { + testMadeFriends(servers, server, callback) }, done) }) }) it('Should not be allowed to make friend again', function (done) { - utils.makeFriends(urls[1], 409, done) + const server = servers[1] + utils.makeFriends(server.url, server.accessToken, 409, done) }) it('Should quit friends of pod 2', function (done) { async.series([ // Pod 1 quit friends function (next) { - utils.quitFriends(urls[1], next) + const server = servers[1] + utils.quitFriends(server.url, server.accessToken, next) }, // Pod 1 should not have friends anymore function (next) { - utils.getFriendsList(urls[1], function (err, res) { + utils.getFriendsList(servers[1].url, function (err, res) { if (err) throw err - var result = res.body + const result = res.body expect(result).to.be.an('array') expect(result.length).to.equal(0) @@ -148,14 +151,14 @@ describe('Test basic friends', function () { }, // Other pods shouldn't have pod 1 too function (next) { - async.each([ urls[0], urls[2] ], function (url, callback) { + async.each([ servers[0].url, servers[2].url ], function (url, callback) { utils.getFriendsList(url, function (err, res) { if (err) throw err - var result = res.body + const result = res.body expect(result).to.be.an('array') expect(result.length).to.equal(1) - expect(result[0].url).not.to.be.equal(urls[1]) + expect(result[0].url).not.to.be.equal(servers[1].url) callback() }) }, next) @@ -164,16 +167,17 @@ describe('Test basic friends', function () { }) it('Should allow pod 2 to make friend again', function (done) { - utils.makeFriends(urls[1], function () { - async.each(urls, function (url, callback) { - testMadeFriends(urls, url, callback) + const server = servers[1] + utils.makeFriends(server.url, server.accessToken, function () { + async.each(servers, function (server, callback) { + testMadeFriends(servers, server, callback) }, done) }) }) after(function (done) { - apps.forEach(function (app) { - process.kill(-app.pid) + servers.forEach(function (server) { + process.kill(-server.app.pid) }) if (this.ok) {