]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/tests/api/friendsAdvanced.js
Server: udpate async to 2.0.0
[github/Chocobozzz/PeerTube.git] / server / tests / api / friendsAdvanced.js
index 9838d890ffdc431143b37b159bed60b9fbbe5434..603fbc16bec368b4d94c30f8b8af24a8a8fe8414 100644 (file)
@@ -1,54 +1,66 @@
 'use strict'
 
-var async = require('async')
-var chai = require('chai')
-var expect = chai.expect
+const chai = require('chai')
+const each = require('async/each')
+const expect = chai.expect
+const series = require('async/series')
 
-var utils = require('./utils')
+const utils = require('./utils')
 
 describe('Test advanced friends', function () {
-  var apps = []
-  var 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 utils.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 utils.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 utils.getFriendsList(server.url, end)
   }
 
-  function uploadVideo (pod_number, callback) {
-    var name = 'my super video'
-    var description = 'my super description'
-    var fixture = 'video_short.webm'
+  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 utils.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 utils.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()
+    utils.flushAndRunMultipleServers(6, function (serversRun, urlsRun) {
+      servers = serversRun
+
+      each(servers, function (server, callbackEach) {
+        utils.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 +94,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 +104,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 +120,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 +131,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 +165,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
+        utils.runServer(4, function (server) {
+          servers[3].app = server.app
           next()
         })
       },
@@ -156,13 +180,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
@@ -171,10 +197,10 @@ describe('Test advanced friends', function () {
           if (err) throw err
 
           // Pod 4 should not be our friend
-          var result = res.body
+          const result = res.body
           expect(result.length).to.equal(3)
-          for (var pod of result) {
-            expect(pod.url).not.equal(urls[3])
+          for (const pod of result) {
+            expect(pod.url).not.equal(servers[3].url)
           }
 
           done()
@@ -186,7 +212,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 +227,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 +240,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,18 +257,19 @@ 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) {