X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fexternal-plugins%2Fauto-mute.ts;h=a9bf3c173a963a39500a19a3fb5bd34cea2e7c3e;hb=HEAD;hp=09355d932697ad612919cf062e97e4822596d323;hpb=cf21b2cbef61929177b9c09b5e017c3b7eb8535d;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/external-plugins/auto-mute.ts b/server/tests/external-plugins/auto-mute.ts index 09355d932..a9bf3c173 100644 --- a/server/tests/external-plugins/auto-mute.ts +++ b/server/tests/external-plugins/auto-mute.ts @@ -1,97 +1,74 @@ /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ -import 'mocha' import { expect } from 'chai' -import { - addAccountToServerBlocklist, - addServerToAccountBlocklist, - removeAccountFromServerBlocklist -} from '@shared/extra-utils/users/blocklist' -import { - doubleFollow, - getVideosList, - installPlugin, - makeGetRequest, - MockBlocklist, - setAccessTokensToServers, - updatePluginSettings, - uploadVideoAndGetId, - wait -} from '../../../shared/extra-utils' +import { wait } from '@shared/core-utils' +import { HttpStatusCode } from '@shared/models' import { cleanupTests, - flushAndRunMultipleServers, + createMultipleServers, + doubleFollow, killallServers, - reRunServer, - ServerInfo -} from '../../../shared/extra-utils/server/servers' -import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes' + makeGetRequest, + PeerTubeServer, + setAccessTokensToServers +} from '@shared/server-commands' +import { MockBlocklist } from '../shared' describe('Official plugin auto-mute', function () { const autoMuteListPath = '/plugins/auto-mute/router/api/v1/mute-list' - let servers: ServerInfo[] + let servers: PeerTubeServer[] let blocklistServer: MockBlocklist let port: number before(async function () { - this.timeout(30000) + this.timeout(120000) - servers = await flushAndRunMultipleServers(2) + servers = await createMultipleServers(2) await setAccessTokensToServers(servers) for (const server of servers) { - await installPlugin({ - url: server.url, - accessToken: server.accessToken, - npmName: 'peertube-plugin-auto-mute' - }) + await server.plugins.install({ npmName: 'peertube-plugin-auto-mute' }) } blocklistServer = new MockBlocklist() port = await blocklistServer.initialize() - await uploadVideoAndGetId({ server: servers[0], videoName: 'video server 1' }) - await uploadVideoAndGetId({ server: servers[1], videoName: 'video server 2' }) + await servers[0].videos.quickUpload({ name: 'video server 1' }) + await servers[1].videos.quickUpload({ name: 'video server 2' }) await doubleFollow(servers[0], servers[1]) }) it('Should update plugin settings', async function () { - await updatePluginSettings({ - url: servers[0].url, - accessToken: servers[0].accessToken, + await servers[0].plugins.updateSettings({ npmName: 'peertube-plugin-auto-mute', settings: { - 'blocklist-urls': `http://localhost:${port}/blocklist`, + 'blocklist-urls': `http://127.0.0.1:${port}/blocklist`, 'check-seconds-interval': 1 } }) }) it('Should add a server blocklist', async function () { - this.timeout(10000) - blocklistServer.replace({ data: [ { - value: 'localhost:' + servers[1].port + value: servers[1].host } ] }) await wait(2000) - const res = await getVideosList(servers[0].url) - expect(res.body.total).to.equal(1) + const { total } = await servers[0].videos.list() + expect(total).to.equal(1) }) it('Should remove a server blocklist', async function () { - this.timeout(10000) - blocklistServer.replace({ data: [ { - value: 'localhost:' + servers[1].port, + value: servers[1].host, action: 'remove' } ] @@ -99,34 +76,30 @@ describe('Official plugin auto-mute', function () { await wait(2000) - const res = await getVideosList(servers[0].url) - expect(res.body.total).to.equal(2) + const { total } = await servers[0].videos.list() + expect(total).to.equal(2) }) it('Should add an account blocklist', async function () { - this.timeout(10000) - blocklistServer.replace({ data: [ { - value: 'root@localhost:' + servers[1].port + value: 'root@' + servers[1].host } ] }) await wait(2000) - const res = await getVideosList(servers[0].url) - expect(res.body.total).to.equal(1) + const { total } = await servers[0].videos.list() + expect(total).to.equal(1) }) it('Should remove an account blocklist', async function () { - this.timeout(10000) - blocklistServer.replace({ data: [ { - value: 'root@localhost:' + servers[1].port, + value: 'root@' + servers[1].host, action: 'remove' } ] @@ -134,14 +107,14 @@ describe('Official plugin auto-mute', function () { await wait(2000) - const res = await getVideosList(servers[0].url) - expect(res.body.total).to.equal(2) + const { total } = await servers[0].videos.list() + expect(total).to.equal(2) }) it('Should auto mute an account, manually unmute it and do not remute it automatically', async function () { this.timeout(20000) - const account = 'root@localhost:' + servers[1].port + const account = 'root@' + servers[1].host blocklistServer.replace({ data: [ @@ -155,24 +128,24 @@ describe('Official plugin auto-mute', function () { await wait(2000) { - const res = await getVideosList(servers[0].url) - expect(res.body.total).to.equal(1) + const { total } = await servers[0].videos.list() + expect(total).to.equal(1) } - await removeAccountFromServerBlocklist(servers[0].url, servers[0].accessToken, account) + await servers[0].blocklist.removeFromServerBlocklist({ account }) { - const res = await getVideosList(servers[0].url) - expect(res.body.total).to.equal(2) + const { total } = await servers[0].videos.list() + expect(total).to.equal(2) } - killallServers([ servers[0] ]) - await reRunServer(servers[0]) + await killallServers([ servers[0] ]) + await servers[0].run() await wait(2000) { - const res = await getVideosList(servers[0].url) - expect(res.body.total).to.equal(2) + const { total } = await servers[0].videos.list() + expect(total).to.equal(2) } }) @@ -180,14 +153,12 @@ describe('Official plugin auto-mute', function () { await makeGetRequest({ url: servers[0].url, path: '/plugins/auto-mute/router/api/v1/mute-list', - statusCodeExpected: HttpStatusCode.FORBIDDEN_403 + expectedStatus: HttpStatusCode.FORBIDDEN_403 }) }) it('Should enable auto mute list', async function () { - await updatePluginSettings({ - url: servers[0].url, - accessToken: servers[0].accessToken, + await servers[0].plugins.updateSettings({ npmName: 'peertube-plugin-auto-mute', settings: { 'blocklist-urls': '', @@ -199,43 +170,41 @@ describe('Official plugin auto-mute', function () { await makeGetRequest({ url: servers[0].url, path: '/plugins/auto-mute/router/api/v1/mute-list', - statusCodeExpected: HttpStatusCode.OK_200 + expectedStatus: HttpStatusCode.OK_200 }) }) it('Should mute an account on server 1, and server 2 auto mutes it', async function () { this.timeout(20000) - await updatePluginSettings({ - url: servers[1].url, - accessToken: servers[1].accessToken, + await servers[1].plugins.updateSettings({ npmName: 'peertube-plugin-auto-mute', settings: { - 'blocklist-urls': 'http://localhost:' + servers[0].port + autoMuteListPath, + 'blocklist-urls': 'http://' + servers[0].host + autoMuteListPath, 'check-seconds-interval': 1, 'expose-mute-list': false } }) - await addAccountToServerBlocklist(servers[0].url, servers[0].accessToken, 'root@localhost:' + servers[1].port) - await addServerToAccountBlocklist(servers[0].url, servers[0].accessToken, 'localhost:' + servers[1].port) + await servers[0].blocklist.addToServerBlocklist({ account: 'root@' + servers[1].host }) + await servers[0].blocklist.addToMyBlocklist({ server: servers[1].host }) const res = await makeGetRequest({ url: servers[0].url, path: '/plugins/auto-mute/router/api/v1/mute-list', - statusCodeExpected: HttpStatusCode.OK_200 + expectedStatus: HttpStatusCode.OK_200 }) const data = res.body.data expect(data).to.have.lengthOf(1) expect(data[0].updatedAt).to.exist - expect(data[0].value).to.equal('root@localhost:' + servers[1].port) + expect(data[0].value).to.equal('root@' + servers[1].host) await wait(2000) for (const server of servers) { - const res = await getVideosList(server.url) - expect(res.body.total).to.equal(1) + const { total } = await server.videos.list() + expect(total).to.equal(1) } })