]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/commitdiff
Fix requests ordering between pods
authorChocobozzz <florian.bigard@gmail.com>
Tue, 5 Jul 2016 19:36:01 +0000 (21:36 +0200)
committerChocobozzz <florian.bigard@gmail.com>
Tue, 5 Jul 2016 19:36:01 +0000 (21:36 +0200)
server/controllers/api/v1/remote.js
server/models/request.js
server/tests/api/utils.js

index 7af9b7e84577b8aae6189c759ffd9e54991cf843..9c2ca86e0bc3cfb7f496c4348f52965e62a104ca 100644 (file)
@@ -39,6 +39,8 @@ function remoteVideos (req, res, next) {
       addRemoteVideo(videoData, callbackEach)
     } else if (request.type === 'remove') {
       removeRemoteVideo(videoData, fromUrl, callbackEach)
+    } else {
+      logger.error('Unkown remote request type %s.', request.type)
     }
   }, function (err) {
     if (err) logger.error('Error managing remote videos.', { error: err })
@@ -49,6 +51,8 @@ function remoteVideos (req, res, next) {
 }
 
 function addRemoteVideo (videoToCreateData, callback) {
+  logger.debug('Adding remote video %s.', videoToCreateData.magnetUri)
+
   // Mongoose pre hook will automatically create the thumbnail on disk
   videoToCreateData.thumbnail = videoToCreateData.thumbnailBase64
 
@@ -64,7 +68,13 @@ function removeRemoteVideo (videoToRemoveData, fromUrl, callback) {
       return callback(err)
     }
 
+    if (videosList.length === 0) {
+      logger.error('No remote video was found for this pod.', { magnetUri: videoToRemoveData.magnetUri, podUrl: fromUrl })
+    }
+
     async.each(videosList, function (video, callbackEach) {
+      logger.debug('Removing remote video %s.', video.magnetUri)
+
       video.remove(callbackEach)
     }, callback)
   })
index db6ad54096f847de35b4934f657d52d8ef5adebc..7fdf5bd31ea7352343b394eecb84ea1c7391761f 100644 (file)
@@ -270,7 +270,7 @@ function updatePodsScore (goodPods, badPods) {
 }
 
 function list (callback) {
-  this.find({ }, { _id: 1, request: 1, to: 1 }callback)
+  this.find({ }, { _id: 1, request: 1, to: 1 }).sort({ _id: 1 }).exec(callback)
 }
 
 function removeAll (callback) {
index e0068eadabe110bad362135e3f07fe1cc8cb07ab..7c8698a0a1d4dd2f317557e696285fb476f4e360 100644 (file)
@@ -10,6 +10,7 @@ const request = require('supertest')
 const testUtils = {
   dateIsValid: dateIsValid,
   flushTests: flushTests,
+  getAllVideosListBy: getAllVideosListBy,
   getFriendsList: getFriendsList,
   getVideo: getVideo,
   getVideosList: getVideosList,
@@ -45,6 +46,20 @@ function flushTests (callback) {
   exec('npm run clean:server:test', callback)
 }
 
+function getAllVideosListBy (url, end) {
+  const path = '/api/v1/videos'
+
+  request(url)
+    .get(path)
+    .query({ sort: 'createdDate' })
+    .query({ start: 0 })
+    .query({ count: 10000 })
+    .set('Accept', 'application/json')
+    .expect(200)
+    .expect('Content-Type', /json/)
+    .end(end)
+}
+
 function getFriendsList (url, end) {
   const path = '/api/v1/pods/'