diff options
Diffstat (limited to 'server/tests/utils')
-rw-r--r-- | server/tests/utils/follows.ts | 53 | ||||
-rw-r--r-- | server/tests/utils/pods.ts | 103 |
2 files changed, 53 insertions, 103 deletions
diff --git a/server/tests/utils/follows.ts b/server/tests/utils/follows.ts new file mode 100644 index 000000000..9ad1ca7f4 --- /dev/null +++ b/server/tests/utils/follows.ts | |||
@@ -0,0 +1,53 @@ | |||
1 | import * as request from 'supertest' | ||
2 | |||
3 | import { wait } from './miscs' | ||
4 | |||
5 | function getFollowersListPaginationAndSort (url: string, start: number, count: number, sort: string) { | ||
6 | const path = '/api/v1/servers/followers' | ||
7 | |||
8 | return request(url) | ||
9 | .get(path) | ||
10 | .query({ start }) | ||
11 | .query({ count }) | ||
12 | .query({ sort }) | ||
13 | .set('Accept', 'application/json') | ||
14 | .expect(200) | ||
15 | .expect('Content-Type', /json/) | ||
16 | } | ||
17 | |||
18 | function getFollowingListPaginationAndSort (url: string, start: number, count: number, sort: string) { | ||
19 | const path = '/api/v1/servers/following' | ||
20 | |||
21 | return request(url) | ||
22 | .get(path) | ||
23 | .query({ start }) | ||
24 | .query({ count }) | ||
25 | .query({ sort }) | ||
26 | .set('Accept', 'application/json') | ||
27 | .expect(200) | ||
28 | .expect('Content-Type', /json/) | ||
29 | } | ||
30 | |||
31 | async function follow (follower: string, following: string[], accessToken: string, expectedStatus = 204) { | ||
32 | const path = '/api/v1/servers/follow' | ||
33 | |||
34 | const res = await request(follower) | ||
35 | .post(path) | ||
36 | .set('Accept', 'application/json') | ||
37 | .set('Authorization', 'Bearer ' + accessToken) | ||
38 | .send({ 'hosts': following }) | ||
39 | .expect(expectedStatus) | ||
40 | |||
41 | // Wait request propagation | ||
42 | await wait(1000) | ||
43 | |||
44 | return res | ||
45 | } | ||
46 | |||
47 | // --------------------------------------------------------------------------- | ||
48 | |||
49 | export { | ||
50 | getFollowersListPaginationAndSort, | ||
51 | getFollowingListPaginationAndSort, | ||
52 | follow | ||
53 | } | ||
diff --git a/server/tests/utils/pods.ts b/server/tests/utils/pods.ts deleted file mode 100644 index 52e807e70..000000000 --- a/server/tests/utils/pods.ts +++ /dev/null | |||
@@ -1,103 +0,0 @@ | |||
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 | |||
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 | |||
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 | } | ||
53 | const path = '/api/v1/pods/make-friends' | ||
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) { | ||
70 | const path = '/api/v1/pods/quit-friends' | ||
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, | ||
101 | quitOneFriend, | ||
102 | getPodsListPaginationAndSort | ||
103 | } | ||