aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/tests/plugins
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2021-03-23 17:18:18 +0100
committerChocobozzz <me@florianbigard.com>2021-03-24 18:18:41 +0100
commiteebd9838f067369031af9770b899f75f30810549 (patch)
treeb7ce9668e6a653a097b6790ac944eaa1d78d2032 /server/tests/plugins
parent4bc45da342597fb49593fc14c40f8dc5a97bb64e (diff)
downloadPeerTube-eebd9838f067369031af9770b899f75f30810549.tar.gz
PeerTube-eebd9838f067369031af9770b899f75f30810549.tar.zst
PeerTube-eebd9838f067369031af9770b899f75f30810549.zip
Add filter hook to forbid embed access
Diffstat (limited to 'server/tests/plugins')
-rw-r--r--server/tests/plugins/filter-hooks.ts54
1 files changed, 52 insertions, 2 deletions
diff --git a/server/tests/plugins/filter-hooks.ts b/server/tests/plugins/filter-hooks.ts
index 6996ae788..be47b20ba 100644
--- a/server/tests/plugins/filter-hooks.ts
+++ b/server/tests/plugins/filter-hooks.ts
@@ -3,10 +3,12 @@
3import 'mocha' 3import 'mocha'
4import * as chai from 'chai' 4import * as chai from 'chai'
5import { ServerConfig } from '@shared/models' 5import { ServerConfig } from '@shared/models'
6import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes'
6import { 7import {
7 addVideoCommentReply, 8 addVideoCommentReply,
8 addVideoCommentThread, 9 addVideoCommentThread,
9 createLive, 10 createLive,
11 createVideoPlaylist,
10 doubleFollow, 12 doubleFollow,
11 getAccountVideos, 13 getAccountVideos,
12 getConfig, 14 getConfig,
@@ -15,6 +17,7 @@ import {
15 getVideo, 17 getVideo,
16 getVideoChannelVideos, 18 getVideoChannelVideos,
17 getVideoCommentThreads, 19 getVideoCommentThreads,
20 getVideoPlaylist,
18 getVideosList, 21 getVideosList,
19 getVideosListPagination, 22 getVideosListPagination,
20 getVideoThreadComments, 23 getVideoThreadComments,
@@ -32,9 +35,15 @@ import {
32} from '../../../shared/extra-utils' 35} from '../../../shared/extra-utils'
33import { cleanupTests, flushAndRunMultipleServers, ServerInfo } from '../../../shared/extra-utils/server/servers' 36import { cleanupTests, flushAndRunMultipleServers, ServerInfo } from '../../../shared/extra-utils/server/servers'
34import { getGoodVideoUrl, getMyVideoImports, importVideo } from '../../../shared/extra-utils/videos/video-imports' 37import { getGoodVideoUrl, getMyVideoImports, importVideo } from '../../../shared/extra-utils/videos/video-imports'
35import { VideoDetails, VideoImport, VideoImportState, VideoPrivacy } from '../../../shared/models/videos' 38import {
39 VideoDetails,
40 VideoImport,
41 VideoImportState,
42 VideoPlaylist,
43 VideoPlaylistPrivacy,
44 VideoPrivacy
45} from '../../../shared/models/videos'
36import { VideoCommentThreadTree } from '../../../shared/models/videos/video-comment.model' 46import { VideoCommentThreadTree } from '../../../shared/models/videos/video-comment.model'
37import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes'
38 47
39const expect = chai.expect 48const expect = chai.expect
40 49
@@ -418,6 +427,47 @@ describe('Test plugin filter hooks', function () {
418 }) 427 })
419 }) 428 })
420 429
430 describe('Embed filters', function () {
431 const embedVideos: VideoDetails[] = []
432 const embedPlaylists: VideoPlaylist[] = []
433
434 before(async function () {
435 this.timeout(60000)
436
437 await updateCustomSubConfig(servers[0].url, servers[0].accessToken, {
438 transcoding: {
439 enabled: false
440 }
441 })
442
443 for (const name of [ 'bad embed', 'good embed' ]) {
444 {
445 const uuid = (await uploadVideoAndGetId({ server: servers[0], videoName: name })).uuid
446 const res = await getVideo(servers[0].url, uuid)
447 embedVideos.push(res.body)
448 }
449
450 {
451 const playlistAttrs = { displayName: name, videoChannelId: servers[0].videoChannel.id, privacy: VideoPlaylistPrivacy.PUBLIC }
452 const res = await createVideoPlaylist({ url: servers[0].url, token: servers[0].accessToken, playlistAttrs })
453
454 const resPlaylist = await getVideoPlaylist(servers[0].url, res.body.videoPlaylist.id)
455 embedPlaylists.push(resPlaylist.body)
456 }
457 }
458 })
459
460 it('Should run filter:html.embed.video.allowed.result', async function () {
461 const res = await makeRawRequest(servers[0].url + embedVideos[0].embedPath, 200)
462 expect(res.text).to.equal('Lu Bu')
463 })
464
465 it('Should run filter:html.embed.video-playlist.allowed.result', async function () {
466 const res = await makeRawRequest(servers[0].url + embedPlaylists[0].embedPath, 200)
467 expect(res.text).to.equal('Diao Chan')
468 })
469 })
470
421 after(async function () { 471 after(async function () {
422 await cleanupTests(servers) 472 await cleanupTests(servers)
423 }) 473 })