]>
Commit | Line | Data |
---|---|---|
8d309058 C |
1 | 'use strict' |
2 | ||
3 | const request = require('supertest') | |
4 | ||
5 | const loginUtils = { | |
c4403b29 | 6 | login, |
efe923bc C |
7 | loginAndGetAccessToken, |
8 | getUserAccessToken | |
8d309058 C |
9 | } |
10 | ||
11 | // ---------------------- Export functions -------------------- | |
12 | ||
13 | function login (url, client, user, expectedStatus, end) { | |
14 | if (!end) { | |
15 | end = expectedStatus | |
16 | expectedStatus = 200 | |
17 | } | |
18 | ||
19 | const path = '/api/v1/users/token' | |
20 | ||
21 | const body = { | |
22 | client_id: client.id, | |
23 | client_secret: client.secret, | |
24 | username: user.username, | |
25 | password: user.password, | |
26 | response_type: 'code', | |
27 | grant_type: 'password', | |
28 | scope: 'upload' | |
29 | } | |
30 | ||
31 | request(url) | |
32 | .post(path) | |
33 | .type('form') | |
34 | .send(body) | |
35 | .expect(expectedStatus) | |
36 | .end(end) | |
37 | } | |
38 | ||
39 | function loginAndGetAccessToken (server, callback) { | |
40 | login(server.url, server.client, server.user, 200, function (err, res) { | |
41 | if (err) return callback(err) | |
42 | ||
43 | return callback(null, res.body.access_token) | |
44 | }) | |
45 | } | |
46 | ||
efe923bc C |
47 | function getUserAccessToken (server, user, callback) { |
48 | login(server.url, server.client, user, 200, function (err, res) { | |
49 | if (err) return callback(err) | |
50 | ||
51 | return callback(null, res.body.access_token) | |
52 | }) | |
53 | } | |
54 | ||
8d309058 C |
55 | // --------------------------------------------------------------------------- |
56 | ||
57 | module.exports = loginUtils |