]>
git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/tests/api/check-params/pods.js
1 /* eslint-disable no-unused-expressions */
5 const request
= require('supertest')
6 const series
= require('async/series')
8 const loginUtils
= require('../../utils/login')
9 const requestsUtils
= require('../../utils/requests')
10 const serversUtils
= require('../../utils/servers')
11 const usersUtils
= require('../../utils/users')
13 describe('Test pods API validators', function () {
14 const path
= '/api/v1/pods/'
17 // ---------------------------------------------------------------
19 before(function (done
) {
24 serversUtils
.flushTests(next
)
27 serversUtils
.runServer(1, function (server1
) {
34 loginUtils
.loginAndGetAccessToken(server
, function (err
, token
) {
36 server
.accessToken
= token
44 describe('When managing friends', function () {
45 let userAccessToken
= null
47 before(function (done
) {
48 usersUtils
.createUser(server
.url
, server
.accessToken
, 'user1', 'password', function () {
54 loginUtils
.loginAndGetAccessToken(server
, function (err
, accessToken
) {
57 userAccessToken
= accessToken
64 describe('When making friends', function () {
66 hosts: [ 'localhost:9002' ]
69 it('Should fail without hosts', function (done
) {
71 .post(path
+ '/makefriends')
72 .set('Authorization', 'Bearer ' + server
.accessToken
)
73 .set('Accept', 'application/json')
77 it('Should fail if hosts is not an array', function (done
) {
79 .post(path
+ '/makefriends')
80 .send({ hosts: 'localhost:9002' })
81 .set('Authorization', 'Bearer ' + server
.accessToken
)
82 .set('Accept', 'application/json')
86 it('Should fail if the array is not composed by hosts', function (done
) {
88 .post(path
+ '/makefriends')
89 .send({ hosts: [ 'localhost:9002', 'localhost:coucou' ] })
90 .set('Authorization', 'Bearer ' + server
.accessToken
)
91 .set('Accept', 'application/json')
95 it('Should fail if the array is composed with http schemes', function (done
) {
97 .post(path
+ '/makefriends')
98 .send({ hosts: [ 'localhost:9002', 'http://localhost:9003' ] })
99 .set('Authorization', 'Bearer ' + server
.accessToken
)
100 .set('Accept', 'application/json')
104 it('Should fail if hosts are not unique', function (done
) {
106 .post(path
+ '/makefriends')
107 .send({ urls: [ 'localhost:9002', 'localhost:9002' ] })
108 .set('Authorization', 'Bearer ' + server
.accessToken
)
109 .set('Accept', 'application/json')
113 it('Should fail with a invalid token', function (done
) {
115 .post(path
+ '/makefriends')
117 .set('Authorization', 'Bearer faketoken')
118 .set('Accept', 'application/json')
122 it('Should fail if the user is not an administrator', function (done
) {
124 .post(path
+ '/makefriends')
126 .set('Authorization', 'Bearer ' + userAccessToken
)
127 .set('Accept', 'application/json')
132 describe('When quitting friends', function () {
133 it('Should fail with a invalid token', function (done
) {
135 .get(path
+ '/quitfriends')
136 .query({ start: 'hello' })
137 .set('Authorization', 'Bearer faketoken')
138 .set('Accept', 'application/json')
142 it('Should fail if the user is not an administrator', function (done
) {
144 .get(path
+ '/quitfriends')
145 .query({ start: 'hello' })
146 .set('Authorization', 'Bearer ' + userAccessToken
)
147 .set('Accept', 'application/json')
153 describe('When adding a pod', function () {
154 it('Should fail with nothing', function (done
) {
156 requestsUtils
.makePostBodyRequest(server
.url
, path
, null, data
, done
)
159 it('Should fail without public key', function (done
) {
161 email: 'testexample.com',
164 requestsUtils
.makePostBodyRequest(server
.url
, path
, null, data
, done
)
167 it('Should fail without an email', function (done
) {
170 publicKey: 'mysuperpublickey'
172 requestsUtils
.makePostBodyRequest(server
.url
, path
, null, data
, done
)
175 it('Should fail without an invalid email', function (done
) {
178 email: 'testexample.com',
179 publicKey: 'mysuperpublickey'
181 requestsUtils
.makePostBodyRequest(server
.url
, path
, null, data
, done
)
184 it('Should fail without an host', function (done
) {
186 email: 'testexample.com',
187 publicKey: 'mysuperpublickey'
189 requestsUtils
.makePostBodyRequest(server
.url
, path
, null, data
, done
)
192 it('Should fail with an incorrect host', function (done
) {
194 host: 'http://coucou.com',
195 email: 'testexample.com',
196 publicKey: 'mysuperpublickey'
198 requestsUtils
.makePostBodyRequest(server
.url
, path
, null, data
, function () {
199 data
.host
= 'http://coucou'
200 requestsUtils
.makePostBodyRequest(server
.url
, path
, null, data
, function () {
202 requestsUtils
.makePostBodyRequest(server
.url
, path
, null, data
, done
)
207 it('Should succeed with the correct parameters', function (done
) {
210 email: 'test@example.com',
211 publicKey: 'mysuperpublickey'
213 requestsUtils
.makePostBodyRequest(server
.url
, path
, null, data
, done
, 200)
216 it('Should fail with a host that already exists', function (done
) {
219 email: 'test@example.com',
220 publicKey: 'mysuperpublickey'
222 requestsUtils
.makePostBodyRequest(server
.url
, path
, null, data
, done
, 409)
226 after(function (done
) {
227 process
.kill(-server
.app
.pid
)
229 // Keep the logs if the test failed
231 serversUtils
.flushTests(done
)