X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Ffixtures%2Fpeertube-plugin-test%2Fmain.js;h=dfcc874d41281585f5d23d58a666b4a568b7c370;hb=eebd9838f067369031af9770b899f75f30810549;hp=69796ab07fd10af113ddf3684e6c5af2f2d14229;hpb=6f3fe96f4003fd9ad198cdf0ee5a47b32e9e6568;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/fixtures/peertube-plugin-test/main.js b/server/tests/fixtures/peertube-plugin-test/main.js index 69796ab07..dfcc874d4 100644 --- a/server/tests/fixtures/peertube-plugin-test/main.js +++ b/server/tests/fixtures/peertube-plugin-test/main.js @@ -7,6 +7,8 @@ async function register ({ registerHook, registerSetting, settingsManager, stora 'action:api.video.uploaded', 'action:api.video.viewed', + 'action:api.live-video.created', + 'action:api.video-thread.created', 'action:api.video-comment-reply.created', 'action:api.video-comment.deleted', @@ -37,6 +39,36 @@ async function register ({ registerHook, registerSetting, settingsManager, stora handler: obj => addToTotal(obj) }) + registerHook({ + target: 'filter:api.accounts.videos.list.params', + handler: obj => addToCount(obj) + }) + + registerHook({ + target: 'filter:api.accounts.videos.list.result', + handler: obj => addToTotal(obj, 2) + }) + + registerHook({ + target: 'filter:api.video-channels.videos.list.params', + handler: obj => addToCount(obj, 3) + }) + + registerHook({ + target: 'filter:api.video-channels.videos.list.result', + handler: obj => addToTotal(obj, 3) + }) + + registerHook({ + target: 'filter:api.user.me.videos.list.params', + handler: obj => addToCount(obj, 4) + }) + + registerHook({ + target: 'filter:api.user.me.videos.list.result', + handler: obj => addToTotal(obj, 4) + }) + registerHook({ target: 'filter:api.video.get.result', handler: video => { @@ -46,11 +78,58 @@ async function register ({ registerHook, registerSetting, settingsManager, stora } }) + for (const hook of [ 'filter:api.video.upload.accept.result', 'filter:api.live-video.create.accept.result' ]) { + registerHook({ + target: hook, + handler: ({ accepted }, { videoBody, liveVideoBody }) => { + if (!accepted) return { accepted: false } + + const name = videoBody + ? videoBody.name + : liveVideoBody.name + + if (name.indexOf('bad word') !== -1) return { accepted: false, errorMessage: 'bad word' } + + return { accepted: true } + } + }) + } + + registerHook({ + target: 'filter:api.video.pre-import-url.accept.result', + handler: ({ accepted }, { videoImportBody }) => { + if (!accepted) return { accepted: false } + if (videoImportBody.targetUrl.includes('bad')) return { accepted: false, errorMessage: 'bad target url' } + + return { accepted: true } + } + }) + registerHook({ - target: 'filter:api.video.upload.accept.result', - handler: ({ accepted }, { videoBody }) => { + target: 'filter:api.video.pre-import-torrent.accept.result', + handler: ({ accepted }, { videoImportBody }) => { if (!accepted) return { accepted: false } - if (videoBody.name.indexOf('bad word') !== -1) return { accepted: false, errorMessage: 'bad word '} + if (videoImportBody.name.includes('bad torrent')) return { accepted: false, errorMessage: 'bad torrent' } + + return { accepted: true } + } + }) + + registerHook({ + target: 'filter:api.video.post-import-url.accept.result', + handler: ({ accepted }, { video }) => { + if (!accepted) return { accepted: false } + if (video.name.includes('bad word')) return { accepted: false, errorMessage: 'bad word' } + + return { accepted: true } + } + }) + + registerHook({ + target: 'filter:api.video.post-import-torrent.accept.result', + handler: ({ accepted }, { video }) => { + if (!accepted) return { accepted: false } + if (video.name.includes('bad word')) return { accepted: false, errorMessage: 'bad word' } return { accepted: true } } @@ -105,6 +184,52 @@ async function register ({ registerHook, registerSetting, settingsManager, stora return result } }) + + registerHook({ + target: 'filter:api.download.torrent.allowed.result', + handler: (result, params) => { + if (params && params.downloadName.includes('bad torrent')) { + return { allowed: false, errorMessage: 'Liu Bei' } + } + + return result + } + }) + + registerHook({ + target: 'filter:api.download.video.allowed.result', + handler: (result, params) => { + if (params && !params.streamingPlaylist && params.video.name.includes('bad file')) { + return { allowed: false, errorMessage: 'Cao Cao' } + } + + if (params && params.streamingPlaylist && params.video.name.includes('bad playlist file')) { + return { allowed: false, errorMessage: 'Sun Jian' } + } + + return result + } + }) + + registerHook({ + target: 'filter:html.embed.video.allowed.result', + handler: (result, params) => { + return { + allowed: false, + html: 'Lu Bu' + } + } + }) + + registerHook({ + target: 'filter:html.embed.video-playlist.allowed.result', + handler: (result, params) => { + return { + allowed: false, + html: 'Diao Chan' + } + } + }) } async function unregister () { @@ -118,14 +243,14 @@ module.exports = { // ############################################################################ -function addToCount (obj) { - return Object.assign({}, obj, { count: obj.count + 1 }) +function addToCount (obj, amount = 1) { + return Object.assign({}, obj, { count: obj.count + amount }) } -function addToTotal (result) { +function addToTotal (result, amount = 1) { return { data: result.data, - total: result.total + 1 + total: result.total + amount } }