]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/tests/api/check-params.js
Server: add requests stats endpoint
[github/Chocobozzz/PeerTube.git] / server / tests / api / check-params.js
index ec666417c2a9c67bf29a59145d3dc4deb5b62945..a696bc171795d512e14db6bf9856355b4ac07ee0 100644 (file)
@@ -13,6 +13,7 @@ const usersUtils = require('../utils/users')
 
 describe('Test parameters validator', function () {
   let server = null
+  let userAccessToken = null
 
   // ---------------------------------------------------------------
 
@@ -44,50 +45,7 @@ describe('Test parameters validator', function () {
   describe('Of the pods API', function () {
     const path = '/api/v1/pods/'
 
-    describe('When adding a pod', function () {
-      it('Should fail with nothing', function (done) {
-        const data = {}
-        requestsUtils.makePostBodyRequest(server.url, path, null, data, done)
-      })
-
-      it('Should fail without public key', function (done) {
-        const data = {
-          url: 'http://coucou.com'
-        }
-        requestsUtils.makePostBodyRequest(server.url, path, null, data, done)
-      })
-
-      it('Should fail without an url', function (done) {
-        const data = {
-          publicKey: 'mysuperpublickey'
-        }
-        requestsUtils.makePostBodyRequest(server.url, path, null, data, done)
-      })
-
-      it('Should fail with an incorrect url', function (done) {
-        const data = {
-          url: 'coucou.com',
-          publicKey: 'mysuperpublickey'
-        }
-        requestsUtils.makePostBodyRequest(server.url, path, null, data, function () {
-          data.url = 'http://coucou'
-          requestsUtils.makePostBodyRequest(server.url, path, null, data, function () {
-            data.url = 'coucou'
-            requestsUtils.makePostBodyRequest(server.url, path, null, data, done)
-          })
-        })
-      })
-
-      it('Should succeed with the correct parameters', function (done) {
-        const data = {
-          url: 'http://coucou.com',
-          publicKey: 'mysuperpublickey'
-        }
-        requestsUtils.makePostBodyRequest(server.url, path, null, data, done, 200)
-      })
-    })
-
-    describe('For the friends API', function () {
+    describe('When making friends', function () {
       let userAccessToken = null
 
       before(function (done) {
@@ -115,27 +73,36 @@ describe('Test parameters validator', function () {
         it('Should fail without urls', function (done) {
           request(server.url)
             .post(path + '/makefriends')
-            .set('Authorization', 'Bearer faketoken')
+            .set('Authorization', 'Bearer ' + server.accessToken)
             .set('Accept', 'application/json')
-            .expect(401, done)
+            .expect(400, done)
         })
 
         it('Should fail with urls is not an array', function (done) {
           request(server.url)
             .post(path + '/makefriends')
             .send({ urls: 'http://localhost:9002' })
-            .set('Authorization', 'Bearer faketoken')
+            .set('Authorization', 'Bearer ' + server.accessToken)
             .set('Accept', 'application/json')
-            .expect(401, done)
+            .expect(400, done)
         })
 
         it('Should fail if the array is not composed by urls', function (done) {
           request(server.url)
             .post(path + '/makefriends')
             .send({ urls: [ 'http://localhost:9002', 'localhost:coucou' ] })
-            .set('Authorization', 'Bearer faketoken')
+            .set('Authorization', 'Bearer ' + server.accessToken)
             .set('Accept', 'application/json')
-            .expect(401, done)
+            .expect(400, done)
+        })
+
+        it('Should fail if urls are not unique', function (done) {
+          request(server.url)
+            .post(path + '/makefriends')
+            .send({ urls: [ 'http://localhost:9002', 'http://localhost:9002' ] })
+            .set('Authorization', 'Bearer ' + server.accessToken)
+            .set('Accept', 'application/json')
+            .expect(400, done)
         })
 
         it('Should fail with a invalid token', function (done) {
@@ -177,6 +144,49 @@ describe('Test parameters validator', function () {
         })
       })
     })
+
+    describe('When adding a pod', function () {
+      it('Should fail with nothing', function (done) {
+        const data = {}
+        requestsUtils.makePostBodyRequest(server.url, path, null, data, done)
+      })
+
+      it('Should fail without public key', function (done) {
+        const data = {
+          url: 'http://coucou.com'
+        }
+        requestsUtils.makePostBodyRequest(server.url, path, null, data, done)
+      })
+
+      it('Should fail without an url', function (done) {
+        const data = {
+          publicKey: 'mysuperpublickey'
+        }
+        requestsUtils.makePostBodyRequest(server.url, path, null, data, done)
+      })
+
+      it('Should fail with an incorrect url', function (done) {
+        const data = {
+          url: 'coucou.com',
+          publicKey: 'mysuperpublickey'
+        }
+        requestsUtils.makePostBodyRequest(server.url, path, null, data, function () {
+          data.url = 'http://coucou'
+          requestsUtils.makePostBodyRequest(server.url, path, null, data, function () {
+            data.url = 'coucou'
+            requestsUtils.makePostBodyRequest(server.url, path, null, data, done)
+          })
+        })
+      })
+
+      it('Should succeed with the correct parameters', function (done) {
+        const data = {
+          url: 'http://coucou.com',
+          publicKey: 'mysuperpublickey'
+        }
+        requestsUtils.makePostBodyRequest(server.url, path, null, data, done, 200)
+      })
+    })
   })
 
   describe('Of the videos API', function () {
@@ -487,7 +497,6 @@ describe('Test parameters validator', function () {
   describe('Of the users API', function () {
     const path = '/api/v1/users/'
     let userId = null
-    let userAccessToken = null
 
     describe('When listing users', function () {
       it('Should fail with a bad start pagination', function (done) {
@@ -572,19 +581,28 @@ describe('Test parameters validator', function () {
         requestsUtils.makePostBodyRequest(server.url, path, 'super token', data, done, 401)
       })
 
-      it('Should succeed with the correct params', function (done) {
+      it('Should fail if we add a user with the same username', function (done) {
         const data = {
           username: 'user1',
           password: 'my super password'
         }
 
+        requestsUtils.makePostBodyRequest(server.url, path, server.accessToken, data, done, 409)
+      })
+
+      it('Should succeed with the correct params', function (done) {
+        const data = {
+          username: 'user2',
+          password: 'my super password'
+        }
+
         requestsUtils.makePostBodyRequest(server.url, path, server.accessToken, data, done, 204)
       })
 
       it('Should fail with a non admin user', function (done) {
         server.user = {
           username: 'user1',
-          password: 'my super password'
+          password: 'password'
         }
 
         loginUtils.loginAndGetAccessToken(server, function (err, accessToken) {
@@ -593,7 +611,7 @@ describe('Test parameters validator', function () {
           userAccessToken = accessToken
 
           const data = {
-            username: 'user2',
+            username: 'user3',
             password: 'my super password'
           }
 
@@ -703,6 +721,25 @@ describe('Test parameters validator', function () {
     })
   })
 
+  describe('Of the requests API', function () {
+    const path = '/api/v1/requests/stats'
+
+    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)