aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/tests
diff options
context:
space:
mode:
Diffstat (limited to 'server/tests')
-rw-r--r--server/tests/utils/follows.ts53
-rw-r--r--server/tests/utils/pods.ts103
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 @@
1import * as request from 'supertest'
2
3import { wait } from './miscs'
4
5function 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
18function 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
31async 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
49export {
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 @@
1import * as request from 'supertest'
2
3import { wait } from './miscs'
4
5function 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
15function 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
28async 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
69async 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
85function 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
97export {
98 getFriendsList,
99 makeFriends,
100 quitFriends,
101 quitOneFriend,
102 getPodsListPaginationAndSort
103}