]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/tests/utils/users/accounts.ts
Speedup peertube startup
[github/Chocobozzz/PeerTube.git] / server / tests / utils / users / accounts.ts
CommitLineData
f05a1c30
C
1/* tslint:disable:no-unused-expression */
2
32b2b43c 3import { expect } from 'chai'
62689b94 4import { existsSync, readdir } from 'fs-extra'
f05a1c30 5import { join } from 'path'
32b2b43c 6import { Account } from '../../../../shared/models/actors'
f05a1c30 7import { root } from '../index'
265ba139
C
8import { makeGetRequest } from '../requests/requests'
9
10function getAccountsList (url: string, sort = '-createdAt', statusCodeExpected = 200) {
11 const path = '/api/v1/accounts'
12
13 return makeGetRequest({
14 url,
15 query: { sort },
16 path,
17 statusCodeExpected
18 })
19}
20
ad9e39fb
C
21function getAccount (url: string, accountName: string, statusCodeExpected = 200) {
22 const path = '/api/v1/accounts/' + accountName
265ba139
C
23
24 return makeGetRequest({
25 url,
26 path,
27 statusCodeExpected
28 })
29}
30
32b2b43c
C
31async function expectAccountFollows (url: string, nameWithDomain: string, followersCount: number, followingCount: number) {
32 const res = await getAccountsList(url)
33 const account = res.body.data.find((a: Account) => a.name + '@' + a.host === nameWithDomain)
34
35 const message = `${nameWithDomain} on ${url}`
36 expect(account.followersCount).to.equal(followersCount, message)
37 expect(account.followingCount).to.equal(followingCount, message)
38}
39
f05a1c30
C
40async function checkActorFilesWereRemoved (actorUUID: string, serverNumber: number) {
41 const testDirectory = 'test' + serverNumber
42
43 for (const directory of [ 'avatars' ]) {
44 const directoryPath = join(root(), testDirectory, directory)
45
46 const directoryExists = existsSync(directoryPath)
47 expect(directoryExists).to.be.true
48
62689b94 49 const files = await readdir(directoryPath)
f05a1c30
C
50 for (const file of files) {
51 expect(file).to.not.contain(actorUUID)
52 }
53 }
54}
55
265ba139
C
56// ---------------------------------------------------------------------------
57
58export {
59 getAccount,
32b2b43c 60 expectAccountFollows,
f05a1c30
C
61 getAccountsList,
62 checkActorFilesWereRemoved
265ba139 63}