]>
Commit | Line | Data |
---|---|---|
0e1dc3e7 C |
1 | import * as request from 'supertest' |
2 | ||
3 | import { wait } from './miscs' | |
4 | ||
5 | function getFriendsList (url: string) { | |
6 | const path = '/api/v1/pods/' | |
7 | ||
8 | return request(url) | |
9 | .get(path) | |
10 | .set('Accept', 'application/json') | |
11 | .expect(200) | |
12 | .expect('Content-Type', /json/) | |
13 | } | |
14 | ||
8a02bd04 C |
15 | function getPodsListPaginationAndSort (url: string, start: number, count: number, sort: string) { |
16 | const path = '/api/v1/pods/' | |
17 | ||
18 | return request(url) | |
19 | .get(path) | |
20 | .query({ start }) | |
21 | .query({ count }) | |
22 | .query({ sort }) | |
23 | .set('Accept', 'application/json') | |
24 | .expect(200) | |
25 | .expect('Content-Type', /json/) | |
26 | } | |
27 | ||
0e1dc3e7 C |
28 | async function makeFriends (url: string, accessToken: string, expectedStatus = 204) { |
29 | // Which pod makes friends with which pod | |
30 | const friendsMatrix = { | |
31 | 'http://localhost:9001': [ | |
32 | 'localhost:9002' | |
33 | ], | |
34 | 'http://localhost:9002': [ | |
35 | 'localhost:9003' | |
36 | ], | |
37 | 'http://localhost:9003': [ | |
38 | 'localhost:9001' | |
39 | ], | |
40 | 'http://localhost:9004': [ | |
41 | 'localhost:9002' | |
42 | ], | |
43 | 'http://localhost:9005': [ | |
44 | 'localhost:9001', | |
45 | 'localhost:9004' | |
46 | ], | |
47 | 'http://localhost:9006': [ | |
48 | 'localhost:9001', | |
49 | 'localhost:9002', | |
50 | 'localhost:9003' | |
51 | ] | |
52 | } | |
aa2e7f15 | 53 | const path = '/api/v1/pods/make-friends' |
0e1dc3e7 C |
54 | |
55 | // The first pod make friend with the third | |
56 | const res = await request(url) | |
57 | .post(path) | |
58 | .set('Accept', 'application/json') | |
59 | .set('Authorization', 'Bearer ' + accessToken) | |
60 | .send({ 'hosts': friendsMatrix[url] }) | |
61 | .expect(expectedStatus) | |
62 | ||
63 | // Wait request propagation | |
64 | await wait(1000) | |
65 | ||
66 | return res | |
67 | } | |
68 | ||
69 | async function quitFriends (url: string, accessToken: string, expectedStatus = 204) { | |
aa2e7f15 | 70 | const path = '/api/v1/pods/quit-friends' |
0e1dc3e7 C |
71 | |
72 | // The first pod make friend with the third | |
73 | const res = await request(url) | |
74 | .get(path) | |
75 | .set('Accept', 'application/json') | |
76 | .set('Authorization', 'Bearer ' + accessToken) | |
77 | .expect(expectedStatus) | |
78 | ||
79 | // Wait request propagation | |
80 | await wait(1000) | |
81 | ||
82 | return res | |
83 | } | |
84 | ||
85 | function quitOneFriend (url: string, accessToken: string, friendId: number, expectedStatus = 204) { | |
86 | const path = '/api/v1/pods/' + friendId | |
87 | ||
88 | return request(url) | |
89 | .delete(path) | |
90 | .set('Accept', 'application/json') | |
91 | .set('Authorization', 'Bearer ' + accessToken) | |
92 | .expect(expectedStatus) | |
93 | } | |
94 | ||
95 | // --------------------------------------------------------------------------- | |
96 | ||
97 | export { | |
98 | getFriendsList, | |
99 | makeFriends, | |
100 | quitFriends, | |
8a02bd04 C |
101 | quitOneFriend, |
102 | getPodsListPaginationAndSort | |
0e1dc3e7 | 103 | } |