From bf94b6f0a1ac2cd5304f5cc7f85434120489cab8 Mon Sep 17 00:00:00 2001
From: Chocobozzz <florian.bigard@gmail.com>
Date: Fri, 7 Oct 2016 11:08:55 +0200
Subject: Server: update to webseed implementation (tests, lint...)

---
 server/initializers/constants.js  | 3 ++-
 server/models/video.js            | 7 ++-----
 server/tests/api/multiple-pods.js | 8 +-------
 server/tests/api/single-pod.js    | 7 +------
 server/tests/api/users.js         | 3 ---
 5 files changed, 6 insertions(+), 22 deletions(-)

(limited to 'server')

diff --git a/server/initializers/constants.js b/server/initializers/constants.js
index be2e3e943..75065fe72 100644
--- a/server/initializers/constants.js
+++ b/server/initializers/constants.js
@@ -42,7 +42,8 @@ const CONFIG = {
     CERT_DIR: path.join(__dirname, '..', '..', config.get('storage.certs')),
     LOG_DIR: path.join(__dirname, '..', '..', config.get('storage.logs')),
     UPLOAD_DIR: path.join(__dirname, '..', '..', config.get('storage.uploads')),
-    THUMBNAILS_DIR: path.join(__dirname, '..', '..', config.get('storage.thumbnails'))
+    THUMBNAILS_DIR: path.join(__dirname, '..', '..', config.get('storage.thumbnails')),
+    TORRENTS_DIR: path.join(__dirname, '..', '..', config.get('storage.torrents'))
   },
   WEBSERVER: {
     SCHEME: config.get('webserver.https') === true ? 'https' : 'http',
diff --git a/server/models/video.js b/server/models/video.js
index 7d073cffa..9272bea6d 100644
--- a/server/models/video.js
+++ b/server/models/video.js
@@ -19,9 +19,6 @@ const utils = require('../helpers/utils')
 const http = config.get('webserver.https') === true ? 'https' : 'http'
 const host = config.get('webserver.host')
 const port = config.get('webserver.port')
-const uploadsDir = pathUtils.join(__dirname, '..', '..', config.get('storage.uploads'))
-const thumbnailsDir = pathUtils.join(__dirname, '..', '..', config.get('storage.thumbnails'))
-const torrentsDir = pathUtils.join(__dirname, '..', '..', config.get('storage.torrents'))
 const webseedBaseUrl = http + '://' + host + ':' + port + constants.STATIC_PATHS.WEBSEED
 
 // ---------------------------------------------------------------------------
@@ -112,7 +109,7 @@ VideoSchema.pre('save', function (next) {
         createTorrent(videoPath, { announceList: [ [ 'ws://' + host + ':' + port + '/tracker/socket' ] ], urlList: [ webseedBaseUrl + video.filename ] }, function (err, torrent) {
           if (err) return callback(err)
 
-          fs.writeFile(torrentsDir + video.filename + '.torrent', torrent, function (err) {
+          fs.writeFile(constants.CONFIG.STORAGE.TORRENTS_DIR + video.filename + '.torrent', torrent, function (err) {
             if (err) return callback(err)
 
             const parsedTorrent = parseTorrent(torrent)
@@ -263,7 +260,7 @@ function removeFile (video, callback) {
 
 // Maybe the torrent is not seeded, but we catch the error to don't stop the removing process
 function removeTorrent (video, callback) {
-  fs.unlink(torrentsDir + video.filename + '.torrent')
+  fs.unlink(constants.CONFIG.STORAGE.TORRENTS_DIR + video.filename + '.torrent', callback)
 }
 
 function createThumbnail (videoPath, callback) {
diff --git a/server/tests/api/multiple-pods.js b/server/tests/api/multiple-pods.js
index b86f88c22..87fab791c 100644
--- a/server/tests/api/multiple-pods.js
+++ b/server/tests/api/multiple-pods.js
@@ -3,16 +3,14 @@
 const chai = require('chai')
 const each = require('async/each')
 const expect = chai.expect
-const pathUtils = require('path')
 const series = require('async/series')
+const webtorrent = new (require('webtorrent'))()
 
 const loginUtils = require('../utils/login')
 const miscsUtils = require('../utils/miscs')
 const podsUtils = require('../utils/pods')
 const serversUtils = require('../utils/servers')
 const videosUtils = require('../utils/videos')
-const webtorrent = require(pathUtils.join(__dirname, '../../lib/webtorrent'))
-webtorrent.silent = true
 
 describe('Test multiple pods', function () {
   let servers = []
@@ -53,9 +51,6 @@ describe('Test multiple pods', function () {
       function (next) {
         const server = servers[0]
         podsUtils.makeFriends(server.url, server.accessToken, next)
-      },
-      function (next) {
-        webtorrent.create({ host: 'client', port: '1' }, next)
       }
     ], done)
   })
@@ -415,7 +410,6 @@ describe('Test multiple pods', function () {
     servers.forEach(function (server) {
       process.kill(-server.app.pid)
     })
-    process.kill(-webtorrent.app.pid)
 
     // Keep the logs if the test failed
     if (this.ok) {
diff --git a/server/tests/api/single-pod.js b/server/tests/api/single-pod.js
index bdaaee46c..623a1a6a3 100644
--- a/server/tests/api/single-pod.js
+++ b/server/tests/api/single-pod.js
@@ -7,13 +7,12 @@ const fs = require('fs')
 const keyBy = require('lodash/keyBy')
 const pathUtils = require('path')
 const series = require('async/series')
+const webtorrent = new (require('webtorrent'))()
 
 const loginUtils = require('../utils/login')
 const miscsUtils = require('../utils/miscs')
 const serversUtils = require('../utils/servers')
 const videosUtils = require('../utils/videos')
-const webtorrent = require(pathUtils.join(__dirname, '../../lib/webtorrent'))
-webtorrent.silent = true
 
 describe('Test a single pod', function () {
   let server = null
@@ -39,9 +38,6 @@ describe('Test a single pod', function () {
           server.accessToken = token
           next()
         })
-      },
-      function (next) {
-        webtorrent.create({ host: 'client', port: '1' }, next)
       }
     ], done)
   })
@@ -496,7 +492,6 @@ describe('Test a single pod', function () {
 
   after(function (done) {
     process.kill(-server.app.pid)
-    process.kill(-webtorrent.app.pid)
 
     // Keep the logs if the test failed
     if (this.ok) {
diff --git a/server/tests/api/users.js b/server/tests/api/users.js
index c6c892bf2..94267f104 100644
--- a/server/tests/api/users.js
+++ b/server/tests/api/users.js
@@ -2,7 +2,6 @@
 
 const chai = require('chai')
 const expect = chai.expect
-const pathUtils = require('path')
 const series = require('async/series')
 
 const loginUtils = require('../utils/login')
@@ -10,8 +9,6 @@ const podsUtils = require('../utils/pods')
 const serversUtils = require('../utils/servers')
 const usersUtils = require('../utils/users')
 const videosUtils = require('../utils/videos')
-const webtorrent = require(pathUtils.join(__dirname, '../../lib/webtorrent'))
-webtorrent.silent = true
 
 describe('Test users', function () {
   let server = null
-- 
cgit v1.2.3