X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Ffixtures%2Fpeertube-plugin-test%2Fmain.js;h=aba415d1e4c9e45544dc32aacc8a85992003c532;hb=650580504cf14a87bd4025eec9673eb5642dc71d;hp=322c0610c934ccab9e62f8cb96f13c7707367056;hpb=3cabf3532b9118a19311f14ca3e171d12d554a2f;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 322c0610c..aba415d1e 100644 --- a/server/tests/fixtures/peertube-plugin-test/main.js +++ b/server/tests/fixtures/peertube-plugin-test/main.js @@ -19,7 +19,9 @@ async function register ({ registerHook, registerSetting, settingsManager, stora 'action:api.user.created', 'action:api.user.deleted', 'action:api.user.updated', - 'action:api.user.oauth2-got-token' + 'action:api.user.oauth2-got-token', + + 'action:api.video-playlist-element.created' ] for (const h of actionHooks) { @@ -39,6 +41,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 => { @@ -154,6 +186,90 @@ 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' + } + } + }) + + registerHook({ + target: 'filter:api.server.stats.get.result', + handler: (result) => { + return { ...result, customStats: 14 } + } + }) + + { + const filterHooks = [ + 'filter:api.search.videos.local.list.params', + 'filter:api.search.videos.local.list.result', + 'filter:api.search.videos.index.list.params', + 'filter:api.search.videos.index.list.result', + 'filter:api.search.video-channels.local.list.params', + 'filter:api.search.video-channels.local.list.result', + 'filter:api.search.video-channels.index.list.params', + 'filter:api.search.video-channels.index.list.result', + 'filter:api.search.video-playlists.local.list.params', + 'filter:api.search.video-playlists.local.list.result', + 'filter:api.search.video-playlists.index.list.params', + 'filter:api.search.video-playlists.index.list.result', + + 'filter:api.overviews.videos.list.params', + 'filter:api.overviews.videos.list.result' + ] + + for (const h of filterHooks) { + registerHook({ + target: h, + handler: (obj) => { + peertubeHelpers.logger.debug('Run hook %s.', h) + + return obj + } + }) + } + } } async function unregister () { @@ -167,14 +283,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 } }