From e636eb88101a51399057c86477af6677f5614d48 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Sun, 25 Jun 2017 17:19:46 +0200 Subject: Requests -> RequestSchedulers --- server/tests/api/check-params/index.js | 2 +- .../tests/api/check-params/request-schedulers.js | 89 +++++++++++++++++ server/tests/api/check-params/requests.js | 89 ----------------- server/tests/api/index.js | 2 +- server/tests/api/request-schedulers.js | 111 +++++++++++++++++++++ server/tests/api/requests.js | 111 --------------------- server/tests/real-world/real-world.js | 4 +- server/tests/utils/request-schedulers.js | 25 +++++ server/tests/utils/requests-stats.js | 25 ----- 9 files changed, 229 insertions(+), 229 deletions(-) create mode 100644 server/tests/api/check-params/request-schedulers.js delete mode 100644 server/tests/api/check-params/requests.js create mode 100644 server/tests/api/request-schedulers.js delete mode 100644 server/tests/api/requests.js create mode 100644 server/tests/utils/request-schedulers.js delete mode 100644 server/tests/utils/requests-stats.js (limited to 'server/tests') diff --git a/server/tests/api/check-params/index.js b/server/tests/api/check-params/index.js index 527ab65a9..1ba16ff32 100644 --- a/server/tests/api/check-params/index.js +++ b/server/tests/api/check-params/index.js @@ -4,7 +4,7 @@ require('./pods') require('./remotes') require('./users') -require('./requests') +require('./request-schedulers') require('./videos') require('./video-abuses') require('./video-blacklists') diff --git a/server/tests/api/check-params/request-schedulers.js b/server/tests/api/check-params/request-schedulers.js new file mode 100644 index 000000000..9ba0df730 --- /dev/null +++ b/server/tests/api/check-params/request-schedulers.js @@ -0,0 +1,89 @@ +/* eslint-disable no-unused-expressions */ + +'use strict' + +const request = require('supertest') +const series = require('async/series') + +const loginUtils = require('../../utils/login') +const usersUtils = require('../../utils/users') +const serversUtils = require('../../utils/servers') + +describe('Test request schedulers stats API validators', function () { + const path = '/api/v1/request-schedulers/stats' + let server = null + let userAccessToken = null + + // --------------------------------------------------------------- + + before(function (done) { + this.timeout(20000) + + series([ + function (next) { + serversUtils.flushTests(next) + }, + function (next) { + serversUtils.runServer(1, function (server1) { + server = server1 + + next() + }) + }, + function (next) { + loginUtils.loginAndGetAccessToken(server, function (err, token) { + if (err) throw err + server.accessToken = token + + next() + }) + }, + function (next) { + const username = 'user' + const password = 'my super password' + + usersUtils.createUser(server.url, server.accessToken, username, password, next) + }, + function (next) { + const user = { + username: 'user', + password: 'my super password' + } + + loginUtils.getUserAccessToken(server, user, function (err, accessToken) { + if (err) throw err + + userAccessToken = accessToken + + next() + }) + } + ], done) + }) + + it('Should fail with an non authenticated user', function (done) { + request(server.url) + .get(path) + .set('Accept', 'application/json') + .expect(401, done) + }) + + it('Should fail with a non admin user', function (done) { + request(server.url) + .get(path) + .set('Authorization', 'Bearer ' + userAccessToken) + .set('Accept', 'application/json') + .expect(403, done) + }) + + after(function (done) { + process.kill(-server.app.pid) + + // Keep the logs if the test failed + if (this.ok) { + serversUtils.flushTests(done) + } else { + done() + } + }) +}) diff --git a/server/tests/api/check-params/requests.js b/server/tests/api/check-params/requests.js deleted file mode 100644 index 0ce5582d6..000000000 --- a/server/tests/api/check-params/requests.js +++ /dev/null @@ -1,89 +0,0 @@ -/* eslint-disable no-unused-expressions */ - -'use strict' - -const request = require('supertest') -const series = require('async/series') - -const loginUtils = require('../../utils/login') -const usersUtils = require('../../utils/users') -const serversUtils = require('../../utils/servers') - -describe('Test requests API validators', function () { - const path = '/api/v1/requests/stats' - let server = null - let userAccessToken = null - - // --------------------------------------------------------------- - - before(function (done) { - this.timeout(20000) - - series([ - function (next) { - serversUtils.flushTests(next) - }, - function (next) { - serversUtils.runServer(1, function (server1) { - server = server1 - - next() - }) - }, - function (next) { - loginUtils.loginAndGetAccessToken(server, function (err, token) { - if (err) throw err - server.accessToken = token - - next() - }) - }, - function (next) { - const username = 'user' - const password = 'my super password' - - usersUtils.createUser(server.url, server.accessToken, username, password, next) - }, - function (next) { - const user = { - username: 'user', - password: 'my super password' - } - - loginUtils.getUserAccessToken(server, user, function (err, accessToken) { - if (err) throw err - - userAccessToken = accessToken - - next() - }) - } - ], done) - }) - - it('Should fail with an non authenticated user', function (done) { - request(server.url) - .get(path) - .set('Accept', 'application/json') - .expect(401, done) - }) - - it('Should fail with a non admin user', function (done) { - request(server.url) - .get(path) - .set('Authorization', 'Bearer ' + userAccessToken) - .set('Accept', 'application/json') - .expect(403, done) - }) - - after(function (done) { - process.kill(-server.app.pid) - - // Keep the logs if the test failed - if (this.ok) { - serversUtils.flushTests(done) - } else { - done() - } - }) -}) diff --git a/server/tests/api/index.js b/server/tests/api/index.js index cc86a3d3b..7404d7d88 100644 --- a/server/tests/api/index.js +++ b/server/tests/api/index.js @@ -9,6 +9,6 @@ require('./single-pod') require('./video-abuse') require('./video-blacklist') require('./multiple-pods') -require('./requests') +require('./request-schedulers') require('./friends-advanced') require('./video-transcoder') diff --git a/server/tests/api/request-schedulers.js b/server/tests/api/request-schedulers.js new file mode 100644 index 000000000..c5c443f14 --- /dev/null +++ b/server/tests/api/request-schedulers.js @@ -0,0 +1,111 @@ +/* eslint-disable no-unused-expressions */ + +'use strict' + +const chai = require('chai') +const each = require('async/each') +const expect = chai.expect +const request = require('supertest') + +const loginUtils = require('../utils/login') +const podsUtils = require('../utils/pods') +const serversUtils = require('../utils/servers') +const videosUtils = require('../utils/videos') + +describe('Test requests schedulers stats', function () { + const requestSchedulerNames = [ 'requestScheduler', 'requestVideoQaduScheduler', 'requestVideoEventScheduler' ] + const path = '/api/v1/request-schedulers/stats' + let servers = [] + + function uploadVideo (server, callback) { + const videoAttributes = { + tags: [ 'tag1', 'tag2' ] + } + + videosUtils.uploadVideo(server.url, server.accessToken, videoAttributes, callback) + } + + function getRequestsStats (server, callback) { + request(server.url) + .get(path) + .set('Accept', 'application/json') + .set('Authorization', 'Bearer ' + server.accessToken) + .expect(200) + .end(callback) + } + + // --------------------------------------------------------------- + + before(function (done) { + this.timeout(20000) + serversUtils.flushAndRunMultipleServers(2, 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() + }) + }, function (err) { + if (err) throw err + + const server1 = servers[0] + podsUtils.makeFriends(server1.url, server1.accessToken, done) + }) + }) + }) + + it('Should have a correct timer', function (done) { + const server = servers[0] + + getRequestsStats(server, function (err, res) { + if (err) throw err + + const requestSchedulers = res.body + for (const requestSchedulerName of requestSchedulerNames) { + const requestScheduler = requestSchedulers[requestSchedulerName] + + expect(requestScheduler.remainingMilliSeconds).to.be.at.least(0) + expect(requestScheduler.remainingMilliSeconds).to.be.at.most(10000) + } + + done() + }) + }) + + it('Should have the correct total request', function (done) { + this.timeout(15000) + + const server = servers[0] + // Ensure the requests of pod 1 won't be made + servers[1].app.kill() + + uploadVideo(server, function (err) { + if (err) throw err + + setTimeout(function () { + getRequestsStats(server, function (err, res) { + if (err) throw err + + const requestSchedulers = res.body + const requestScheduler = requestSchedulers.requestScheduler + expect(requestScheduler.totalRequests).to.equal(1) + + done() + }) + }, 1000) + }) + }) + + after(function (done) { + process.kill(-servers[0].app.pid) + + if (this.ok) { + serversUtils.flushTests(done) + } else { + done() + } + }) +}) diff --git a/server/tests/api/requests.js b/server/tests/api/requests.js deleted file mode 100644 index 8762163af..000000000 --- a/server/tests/api/requests.js +++ /dev/null @@ -1,111 +0,0 @@ -/* eslint-disable no-unused-expressions */ - -'use strict' - -const chai = require('chai') -const each = require('async/each') -const expect = chai.expect -const request = require('supertest') - -const loginUtils = require('../utils/login') -const podsUtils = require('../utils/pods') -const serversUtils = require('../utils/servers') -const videosUtils = require('../utils/videos') - -describe('Test requests stats', function () { - const requestSchedulerNames = [ 'requestScheduler', 'requestVideoQaduScheduler', 'requestVideoEventScheduler' ] - const path = '/api/v1/requests/stats' - let servers = [] - - function uploadVideo (server, callback) { - const videoAttributes = { - tags: [ 'tag1', 'tag2' ] - } - - videosUtils.uploadVideo(server.url, server.accessToken, videoAttributes, callback) - } - - function getRequestsStats (server, callback) { - request(server.url) - .get(path) - .set('Accept', 'application/json') - .set('Authorization', 'Bearer ' + server.accessToken) - .expect(200) - .end(callback) - } - - // --------------------------------------------------------------- - - before(function (done) { - this.timeout(20000) - serversUtils.flushAndRunMultipleServers(2, 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() - }) - }, function (err) { - if (err) throw err - - const server1 = servers[0] - podsUtils.makeFriends(server1.url, server1.accessToken, done) - }) - }) - }) - - it('Should have a correct timer', function (done) { - const server = servers[0] - - getRequestsStats(server, function (err, res) { - if (err) throw err - - const requestSchedulers = res.body - for (const requestSchedulerName of requestSchedulerNames) { - const requestScheduler = requestSchedulers[requestSchedulerName] - - expect(requestScheduler.remainingMilliSeconds).to.be.at.least(0) - expect(requestScheduler.remainingMilliSeconds).to.be.at.most(10000) - } - - done() - }) - }) - - it('Should have the correct total request', function (done) { - this.timeout(15000) - - const server = servers[0] - // Ensure the requests of pod 1 won't be made - servers[1].app.kill() - - uploadVideo(server, function (err) { - if (err) throw err - - setTimeout(function () { - getRequestsStats(server, function (err, res) { - if (err) throw err - - const requestSchedulers = res.body - const requestScheduler = requestSchedulers.requestScheduler - expect(requestScheduler.totalRequests).to.equal(1) - - done() - }) - }, 1000) - }) - }) - - after(function (done) { - process.kill(-servers[0].app.pid) - - if (this.ok) { - serversUtils.flushTests(done) - } else { - done() - } - }) -}) diff --git a/server/tests/real-world/real-world.js b/server/tests/real-world/real-world.js index 3ac13f053..ea189c5f2 100644 --- a/server/tests/real-world/real-world.js +++ b/server/tests/real-world/real-world.js @@ -13,7 +13,7 @@ const loginUtils = require('../utils/login') const podsUtils = require('../utils/pods') const serversUtils = require('../utils/servers') const videosUtils = require('../utils/videos') -const requestStatsUtils = require('../utils/requests-stats') +const requestSchedulersUtils = require('../utils/request-schedulers') program .option('-c, --create [weight]', 'Weight for creating videos') @@ -344,7 +344,7 @@ function isThereAwaitingRequests (servers, callback) { // Check is each server has awaiting requestq each(servers, function (server, callbackEach) { - requestStatsUtils.getRequestsStats(server, server.accessToken, function (err, res) { + requestSchedulersUtils.getRequestsStats(server, server.accessToken, function (err, res) { if (err) throw err const stats = res.body diff --git a/server/tests/utils/request-schedulers.js b/server/tests/utils/request-schedulers.js new file mode 100644 index 000000000..16835ce47 --- /dev/null +++ b/server/tests/utils/request-schedulers.js @@ -0,0 +1,25 @@ +'use strict' + +const request = require('supertest') + +const requestsStatsUtils = { + getRequestsStats +} + +// ---------------------- Export functions -------------------- + +function getRequestsStats (server, accessToken, callback) { + const path = '/api/v1/requests/stats' + + request(server.url) + .get(path) + .set('Accept', 'application/json') + .set('Authorization', 'Bearer ' + accessToken) + .expect(200) + .expect('Content-Type', /json/) + .end(callback) +} + +// --------------------------------------------------------------------------- + +module.exports = requestsStatsUtils diff --git a/server/tests/utils/requests-stats.js b/server/tests/utils/requests-stats.js deleted file mode 100644 index 16835ce47..000000000 --- a/server/tests/utils/requests-stats.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict' - -const request = require('supertest') - -const requestsStatsUtils = { - getRequestsStats -} - -// ---------------------- Export functions -------------------- - -function getRequestsStats (server, accessToken, callback) { - const path = '/api/v1/requests/stats' - - request(server.url) - .get(path) - .set('Accept', 'application/json') - .set('Authorization', 'Bearer ' + accessToken) - .expect(200) - .expect('Content-Type', /json/) - .end(callback) -} - -// --------------------------------------------------------------------------- - -module.exports = requestsStatsUtils -- cgit v1.2.3