+function updateVideo (url, accessToken, id, attributes, specialStatus, end) {
+ if (!end) {
+ end = specialStatus
+ specialStatus = 204
+ }
+
+ const path = '/api/v1/videos/' + id
+
+ const req = request(url)
+ .put(path)
+ .set('Accept', 'application/json')
+ .set('Authorization', 'Bearer ' + accessToken)
+
+ if (attributes.name) req.field('name', attributes.name)
+ if (attributes.category) req.field('category', attributes.category)
+ if (attributes.licence) req.field('licence', attributes.licence)
+ if (attributes.description) req.field('description', attributes.description)
+
+ if (attributes.tags) {
+ for (let i = 0; i < attributes.tags.length; i++) {
+ req.field('tags[' + i + ']', attributes.tags[i])
+ }
+ }
+
+ req.expect(specialStatus).end(end)
+}
+
+function rateVideo (url, accessToken, id, rating, specialStatus, end) {
+ if (!end) {
+ end = specialStatus
+ specialStatus = 204
+ }
+
+ const path = '/api/v1/videos/' + id + '/rate'
+
+ request(url)
+ .put(path)
+ .set('Accept', 'application/json')
+ .set('Authorization', 'Bearer ' + accessToken)
+ .send({ rating })
+ .expect(specialStatus)
+ .end(end)
+}
+