]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/tests/api/users.js
Increase the interval for the friends requests
[github/Chocobozzz/PeerTube.git] / server / tests / api / users.js
CommitLineData
0c1cbbfe
C
1'use strict'
2
3const async = require('async')
4const chai = require('chai')
5const expect = chai.expect
6const pathUtils = require('path')
7
8const webtorrent = require(pathUtils.join(__dirname, '../../lib/webtorrent'))
9webtorrent.silent = true
10
11const utils = require('./utils')
12
13describe('Test users', function () {
14 let server = null
bc503c2a
C
15 let accessToken = null
16 let videoId
0c1cbbfe
C
17
18 before(function (done) {
19 this.timeout(20000)
20
21 async.series([
22 function (next) {
23 utils.flushTests(next)
24 },
25 function (next) {
26 utils.runServer(1, function (server1) {
27 server = server1
28 next()
29 })
30 }
31 ], done)
32 })
33
b0ec596c
C
34 it('Should create a new client')
35
36 it('Should return the first client')
37
38 it('Should remove the last client')
39
0c1cbbfe
C
40 it('Should not login with an invalid client id', function (done) {
41 const client = { id: 'client', password: server.client.secret }
42 utils.login(server.url, client, server.user, 400, function (err, res) {
43 if (err) throw err
44
45 expect(res.body.error).to.equal('invalid_client')
46 done()
47 })
48 })
49
50 it('Should not login with an invalid client password', function (done) {
51 const client = { id: server.client.id, password: 'coucou' }
52 utils.login(server.url, client, server.user, 400, function (err, res) {
53 if (err) throw err
54
55 expect(res.body.error).to.equal('invalid_client')
56 done()
57 })
58 })
59
60 it('Should not login with an invalid username', function (done) {
61 const user = { username: 'captain crochet', password: server.user.password }
62 utils.login(server.url, server.client, user, 400, function (err, res) {
63 if (err) throw err
64
65 expect(res.body.error).to.equal('invalid_grant')
66 done()
67 })
68 })
69
70 it('Should not login with an invalid password', function (done) {
71 const user = { username: server.user.username, password: 'mewthree' }
72 utils.login(server.url, server.client, user, 400, function (err, res) {
73 if (err) throw err
74
75 expect(res.body.error).to.equal('invalid_grant')
76 done()
77 })
78 })
79
80 it('Should not be able to upload a video', function (done) {
bc503c2a
C
81 accessToken = 'mysupertoken'
82 utils.uploadVideo(server.url, accessToken, 'my super name', 'my super description', 'video_short.webm', 401, done)
0c1cbbfe
C
83 })
84
b3b92647
C
85 it('Should not be able to make friends', function (done) {
86 accessToken = 'mysupertoken'
87 utils.makeFriends(server.url, accessToken, 401, done)
88 })
89
90 it('Should not be able to quit friends', function (done) {
91 accessToken = 'mysupertoken'
92 utils.quitFriends(server.url, accessToken, 401, done)
93 })
94
0c1cbbfe
C
95 it('Should be able to login', function (done) {
96 utils.login(server.url, server.client, server.user, 200, function (err, res) {
97 if (err) throw err
98
bc503c2a 99 accessToken = res.body.access_token
0c1cbbfe
C
100 done()
101 })
102 })
103
104 it('Should upload the video with the correct token', function (done) {
bc503c2a 105 utils.uploadVideo(server.url, accessToken, 'my super name', 'my super description', 'video_short.webm', 204, function (err, res) {
0c1cbbfe
C
106 if (err) throw err
107
108 utils.getVideosList(server.url, function (err, res) {
109 if (err) throw err
110
68ce3ae0 111 const video = res.body.data[0]
6d8ada5f
C
112 expect(video.author).to.equal('root')
113
bc503c2a 114 videoId = video.id
0c1cbbfe
C
115 done()
116 })
117 })
118 })
119
120 it('Should upload the video again with the correct token', function (done) {
bc503c2a 121 utils.uploadVideo(server.url, accessToken, 'my super name 2', 'my super description 2', 'video_short.webm', 204, done)
0c1cbbfe
C
122 })
123
124 it('Should not be able to remove the video with an incorrect token', function (done) {
bc503c2a 125 utils.removeVideo(server.url, 'bad_token', videoId, 401, done)
0c1cbbfe
C
126 })
127
128 it('Should not be able to remove the video with the token of another account')
129
130 it('Should be able to remove the video with the correct token', function (done) {
bc503c2a 131 utils.removeVideo(server.url, accessToken, videoId, done)
0c1cbbfe
C
132 })
133
134 it('Should logout')
135
136 it('Should not be able to upload a video')
137
138 it('Should not be able to remove a video')
139
140 it('Should be able to login again')
141
142 after(function (done) {
143 process.kill(-server.app.pid)
144
145 // Keep the logs if the test failed
146 if (this.ok) {
147 utils.flushTests(done)
148 } else {
149 done()
150 }
151 })
152})