aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/tests/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'server/tests/plugins')
-rw-r--r--server/tests/plugins/filter-hooks.ts67
1 files changed, 28 insertions, 39 deletions
diff --git a/server/tests/plugins/filter-hooks.ts b/server/tests/plugins/filter-hooks.ts
index 203642d8d..a3c3c0551 100644
--- a/server/tests/plugins/filter-hooks.ts
+++ b/server/tests/plugins/filter-hooks.ts
@@ -18,6 +18,7 @@ import {
18 getVideosListPagination, 18 getVideosListPagination,
19 getVideoThreadComments, 19 getVideoThreadComments,
20 getVideoWithToken, 20 getVideoWithToken,
21 ImportsCommand,
21 makeRawRequest, 22 makeRawRequest,
22 PluginsCommand, 23 PluginsCommand,
23 registerUser, 24 registerUser,
@@ -30,16 +31,7 @@ import {
30 waitJobs, 31 waitJobs,
31 waitUntilLog 32 waitUntilLog
32} from '@shared/extra-utils' 33} from '@shared/extra-utils'
33import { getGoodVideoUrl, getMyVideoImports, importVideo } from '@shared/extra-utils/videos/video-imports' 34import { VideoCommentThreadTree, VideoDetails, VideoImportState, VideoPlaylist, VideoPlaylistPrivacy, VideoPrivacy } from '@shared/models'
34import {
35 VideoCommentThreadTree,
36 VideoDetails,
37 VideoImport,
38 VideoImportState,
39 VideoPlaylist,
40 VideoPlaylistPrivacy,
41 VideoPrivacy
42} from '@shared/models'
43 35
44const expect = chai.expect 36const expect = chai.expect
45 37
@@ -157,23 +149,23 @@ describe('Test plugin filter hooks', function () {
157 }) 149 })
158 150
159 it('Should run filter:api.video.pre-import-url.accept.result', async function () { 151 it('Should run filter:api.video.pre-import-url.accept.result', async function () {
160 const baseAttributes = { 152 const attributes = {
161 name: 'normal title', 153 name: 'normal title',
162 privacy: VideoPrivacy.PUBLIC, 154 privacy: VideoPrivacy.PUBLIC,
163 channelId: servers[0].videoChannel.id, 155 channelId: servers[0].videoChannel.id,
164 targetUrl: getGoodVideoUrl() + 'bad' 156 targetUrl: ImportsCommand.getGoodVideoUrl() + 'bad'
165 } 157 }
166 await importVideo(servers[0].url, servers[0].accessToken, baseAttributes, HttpStatusCode.FORBIDDEN_403) 158 await servers[0].importsCommand.importVideo({ attributes, expectedStatus: HttpStatusCode.FORBIDDEN_403 })
167 }) 159 })
168 160
169 it('Should run filter:api.video.pre-import-torrent.accept.result', async function () { 161 it('Should run filter:api.video.pre-import-torrent.accept.result', async function () {
170 const baseAttributes = { 162 const attributes = {
171 name: 'bad torrent', 163 name: 'bad torrent',
172 privacy: VideoPrivacy.PUBLIC, 164 privacy: VideoPrivacy.PUBLIC,
173 channelId: servers[0].videoChannel.id, 165 channelId: servers[0].videoChannel.id,
174 torrentfile: 'video-720p.torrent' as any 166 torrentfile: 'video-720p.torrent' as any
175 } 167 }
176 await importVideo(servers[0].url, servers[0].accessToken, baseAttributes, HttpStatusCode.FORBIDDEN_403) 168 await servers[0].importsCommand.importVideo({ attributes, expectedStatus: HttpStatusCode.FORBIDDEN_403 })
177 }) 169 })
178 170
179 it('Should run filter:api.video.post-import-url.accept.result', async function () { 171 it('Should run filter:api.video.post-import-url.accept.result', async function () {
@@ -182,21 +174,21 @@ describe('Test plugin filter hooks', function () {
182 let videoImportId: number 174 let videoImportId: number
183 175
184 { 176 {
185 const baseAttributes = { 177 const attributes = {
186 name: 'title with bad word', 178 name: 'title with bad word',
187 privacy: VideoPrivacy.PUBLIC, 179 privacy: VideoPrivacy.PUBLIC,
188 channelId: servers[0].videoChannel.id, 180 channelId: servers[0].videoChannel.id,
189 targetUrl: getGoodVideoUrl() 181 targetUrl: ImportsCommand.getGoodVideoUrl()
190 } 182 }
191 const res = await importVideo(servers[0].url, servers[0].accessToken, baseAttributes) 183 const body = await servers[0].importsCommand.importVideo({ attributes })
192 videoImportId = res.body.id 184 videoImportId = body.id
193 } 185 }
194 186
195 await waitJobs(servers) 187 await waitJobs(servers)
196 188
197 { 189 {
198 const res = await getMyVideoImports(servers[0].url, servers[0].accessToken) 190 const body = await servers[0].importsCommand.getMyVideoImports()
199 const videoImports = res.body.data as VideoImport[] 191 const videoImports = body.data
200 192
201 const videoImport = videoImports.find(i => i.id === videoImportId) 193 const videoImport = videoImports.find(i => i.id === videoImportId)
202 194
@@ -211,21 +203,20 @@ describe('Test plugin filter hooks', function () {
211 let videoImportId: number 203 let videoImportId: number
212 204
213 { 205 {
214 const baseAttributes = { 206 const attributes = {
215 name: 'title with bad word', 207 name: 'title with bad word',
216 privacy: VideoPrivacy.PUBLIC, 208 privacy: VideoPrivacy.PUBLIC,
217 channelId: servers[0].videoChannel.id, 209 channelId: servers[0].videoChannel.id,
218 torrentfile: 'video-720p.torrent' as any 210 torrentfile: 'video-720p.torrent' as any
219 } 211 }
220 const res = await importVideo(servers[0].url, servers[0].accessToken, baseAttributes) 212 const body = await servers[0].importsCommand.importVideo({ attributes })
221 videoImportId = res.body.id 213 videoImportId = body.id
222 } 214 }
223 215
224 await waitJobs(servers) 216 await waitJobs(servers)
225 217
226 { 218 {
227 const res = await getMyVideoImports(servers[0].url, servers[0].accessToken) 219 const { data: videoImports } = await servers[0].importsCommand.getMyVideoImports()
228 const videoImports = res.body.data as VideoImport[]
229 220
230 const videoImport = videoImports.find(i => i.id === videoImportId) 221 const videoImport = videoImports.find(i => i.id === videoImportId)
231 222
@@ -278,17 +269,15 @@ describe('Test plugin filter hooks', function () {
278 269
279 describe('Should run filter:video.auto-blacklist.result', function () { 270 describe('Should run filter:video.auto-blacklist.result', function () {
280 271
281 async function checkIsBlacklisted (oldRes: any, value: boolean) { 272 async function checkIsBlacklisted (id: number | string, value: boolean) {
282 const videoId = oldRes.body.video.uuid 273 const res = await getVideoWithToken(servers[0].url, servers[0].accessToken, id)
283
284 const res = await getVideoWithToken(servers[0].url, servers[0].accessToken, videoId)
285 const video: VideoDetails = res.body 274 const video: VideoDetails = res.body
286 expect(video.blacklisted).to.equal(value) 275 expect(video.blacklisted).to.equal(value)
287 } 276 }
288 277
289 it('Should blacklist on upload', async function () { 278 it('Should blacklist on upload', async function () {
290 const res = await uploadVideo(servers[0].url, servers[0].accessToken, { name: 'video please blacklist me' }) 279 const res = await uploadVideo(servers[0].url, servers[0].accessToken, { name: 'video please blacklist me' })
291 await checkIsBlacklisted(res, true) 280 await checkIsBlacklisted(res.body.video.uuid, true)
292 }) 281 })
293 282
294 it('Should blacklist on import', async function () { 283 it('Should blacklist on import', async function () {
@@ -296,20 +285,20 @@ describe('Test plugin filter hooks', function () {
296 285
297 const attributes = { 286 const attributes = {
298 name: 'video please blacklist me', 287 name: 'video please blacklist me',
299 targetUrl: getGoodVideoUrl(), 288 targetUrl: ImportsCommand.getGoodVideoUrl(),
300 channelId: servers[0].videoChannel.id 289 channelId: servers[0].videoChannel.id
301 } 290 }
302 const res = await importVideo(servers[0].url, servers[0].accessToken, attributes) 291 const body = await servers[0].importsCommand.importVideo({ attributes })
303 await checkIsBlacklisted(res, true) 292 await checkIsBlacklisted(body.video.uuid, true)
304 }) 293 })
305 294
306 it('Should blacklist on update', async function () { 295 it('Should blacklist on update', async function () {
307 const res = await uploadVideo(servers[0].url, servers[0].accessToken, { name: 'video' }) 296 const res = await uploadVideo(servers[0].url, servers[0].accessToken, { name: 'video' })
308 const videoId = res.body.video.uuid 297 const videoId = res.body.video.uuid
309 await checkIsBlacklisted(res, false) 298 await checkIsBlacklisted(videoId, false)
310 299
311 await updateVideo(servers[0].url, servers[0].accessToken, videoId, { name: 'please blacklist me' }) 300 await updateVideo(servers[0].url, servers[0].accessToken, videoId, { name: 'please blacklist me' })
312 await checkIsBlacklisted(res, true) 301 await checkIsBlacklisted(videoId, true)
313 }) 302 })
314 303
315 it('Should blacklist on remote upload', async function () { 304 it('Should blacklist on remote upload', async function () {
@@ -318,7 +307,7 @@ describe('Test plugin filter hooks', function () {
318 const res = await uploadVideo(servers[1].url, servers[1].accessToken, { name: 'remote please blacklist me' }) 307 const res = await uploadVideo(servers[1].url, servers[1].accessToken, { name: 'remote please blacklist me' })
319 await waitJobs(servers) 308 await waitJobs(servers)
320 309
321 await checkIsBlacklisted(res, true) 310 await checkIsBlacklisted(res.body.video.uuid, true)
322 }) 311 })
323 312
324 it('Should blacklist on remote update', async function () { 313 it('Should blacklist on remote update', async function () {
@@ -328,12 +317,12 @@ describe('Test plugin filter hooks', function () {
328 await waitJobs(servers) 317 await waitJobs(servers)
329 318
330 const videoId = res.body.video.uuid 319 const videoId = res.body.video.uuid
331 await checkIsBlacklisted(res, false) 320 await checkIsBlacklisted(videoId, false)
332 321
333 await updateVideo(servers[1].url, servers[1].accessToken, videoId, { name: 'please blacklist me' }) 322 await updateVideo(servers[1].url, servers[1].accessToken, videoId, { name: 'please blacklist me' })
334 await waitJobs(servers) 323 await waitJobs(servers)
335 324
336 await checkIsBlacklisted(res, true) 325 await checkIsBlacklisted(videoId, true)
337 }) 326 })
338 }) 327 })
339 328