X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Futils%2Ffollows.ts;h=b88776011e590f4235782b60a806f101062305b1;hb=1f3e9feca2caf68024168b0ea9ed39d8438fa235;hp=9ad1ca7f4e2f47c4045cc1dd1191d1b135bc7fb0;hpb=4610bc5b12eaa4bfd64fe3fd70c65e5b722aa22d;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/utils/follows.ts b/server/tests/utils/follows.ts index 9ad1ca7f4..b88776011 100644 --- a/server/tests/utils/follows.ts +++ b/server/tests/utils/follows.ts @@ -1,9 +1,9 @@ import * as request from 'supertest' - import { wait } from './miscs' +import { ServerInfo } from './servers' function getFollowersListPaginationAndSort (url: string, start: number, count: number, sort: string) { - const path = '/api/v1/servers/followers' + const path = '/api/v1/server/followers' return request(url) .get(path) @@ -16,7 +16,7 @@ function getFollowersListPaginationAndSort (url: string, start: number, count: n } function getFollowingListPaginationAndSort (url: string, start: number, count: number, sort: string) { - const path = '/api/v1/servers/following' + const path = '/api/v1/server/following' return request(url) .get(path) @@ -29,25 +29,49 @@ function getFollowingListPaginationAndSort (url: string, start: number, count: n } async function follow (follower: string, following: string[], accessToken: string, expectedStatus = 204) { - const path = '/api/v1/servers/follow' + const path = '/api/v1/server/following' + const followingHosts = following.map(f => f.replace(/^http:\/\//, '')) const res = await request(follower) .post(path) .set('Accept', 'application/json') .set('Authorization', 'Bearer ' + accessToken) - .send({ 'hosts': following }) + .send({ 'hosts': followingHosts }) .expect(expectedStatus) - // Wait request propagation - await wait(1000) + return res +} + +async function unfollow (url: string, accessToken: string, id: number, expectedStatus = 204) { + const path = '/api/v1/server/following/' + id + + const res = await request(url) + .delete(path) + .set('Accept', 'application/json') + .set('Authorization', 'Bearer ' + accessToken) + .expect(expectedStatus) return res } +async function doubleFollow (server1: ServerInfo, server2: ServerInfo) { + await Promise.all([ + follow(server1.url, [ server2.url ], server1.accessToken), + follow(server2.url, [ server1.url ], server2.accessToken) + ]) + + // Wait request propagation + await wait(20000) + + return true +} + // --------------------------------------------------------------------------- export { getFollowersListPaginationAndSort, getFollowingListPaginationAndSort, - follow + unfollow, + follow, + doubleFollow }