X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fplugins%2Fplugin-helpers.ts;h=e951a1299c02bc92a30e2f1fed33a8dbcf0a4cb8;hb=0c302acb3c358b4d4d8dee45aed1de1108ea37ea;hp=167429ef4611d14e21360b7b7e32f5dc5a96cbf9;hpb=c55e3d7227fe1453869e309025996b9d75256d5d;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/plugins/plugin-helpers.ts b/server/tests/plugins/plugin-helpers.ts index 167429ef4..e951a1299 100644 --- a/server/tests/plugins/plugin-helpers.ts +++ b/server/tests/plugins/plugin-helpers.ts @@ -1,6 +1,5 @@ /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ -import 'mocha' import { expect } from 'chai' import { pathExists } from 'fs-extra' import { HttpStatusCode, ThumbnailType } from '@shared/models' @@ -47,7 +46,7 @@ describe('Test plugin helpers', function () { describe('Logger', function () { it('Should have logged things', async function () { - await servers[0].servers.waitUntilLog('localhost:' + servers[0].port + ' peertube-plugin-test-four', 1, false) + await servers[0].servers.waitUntilLog(servers[0].host + ' peertube-plugin-test-four', 1, false) await servers[0].servers.waitUntilLog('Hello world from plugin four', 1) }) }) @@ -62,7 +61,19 @@ describe('Test plugin helpers', function () { describe('Config', function () { it('Should have the correct webserver url', async function () { - await servers[0].servers.waitUntilLog(`server url is http://localhost:${servers[0].port}`) + await servers[0].servers.waitUntilLog(`server url is ${servers[0].url}`) + }) + + it('Should have the correct listening config', async function () { + const res = await makeGetRequest({ + url: servers[0].url, + path: '/plugins/test-four/router/server-listening-config', + expectedStatus: HttpStatusCode.OK_200 + }) + + expect(res.body.config).to.exist + expect(res.body.config.hostname).to.equal('::') + expect(res.body.config.port).to.equal(servers[0].port) }) it('Should have the correct config', async function () { @@ -84,6 +95,33 @@ describe('Test plugin helpers', function () { }) }) + describe('Socket', function () { + + it('Should sendNotification without any exceptions', async () => { + const user = await servers[0].users.create({ username: 'notis_redding', password: 'secret1234?' }) + await makePostBodyRequest({ + url: servers[0].url, + path: '/plugins/test-four/router/send-notification', + fields: { + userId: user.id + }, + expectedStatus: HttpStatusCode.CREATED_201 + }) + }) + + it('Should sendVideoLiveNewState without any exceptions', async () => { + const res = await servers[0].videos.quickUpload({ name: 'video server 1' }) + + await makePostBodyRequest({ + url: servers[0].url, + path: '/plugins/test-four/router/send-video-live-new-state/' + res.uuid, + expectedStatus: HttpStatusCode.CREATED_201 + }) + + await servers[0].videos.remove({ id: res.uuid }) + }) + }) + describe('Plugin', function () { it('Should get the base static route', async function () { @@ -110,6 +148,7 @@ describe('Test plugin helpers', function () { }) describe('User', function () { + let rootId: number it('Should not get a user if not authenticated', async function () { await makeGetRequest({ @@ -132,6 +171,28 @@ describe('Test plugin helpers', function () { expect(res.body.isAdmin).to.be.true expect(res.body.isModerator).to.be.false expect(res.body.isUser).to.be.false + + rootId = res.body.id + }) + + it('Should load a user by id', async function () { + { + const res = await makeGetRequest({ + url: servers[0].url, + path: '/plugins/test-four/router/user/' + rootId, + expectedStatus: HttpStatusCode.OK_200 + }) + + expect(res.body.username).to.equal('root') + } + + { + await makeGetRequest({ + url: servers[0].url, + path: '/plugins/test-four/router/user/42', + expectedStatus: HttpStatusCode.NOT_FOUND_404 + }) + } }) }) @@ -158,8 +219,7 @@ describe('Test plugin helpers', function () { }) it('Should mute server 2', async function () { - this.timeout(10000) - await postCommand(servers[0], 'blockServer', { hostToBlock: `localhost:${servers[1].port}` }) + await postCommand(servers[0], 'blockServer', { hostToBlock: servers[1].host }) const { data } = await servers[0].videos.list() @@ -168,7 +228,7 @@ describe('Test plugin helpers', function () { }) it('Should unmute server 2', async function () { - await postCommand(servers[0], 'unblockServer', { hostToUnblock: `localhost:${servers[1].port}` }) + await postCommand(servers[0], 'unblockServer', { hostToUnblock: servers[1].host }) const { data } = await servers[0].videos.list() @@ -176,7 +236,7 @@ describe('Test plugin helpers', function () { }) it('Should mute account of server 2', async function () { - await postCommand(servers[0], 'blockAccount', { handleToBlock: `root@localhost:${servers[1].port}` }) + await postCommand(servers[0], 'blockAccount', { handleToBlock: `root@${servers[1].host}` }) const { data } = await servers[0].videos.list() @@ -185,7 +245,7 @@ describe('Test plugin helpers', function () { }) it('Should unmute account of server 2', async function () { - await postCommand(servers[0], 'unblockAccount', { handleToUnblock: `root@localhost:${servers[1].port}` }) + await postCommand(servers[0], 'unblockAccount', { handleToUnblock: `root@${servers[1].host}` }) const { data } = await servers[0].videos.list() @@ -193,8 +253,6 @@ describe('Test plugin helpers', function () { }) it('Should blacklist video', async function () { - this.timeout(10000) - await postCommand(servers[0], 'blacklist', { videoUUID: videoUUIDServer1, unfederate: true }) await waitJobs(servers) @@ -208,8 +266,6 @@ describe('Test plugin helpers', function () { }) it('Should unblacklist video', async function () { - this.timeout(10000) - await postCommand(servers[0], 'unblacklist', { videoUUID: videoUUIDServer1 }) await waitJobs(servers) @@ -226,7 +282,7 @@ describe('Test plugin helpers', function () { let videoUUID: string let videoPath: string - before(async () => { + before(async function () { this.timeout(240000) await servers[0].config.enableTranscoding() @@ -258,7 +314,7 @@ describe('Test plugin helpers', function () { expect(file.fps).to.equal(25) expect(await pathExists(file.path)).to.be.true - await makeRawRequest(file.url, HttpStatusCode.OK_200) + await makeRawRequest({ url: file.url, expectedStatus: HttpStatusCode.OK_200 }) } } @@ -272,12 +328,12 @@ describe('Test plugin helpers', function () { const miniature = body.thumbnails.find(t => t.type === ThumbnailType.MINIATURE) expect(miniature).to.exist expect(await pathExists(miniature.path)).to.be.true - await makeRawRequest(miniature.url, HttpStatusCode.OK_200) + await makeRawRequest({ url: miniature.url, expectedStatus: HttpStatusCode.OK_200 }) const preview = body.thumbnails.find(t => t.type === ThumbnailType.PREVIEW) expect(preview).to.exist expect(await pathExists(preview.path)).to.be.true - await makeRawRequest(preview.url, HttpStatusCode.OK_200) + await makeRawRequest({ url: preview.url, expectedStatus: HttpStatusCode.OK_200 }) } }) @@ -301,7 +357,7 @@ describe('Test plugin helpers', function () { // Should not throw -> video exists const video = await servers[0].videos.get({ id: videoUUID }) // Should delete the video - await servers[0].videos.view({ id: videoUUID }) + await servers[0].views.simulateView({ id: videoUUID }) await servers[0].servers.waitUntilLog('Video deleted by plugin four.')