X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fapi%2Fserver%2Ffollows.ts;h=e8d6f5138f2e2eb94ab4efa35b5a14f332fae20d;hb=b6a1dd4d1b3b0032f8b968e72cbd074f646e8827;hp=5cad1d09deaed2dae8766249616ef151a39f394d;hpb=156c50af3085468a47b8ae73fe8cfcae46b42398;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/api/server/follows.ts b/server/tests/api/server/follows.ts index 5cad1d09d..e8d6f5138 100644 --- a/server/tests/api/server/follows.ts +++ b/server/tests/api/server/follows.ts @@ -4,29 +4,33 @@ import * as chai from 'chai' import 'mocha' import { Video, VideoPrivacy } from '../../../../shared/models/videos' import { VideoComment, VideoCommentThreadTree } from '../../../../shared/models/videos/video-comment.model' -import { completeVideoCheck } from '../../utils' +import { cleanupTests, completeVideoCheck } from '../../../../shared/extra-utils' import { flushAndRunMultipleServers, getVideosList, - killallServers, ServerInfo, setAccessTokensToServers, uploadVideo -} from '../../utils/index' -import { dateIsValid } from '../../utils/miscs/miscs' -import { follow, getFollowersListPaginationAndSort, getFollowingListPaginationAndSort, unfollow } from '../../utils/server/follows' -import { expectAccountFollows } from '../../utils/users/accounts' -import { userLogin } from '../../utils/users/login' -import { createUser } from '../../utils/users/users' +} from '../../../../shared/extra-utils/index' +import { dateIsValid } from '../../../../shared/extra-utils/miscs/miscs' +import { + follow, + getFollowersListPaginationAndSort, + getFollowingListPaginationAndSort, + unfollow +} from '../../../../shared/extra-utils/server/follows' +import { expectAccountFollows } from '../../../../shared/extra-utils/users/accounts' +import { userLogin } from '../../../../shared/extra-utils/users/login' +import { createUser } from '../../../../shared/extra-utils/users/users' import { addVideoCommentReply, addVideoCommentThread, getVideoCommentThreads, getVideoThreadComments -} from '../../utils/videos/video-comments' -import { rateVideo } from '../../utils/videos/videos' -import { waitJobs } from '../../utils/server/jobs' -import { createVideoCaption, listVideoCaptions, testCaptionFile } from '../../utils/videos/video-captions' +} from '../../../../shared/extra-utils/videos/video-comments' +import { rateVideo } from '../../../../shared/extra-utils/videos/videos' +import { waitJobs } from '../../../../shared/extra-utils/server/jobs' +import { createVideoCaption, listVideoCaptions, testCaptionFile } from '../../../../shared/extra-utils/videos/video-captions' import { VideoCaption } from '../../../../shared/models/videos/caption/video-caption.model' const expect = chai.expect @@ -84,8 +88,8 @@ describe('Test follows', function () { res = await getFollowingListPaginationAndSort(servers[0].url, 1, 1, 'createdAt') follows = follows.concat(res.body.data) - const server2Follow = follows.find(f => f.following.host === 'localhost:9002') - const server3Follow = follows.find(f => f.following.host === 'localhost:9003') + const server2Follow = follows.find(f => f.following.host === 'localhost:' + servers[1].port) + const server3Follow = follows.find(f => f.following.host === 'localhost:' + servers[2].port) expect(server2Follow).to.not.be.undefined expect(server3Follow).to.not.be.undefined @@ -93,7 +97,26 @@ describe('Test follows', function () { expect(server3Follow.state).to.equal('accepted') }) - it('Should have 0 followings on server 1 and 2', async function () { + it('Should search followings on server 1', async function () { + { + const res = await getFollowingListPaginationAndSort(servers[ 0 ].url, 0, 1, 'createdAt', ':' + servers[1].port) + const follows = res.body.data + + expect(res.body.total).to.equal(1) + expect(follows.length).to.equal(1) + expect(follows[ 0 ].following.host).to.equal('localhost:' + servers[1].port) + } + + { + const res = await getFollowingListPaginationAndSort(servers[ 0 ].url, 0, 1, 'createdAt', 'bla') + const follows = res.body.data + + expect(res.body.total).to.equal(0) + expect(follows.length).to.equal(0) + } + }) + + it('Should have 0 followings on server 2 and 3', async function () { for (const server of [ servers[1], servers[2] ]) { const res = await getFollowingListPaginationAndSort(server.url, 0, 5, 'createdAt') const follows = res.body.data @@ -112,7 +135,26 @@ describe('Test follows', function () { expect(res.body.total).to.equal(1) expect(follows).to.be.an('array') expect(follows.length).to.equal(1) - expect(follows[0].follower.host).to.equal('localhost:9001') + expect(follows[0].follower.host).to.equal('localhost:' + servers[0].port) + } + }) + + it('Should search followers on server 2', async function () { + { + const res = await getFollowersListPaginationAndSort(servers[ 2 ].url, 0, 5, 'createdAt', servers[0].port + '') + const follows = res.body.data + + expect(res.body.total).to.equal(1) + expect(follows.length).to.equal(1) + expect(follows[ 0 ].following.host).to.equal('localhost:' + servers[2].port) + } + + { + const res = await getFollowersListPaginationAndSort(servers[ 2 ].url, 0, 5, 'createdAt', 'bla') + const follows = res.body.data + + expect(res.body.total).to.equal(0) + expect(follows.length).to.equal(0) } }) @@ -126,16 +168,16 @@ describe('Test follows', function () { }) it('Should have the correct follows counts', async function () { - await expectAccountFollows(servers[0].url, 'peertube@localhost:9001', 0, 2) - await expectAccountFollows(servers[0].url, 'peertube@localhost:9002', 1, 0) - await expectAccountFollows(servers[0].url, 'peertube@localhost:9003', 1, 0) + await expectAccountFollows(servers[0].url, 'peertube@localhost:' + servers[0].port, 0, 2) + await expectAccountFollows(servers[0].url, 'peertube@localhost:' + servers[1].port, 1, 0) + await expectAccountFollows(servers[0].url, 'peertube@localhost:' + servers[2].port, 1, 0) // Server 2 and 3 does not know server 1 follow another server (there was not a refresh) - await expectAccountFollows(servers[1].url, 'peertube@localhost:9001', 0, 1) - await expectAccountFollows(servers[1].url, 'peertube@localhost:9002', 1, 0) + await expectAccountFollows(servers[1].url, 'peertube@localhost:' + servers[0].port, 0, 1) + await expectAccountFollows(servers[1].url, 'peertube@localhost:' + servers[1].port, 1, 0) - await expectAccountFollows(servers[2].url, 'peertube@localhost:9001', 0, 1) - await expectAccountFollows(servers[2].url, 'peertube@localhost:9003', 1, 0) + await expectAccountFollows(servers[2].url, 'peertube@localhost:' + servers[0].port, 0, 1) + await expectAccountFollows(servers[2].url, 'peertube@localhost:' + servers[2].port, 1, 0) }) it('Should unfollow server 3 on server 1', async function () { @@ -154,7 +196,7 @@ describe('Test follows', function () { expect(follows).to.be.an('array') expect(follows.length).to.equal(1) - expect(follows[0].following.host).to.equal('localhost:9002') + expect(follows[0].following.host).to.equal('localhost:' + servers[1].port) }) it('Should not have server 1 as follower on server 3 anymore', async function () { @@ -167,14 +209,14 @@ describe('Test follows', function () { }) it('Should have the correct follows counts 2', async function () { - await expectAccountFollows(servers[0].url, 'peertube@localhost:9001', 0, 1) - await expectAccountFollows(servers[0].url, 'peertube@localhost:9002', 1, 0) + await expectAccountFollows(servers[0].url, 'peertube@localhost:' + servers[0].port, 0, 1) + await expectAccountFollows(servers[0].url, 'peertube@localhost:' + servers[1].port, 1, 0) - await expectAccountFollows(servers[1].url, 'peertube@localhost:9001', 0, 1) - await expectAccountFollows(servers[1].url, 'peertube@localhost:9002', 1, 0) + await expectAccountFollows(servers[1].url, 'peertube@localhost:' + servers[0].port, 0, 1) + await expectAccountFollows(servers[1].url, 'peertube@localhost:' + servers[1].port, 1, 0) - await expectAccountFollows(servers[2].url, 'peertube@localhost:9001', 0, 0) - await expectAccountFollows(servers[2].url, 'peertube@localhost:9003', 0, 0) + await expectAccountFollows(servers[2].url, 'peertube@localhost:' + servers[0].port, 0, 0) + await expectAccountFollows(servers[2].url, 'peertube@localhost:' + servers[2].port, 0, 0) }) it('Should upload a video on server 2 and 3 and propagate only the video of server 2', async function () { @@ -198,7 +240,7 @@ describe('Test follows', function () { expect(res.body.data[0].name).to.equal('server3') }) - describe('Should propagate data on a new following', async function () { + describe('Should propagate data on a new following', function () { let video4: Video before(async function () { @@ -220,7 +262,7 @@ describe('Test follows', function () { { const user = { username: 'captain', password: 'password' } - await createUser(servers[ 2 ].url, servers[ 2 ].accessToken, user.username, user.password) + await createUser({ url: servers[ 2 ].url, accessToken: servers[ 2 ].accessToken, username: user.username, password: user.password }) const userAccessToken = await userLogin(servers[ 2 ], user) const resVideos = await getVideosList(servers[ 2 ].url) @@ -267,15 +309,15 @@ describe('Test follows', function () { }) it('Should have the correct follows counts 3', async function () { - await expectAccountFollows(servers[0].url, 'peertube@localhost:9001', 0, 2) - await expectAccountFollows(servers[0].url, 'peertube@localhost:9002', 1, 0) - await expectAccountFollows(servers[0].url, 'peertube@localhost:9003', 1, 0) + await expectAccountFollows(servers[0].url, 'peertube@localhost:' + servers[0].port, 0, 2) + await expectAccountFollows(servers[0].url, 'peertube@localhost:' + servers[1].port, 1, 0) + await expectAccountFollows(servers[0].url, 'peertube@localhost:' + servers[2].port, 1, 0) - await expectAccountFollows(servers[1].url, 'peertube@localhost:9001', 0, 1) - await expectAccountFollows(servers[1].url, 'peertube@localhost:9002', 1, 0) + await expectAccountFollows(servers[1].url, 'peertube@localhost:' + servers[0].port, 0, 1) + await expectAccountFollows(servers[1].url, 'peertube@localhost:' + servers[1].port, 1, 0) - await expectAccountFollows(servers[2].url, 'peertube@localhost:9001', 0, 2) - await expectAccountFollows(servers[2].url, 'peertube@localhost:9003', 1, 0) + await expectAccountFollows(servers[2].url, 'peertube@localhost:' + servers[0].port, 0, 2) + await expectAccountFollows(servers[2].url, 'peertube@localhost:' + servers[2].port, 1, 0) }) it('Should have propagated videos', async function () { @@ -301,11 +343,11 @@ describe('Test follows', function () { support: 'my super support text', account: { name: 'root', - host: 'localhost:9003' + host: 'localhost:' + servers[2].port }, isLocal, commentsEnabled: true, - downloadingEnabled: true, + downloadEnabled: true, duration: 5, tags: [ 'tag1', 'tag2', 'tag3' ], privacy: VideoPrivacy.PUBLIC, @@ -341,7 +383,7 @@ describe('Test follows', function () { expect(comment.videoId).to.equal(video4.id) expect(comment.id).to.equal(comment.threadId) expect(comment.account.name).to.equal('root') - expect(comment.account.host).to.equal('localhost:9003') + expect(comment.account.host).to.equal('localhost:' + servers[2].port) expect(comment.totalReplies).to.equal(3) expect(dateIsValid(comment.createdAt as string)).to.be.true expect(dateIsValid(comment.updatedAt as string)).to.be.true @@ -393,6 +435,6 @@ describe('Test follows', function () { }) after(async function () { - killallServers(servers) + await cleanupTests(servers) }) })