diff options
Diffstat (limited to 'server/tests')
-rw-r--r-- | server/tests/api/videos/video-blacklist.ts | 58 |
1 files changed, 52 insertions, 6 deletions
diff --git a/server/tests/api/videos/video-blacklist.ts b/server/tests/api/videos/video-blacklist.ts index e907bbdc0..8760a4787 100644 --- a/server/tests/api/videos/video-blacklist.ts +++ b/server/tests/api/videos/video-blacklist.ts | |||
@@ -4,10 +4,11 @@ import * as chai from 'chai' | |||
4 | import { orderBy } from 'lodash' | 4 | import { orderBy } from 'lodash' |
5 | import 'mocha' | 5 | import 'mocha' |
6 | import { | 6 | import { |
7 | addVideoToBlacklist, cleanupTests, | 7 | addVideoToBlacklist, |
8 | cleanupTests, | ||
8 | createUser, | 9 | createUser, |
9 | flushAndRunMultipleServers, | 10 | flushAndRunMultipleServers, |
10 | getBlacklistedVideosList, | 11 | getBlacklistedVideosList, getMyUserInformation, |
11 | getMyVideos, | 12 | getMyVideos, |
12 | getVideosList, | 13 | getVideosList, |
13 | killallServers, | 14 | killallServers, |
@@ -16,6 +17,7 @@ import { | |||
16 | searchVideo, | 17 | searchVideo, |
17 | ServerInfo, | 18 | ServerInfo, |
18 | setAccessTokensToServers, | 19 | setAccessTokensToServers, |
20 | setDefaultVideoChannel, | ||
19 | updateVideo, | 21 | updateVideo, |
20 | updateVideoBlacklist, | 22 | updateVideoBlacklist, |
21 | uploadVideo, | 23 | uploadVideo, |
@@ -25,7 +27,8 @@ import { doubleFollow } from '../../../../shared/extra-utils/server/follows' | |||
25 | import { waitJobs } from '../../../../shared/extra-utils/server/jobs' | 27 | import { waitJobs } from '../../../../shared/extra-utils/server/jobs' |
26 | import { VideoBlacklist, VideoBlacklistType } from '../../../../shared/models/videos' | 28 | import { VideoBlacklist, VideoBlacklistType } from '../../../../shared/models/videos' |
27 | import { UserAdminFlag } from '../../../../shared/models/users/user-flag.model' | 29 | import { UserAdminFlag } from '../../../../shared/models/users/user-flag.model' |
28 | import { UserRole } from '../../../../shared/models/users' | 30 | import { User, UserRole, UserUpdateMe } from '../../../../shared/models/users' |
31 | import { getMagnetURI, getYoutubeVideoUrl, importVideo } from '../../../../shared/extra-utils/videos/video-imports' | ||
29 | 32 | ||
30 | const expect = chai.expect | 33 | const expect = chai.expect |
31 | 34 | ||
@@ -351,6 +354,7 @@ describe('Test video blacklist', function () { | |||
351 | describe('When auto blacklist videos', function () { | 354 | describe('When auto blacklist videos', function () { |
352 | let userWithoutFlag: string | 355 | let userWithoutFlag: string |
353 | let userWithFlag: string | 356 | let userWithFlag: string |
357 | let channelOfUserWithoutFlag: number | ||
354 | 358 | ||
355 | before(async function () { | 359 | before(async function () { |
356 | this.timeout(20000) | 360 | this.timeout(20000) |
@@ -380,6 +384,10 @@ describe('Test video blacklist', function () { | |||
380 | }) | 384 | }) |
381 | 385 | ||
382 | userWithoutFlag = await userLogin(servers[0], user) | 386 | userWithoutFlag = await userLogin(servers[0], user) |
387 | |||
388 | const res = await getMyUserInformation(servers[0].url, userWithoutFlag) | ||
389 | const body: User = res.body | ||
390 | channelOfUserWithoutFlag = body.videoChannels[0].id | ||
383 | } | 391 | } |
384 | 392 | ||
385 | { | 393 | { |
@@ -399,7 +407,7 @@ describe('Test video blacklist', function () { | |||
399 | await waitJobs(servers) | 407 | await waitJobs(servers) |
400 | }) | 408 | }) |
401 | 409 | ||
402 | it('Should auto blacklist a video', async function () { | 410 | it('Should auto blacklist a video on upload', async function () { |
403 | await uploadVideo(servers[0].url, userWithoutFlag, { name: 'blacklisted' }) | 411 | await uploadVideo(servers[0].url, userWithoutFlag, { name: 'blacklisted' }) |
404 | 412 | ||
405 | const res = await getBlacklistedVideosList({ | 413 | const res = await getBlacklistedVideosList({ |
@@ -412,7 +420,45 @@ describe('Test video blacklist', function () { | |||
412 | expect(res.body.data[0].video.name).to.equal('blacklisted') | 420 | expect(res.body.data[0].video.name).to.equal('blacklisted') |
413 | }) | 421 | }) |
414 | 422 | ||
415 | it('Should not auto blacklist a video', async function () { | 423 | it('Should auto blacklist a video on URL import', async function () { |
424 | const attributes = { | ||
425 | targetUrl: getYoutubeVideoUrl(), | ||
426 | name: 'URL import', | ||
427 | channelId: channelOfUserWithoutFlag | ||
428 | } | ||
429 | await importVideo(servers[ 0 ].url, userWithoutFlag, attributes) | ||
430 | |||
431 | const res = await getBlacklistedVideosList({ | ||
432 | url: servers[ 0 ].url, | ||
433 | token: servers[ 0 ].accessToken, | ||
434 | sort: 'createdAt', | ||
435 | type: VideoBlacklistType.AUTO_BEFORE_PUBLISHED | ||
436 | }) | ||
437 | |||
438 | expect(res.body.total).to.equal(2) | ||
439 | expect(res.body.data[1].video.name).to.equal('URL import') | ||
440 | }) | ||
441 | |||
442 | it('Should auto blacklist a video on torrent import', async function () { | ||
443 | const attributes = { | ||
444 | magnetUri: getMagnetURI(), | ||
445 | name: 'Torrent import', | ||
446 | channelId: channelOfUserWithoutFlag | ||
447 | } | ||
448 | await importVideo(servers[ 0 ].url, userWithoutFlag, attributes) | ||
449 | |||
450 | const res = await getBlacklistedVideosList({ | ||
451 | url: servers[ 0 ].url, | ||
452 | token: servers[ 0 ].accessToken, | ||
453 | sort: 'createdAt', | ||
454 | type: VideoBlacklistType.AUTO_BEFORE_PUBLISHED | ||
455 | }) | ||
456 | |||
457 | expect(res.body.total).to.equal(3) | ||
458 | expect(res.body.data[2].video.name).to.equal('Torrent import') | ||
459 | }) | ||
460 | |||
461 | it('Should not auto blacklist a video on upload if the user has the bypass blacklist flag', async function () { | ||
416 | await uploadVideo(servers[0].url, userWithFlag, { name: 'not blacklisted' }) | 462 | await uploadVideo(servers[0].url, userWithFlag, { name: 'not blacklisted' }) |
417 | 463 | ||
418 | const res = await getBlacklistedVideosList({ | 464 | const res = await getBlacklistedVideosList({ |
@@ -421,7 +467,7 @@ describe('Test video blacklist', function () { | |||
421 | type: VideoBlacklistType.AUTO_BEFORE_PUBLISHED | 467 | type: VideoBlacklistType.AUTO_BEFORE_PUBLISHED |
422 | }) | 468 | }) |
423 | 469 | ||
424 | expect(res.body.total).to.equal(1) | 470 | expect(res.body.total).to.equal(3) |
425 | }) | 471 | }) |
426 | }) | 472 | }) |
427 | 473 | ||