From 843aa7ba0312e7180e7bbae147e32ee60e70d9ba Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 1 May 2017 19:04:29 +0200 Subject: Server: add tests for video blacklists --- server/tests/api/check-params/video-blacklists.js | 123 ++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 server/tests/api/check-params/video-blacklists.js (limited to 'server/tests/api/check-params/video-blacklists.js') diff --git a/server/tests/api/check-params/video-blacklists.js b/server/tests/api/check-params/video-blacklists.js new file mode 100644 index 000000000..a39ab0cfa --- /dev/null +++ b/server/tests/api/check-params/video-blacklists.js @@ -0,0 +1,123 @@ +/* eslint-disable no-unused-expressions */ + +'use strict' + +const series = require('async/series') + +const loginUtils = require('../../utils/login') +const requestsUtils = require('../../utils/requests') +const serversUtils = require('../../utils/servers') +const usersUtils = require('../../utils/users') +const videosUtils = require('../../utils/videos') + +describe('Test video blacklists API validators', function () { + 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 = 'user1' + const password = 'my super password' + + usersUtils.createUser(server.url, server.accessToken, username, password, next) + }, + function (next) { + const user = { + username: 'user1', + password: 'my super password' + } + + loginUtils.getUserAccessToken(server, user, function (err, accessToken) { + if (err) throw err + + userAccessToken = accessToken + + next() + }) + }, + // Upload a video + function (next) { + const videoAttributes = {} + videosUtils.uploadVideo(server.url, server.accessToken, videoAttributes, next) + }, + function (next) { + videosUtils.getVideosList(server.url, function (err, res) { + if (err) throw err + + const videos = res.body.data + server.video = videos[0] + + next() + }) + } + ], done) + }) + + describe('When adding a video in blacklist', function () { + const basePath = '/api/v1/videos/' + + it('Should fail with nothing', function (done) { + const path = basePath + server.video + '/blacklist' + const data = {} + requestsUtils.makePostBodyRequest(server.url, path, server.accessToken, data, done) + }) + + it('Should fail with a wrong video', function (done) { + const wrongPath = '/api/v1/videos/blabla/blacklist' + const data = {} + requestsUtils.makePostBodyRequest(server.url, wrongPath, server.accessToken, data, done) + }) + + it('Should fail with a non authenticated user', function (done) { + const data = {} + const path = basePath + server.video + '/blacklist' + requestsUtils.makePostBodyRequest(server.url, path, 'hello', data, done, 401) + }) + + it('Should fail with a non admin user', function (done) { + const data = {} + const path = basePath + server.video + '/blacklist' + requestsUtils.makePostBodyRequest(server.url, path, userAccessToken, data, done, 403) + }) + + it('Should fail with a local video', function (done) { + const data = {} + const path = basePath + server.video.id + '/blacklist' + requestsUtils.makePostBodyRequest(server.url, path, server.accessToken, data, done, 403) + }) + }) + + after(function (done) { + process.kill(-server.app.pid) + + // Keep the logs if the test failed + if (this.ok) { + serversUtils.flushTests(done) + } else { + done() + } + }) +}) -- cgit v1.2.3