]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/tests/api/moderation/abuses.ts
Fix runner vod transcoding error test
[github/Chocobozzz/PeerTube.git] / server / tests / api / moderation / abuses.ts
index 8d6360eb3b956f26890614ee8d0e3372714eb06f..9fc296ea890957320121c27fb42470e5e10747ff 100644 (file)
@@ -1,7 +1,7 @@
 /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
 
-import 'mocha'
-import * as chai from 'chai'
+import { expect } from 'chai'
+import { AbuseMessage, AbusePredefinedReasonsString, AbuseState, AdminAbuse, UserAbuse } from '@shared/models'
 import {
   AbusesCommand,
   cleanupTests,
@@ -9,11 +9,10 @@ import {
   doubleFollow,
   PeerTubeServer,
   setAccessTokensToServers,
+  setDefaultAccountAvatar,
+  setDefaultChannelAvatar,
   waitJobs
-} from '@shared/extra-utils'
-import { AbuseMessage, AbusePredefinedReasonsString, AbuseState, AdminAbuse, UserAbuse } from '@shared/models'
-
-const expect = chai.expect
+} from '@shared/server-commands'
 
 describe('Test abuses', function () {
   let servers: PeerTubeServer[] = []
@@ -27,8 +26,9 @@ describe('Test abuses', function () {
     // Run servers
     servers = await createMultipleServers(2)
 
-    // Get the access tokens
     await setAccessTokensToServers(servers)
+    await setDefaultChannelAvatar(servers)
+    await setDefaultAccountAvatar(servers)
 
     // Server 1 and server 2 follow each other
     await doubleFollow(servers[0], servers[1])
@@ -64,8 +64,8 @@ describe('Test abuses', function () {
       const { data } = await servers[0].videos.list()
       expect(data.length).to.equal(2)
 
-      servers[0].store.video = data.find(video => video.name === 'my super name for server 1')
-      servers[1].store.video = data.find(video => video.name === 'my super name for server 2')
+      servers[0].store.videoCreated = data.find(video => video.name === 'my super name for server 1')
+      servers[1].store.videoCreated = data.find(video => video.name === 'my super name for server 2')
     })
 
     it('Should not have abuses', async function () {
@@ -80,7 +80,7 @@ describe('Test abuses', function () {
       this.timeout(15000)
 
       const reason = 'my super bad reason'
-      await commands[0].report({ videoId: servers[0].store.video.id, reason })
+      await commands[0].report({ videoId: servers[0].store.videoCreated.id, reason })
 
       // We wait requests propagation, even if the server 1 is not supposed to make a request to server 2
       await waitJobs(servers)
@@ -100,7 +100,7 @@ describe('Test abuses', function () {
         expect(abuse.reporterAccount.name).to.equal('root')
         expect(abuse.reporterAccount.host).to.equal(servers[0].host)
 
-        expect(abuse.video.id).to.equal(servers[0].store.video.id)
+        expect(abuse.video.id).to.equal(servers[0].store.videoCreated.id)
         expect(abuse.video.channel).to.exist
 
         expect(abuse.comment).to.be.null
@@ -124,10 +124,8 @@ describe('Test abuses', function () {
     })
 
     it('Should report abuse on a remote video', async function () {
-      this.timeout(10000)
-
       const reason = 'my super bad reason 2'
-      const videoId = await servers[0].videos.getId({ uuid: servers[1].store.video.uuid })
+      const videoId = await servers[0].videos.getId({ uuid: servers[1].store.videoCreated.uuid })
       await commands[0].report({ videoId, reason })
 
       // We wait requests propagation
@@ -146,7 +144,7 @@ describe('Test abuses', function () {
         expect(abuse1.reporterAccount.name).to.equal('root')
         expect(abuse1.reporterAccount.host).to.equal(servers[0].host)
 
-        expect(abuse1.video.id).to.equal(servers[0].store.video.id)
+        expect(abuse1.video.id).to.equal(servers[0].store.videoCreated.id)
         expect(abuse1.video.countReports).to.equal(1)
         expect(abuse1.video.nthReport).to.equal(1)
 
@@ -165,7 +163,7 @@ describe('Test abuses', function () {
         expect(abuse2.reporterAccount.name).to.equal('root')
         expect(abuse2.reporterAccount.host).to.equal(servers[0].host)
 
-        expect(abuse2.video.id).to.equal(servers[1].store.video.id)
+        expect(abuse2.video.uuid).to.equal(servers[1].store.videoCreated.uuid)
 
         expect(abuse2.comment).to.be.null
 
@@ -197,10 +195,8 @@ describe('Test abuses', function () {
     })
 
     it('Should hide video abuses from blocked accounts', async function () {
-      this.timeout(10000)
-
       {
-        const videoId = await servers[1].videos.getId({ uuid: servers[0].store.video.uuid })
+        const videoId = await servers[1].videos.getId({ uuid: servers[0].store.videoCreated.uuid })
         await commands[1].report({ videoId, reason: 'will mute this' })
         await waitJobs(servers)
 
@@ -250,26 +246,22 @@ describe('Test abuses', function () {
     })
 
     it('Should keep the video abuse when deleting the video', async function () {
-      this.timeout(10000)
-
       await servers[1].videos.remove({ id: abuseServer2.video.uuid })
 
       await waitJobs(servers)
 
       const body = await commands[1].getAdminList()
-      expect(body.total).to.equal(2, "wrong number of videos returned")
-      expect(body.data).to.have.lengthOf(2, "wrong number of videos returned")
+      expect(body.total).to.equal(2, 'wrong number of videos returned')
+      expect(body.data).to.have.lengthOf(2, 'wrong number of videos returned')
 
       const abuse = body.data[0]
-      expect(abuse.id).to.equal(abuseServer2.id, "wrong origin server id for first video")
-      expect(abuse.video.id).to.equal(abuseServer2.video.id, "wrong video id")
+      expect(abuse.id).to.equal(abuseServer2.id, 'wrong origin server id for first video')
+      expect(abuse.video.id).to.equal(abuseServer2.video.id, 'wrong video id')
       expect(abuse.video.channel).to.exist
       expect(abuse.video.deleted).to.be.true
     })
 
     it('Should include counts of reports from reporter and reportee', async function () {
-      this.timeout(10000)
-
       // register a second user to have two reporters/reportees
       const user = { username: 'user2', password: 'password' }
       await servers[0].users.create({ ...user })
@@ -288,7 +280,7 @@ describe('Test abuses', function () {
       await commands[0].report({ videoId: video3Id, reason: reason3 })
 
       const reason4 = 'my super bad reason 4'
-      await commands[0].report({ token: userAccessToken, videoId: servers[0].store.video.id, reason: reason4 })
+      await commands[0].report({ token: userAccessToken, videoId: servers[0].store.videoCreated.id, reason: reason4 })
 
       {
         const body = await commands[0].getAdminList()
@@ -296,23 +288,21 @@ describe('Test abuses', function () {
 
         const abuseVideo3 = body.data.find(a => a.video.id === video3Id)
         expect(abuseVideo3).to.not.be.undefined
-        expect(abuseVideo3.video.countReports).to.equal(1, "wrong reports count for video 3")
-        expect(abuseVideo3.video.nthReport).to.equal(1, "wrong report position in report list for video 3")
-        expect(abuseVideo3.countReportsForReportee).to.equal(1, "wrong reports count for reporter on video 3 abuse")
-        expect(abuseVideo3.countReportsForReporter).to.equal(3, "wrong reports count for reportee on video 3 abuse")
+        expect(abuseVideo3.video.countReports).to.equal(1, 'wrong reports count for video 3')
+        expect(abuseVideo3.video.nthReport).to.equal(1, 'wrong report position in report list for video 3')
+        expect(abuseVideo3.countReportsForReportee).to.equal(1, 'wrong reports count for reporter on video 3 abuse')
+        expect(abuseVideo3.countReportsForReporter).to.equal(3, 'wrong reports count for reportee on video 3 abuse')
 
-        const abuseServer1 = abuses.find(a => a.video.id === servers[0].store.video.id)
-        expect(abuseServer1.countReportsForReportee).to.equal(3, "wrong reports count for reporter on video 1 abuse")
+        const abuseServer1 = abuses.find(a => a.video.id === servers[0].store.videoCreated.id)
+        expect(abuseServer1.countReportsForReportee).to.equal(3, 'wrong reports count for reporter on video 1 abuse')
       }
     })
 
     it('Should list predefined reasons as well as timestamps for the reported video', async function () {
-      this.timeout(10000)
-
       const reason5 = 'my super bad reason 5'
       const predefinedReasons5: AbusePredefinedReasonsString[] = [ 'violentOrRepulsive', 'captions' ]
       const createRes = await commands[0].report({
-        videoId: servers[0].store.video.id,
+        videoId: servers[0].store.videoCreated.id,
         reason: reason5,
         predefinedReasons: predefinedReasons5,
         startAt: 1,
@@ -324,15 +314,13 @@ describe('Test abuses', function () {
       {
         const abuse = body.data.find(a => a.id === createRes.abuse.id)
         expect(abuse.reason).to.equals(reason5)
-        expect(abuse.predefinedReasons).to.deep.equals(predefinedReasons5, "predefined reasons do not match the one reported")
+        expect(abuse.predefinedReasons).to.deep.equals(predefinedReasons5, 'predefined reasons do not match the one reported')
         expect(abuse.video.startAt).to.equal(1, "starting timestamp doesn't match the one reported")
         expect(abuse.video.endAt).to.equal(5, "ending timestamp doesn't match the one reported")
       }
     })
 
     it('Should delete the video abuse', async function () {
-      this.timeout(10000)
-
       await commands[1].delete({ abuseId: abuseServer2.id })
 
       await waitJobs(servers)
@@ -351,8 +339,6 @@ describe('Test abuses', function () {
     })
 
     it('Should list and filter video abuses', async function () {
-      this.timeout(10000)
-
       async function list (query: Parameters<AbusesCommand['getAdminList']>[0]) {
         const body = await commands[0].getAdminList(query)
 
@@ -402,11 +388,11 @@ describe('Test abuses', function () {
     before(async function () {
       this.timeout(50000)
 
-      servers[0].store.video = await servers[0].videos.quickUpload({ name: 'server 1' })
-      servers[1].store.video = await servers[1].videos.quickUpload({ name: 'server 2' })
+      servers[0].store.videoCreated = await servers[0].videos.quickUpload({ name: 'server 1' })
+      servers[1].store.videoCreated = await servers[1].videos.quickUpload({ name: 'server 2' })
 
-      await servers[0].comments.createThread({ videoId: servers[0].store.video.id, text: 'comment server 1' })
-      await servers[1].comments.createThread({ videoId: servers[1].store.video.id, text: 'comment server 2' })
+      await servers[0].comments.createThread({ videoId: servers[0].store.videoCreated.id, text: 'comment server 1' })
+      await servers[1].comments.createThread({ videoId: servers[1].store.videoCreated.id, text: 'comment server 2' })
 
       await waitJobs(servers)
     })
@@ -414,7 +400,7 @@ describe('Test abuses', function () {
     it('Should report abuse on a comment', async function () {
       this.timeout(15000)
 
-      const comment = await getComment(servers[0], servers[0].store.video.id)
+      const comment = await getComment(servers[0], servers[0].store.videoCreated.id)
 
       const reason = 'it is a bad comment'
       await commands[0].report({ commentId: comment.id, reason })
@@ -424,7 +410,7 @@ describe('Test abuses', function () {
 
     it('Should have 1 comment abuse on server 1 and 0 on server 2', async function () {
       {
-        const comment = await getComment(servers[0], servers[0].store.video.id)
+        const comment = await getComment(servers[0], servers[0].store.videoCreated.id)
         const body = await commands[0].getAdminList({ filter: 'comment' })
 
         expect(body.total).to.equal(1)
@@ -442,8 +428,8 @@ describe('Test abuses', function () {
         expect(abuse.comment.id).to.equal(comment.id)
         expect(abuse.comment.text).to.equal(comment.text)
         expect(abuse.comment.video.name).to.equal('server 1')
-        expect(abuse.comment.video.id).to.equal(servers[0].store.video.id)
-        expect(abuse.comment.video.uuid).to.equal(servers[0].store.video.uuid)
+        expect(abuse.comment.video.id).to.equal(servers[0].store.videoCreated.id)
+        expect(abuse.comment.video.uuid).to.equal(servers[0].store.videoCreated.uuid)
 
         expect(abuse.countReportsForReporter).to.equal(5)
         expect(abuse.countReportsForReportee).to.equal(5)
@@ -457,9 +443,7 @@ describe('Test abuses', function () {
     })
 
     it('Should report abuse on a remote comment', async function () {
-      this.timeout(10000)
-
-      const comment = await getComment(servers[0], servers[1].store.video.uuid)
+      const comment = await getComment(servers[0], servers[1].store.videoCreated.uuid)
 
       const reason = 'it is a really bad comment'
       await commands[0].report({ commentId: comment.id, reason })
@@ -468,7 +452,7 @@ describe('Test abuses', function () {
     })
 
     it('Should have 2 comment abuses on server 1 and 1 on server 2', async function () {
-      const commentServer2 = await getComment(servers[0], servers[1].store.video.id)
+      const commentServer2 = await getComment(servers[0], servers[1].store.videoCreated.shortUUID)
 
       {
         const body = await commands[0].getAdminList({ filter: 'comment' })
@@ -493,7 +477,7 @@ describe('Test abuses', function () {
         expect(abuse2.comment.id).to.equal(commentServer2.id)
         expect(abuse2.comment.text).to.equal(commentServer2.text)
         expect(abuse2.comment.video.name).to.equal('server 2')
-        expect(abuse2.comment.video.uuid).to.equal(servers[1].store.video.uuid)
+        expect(abuse2.comment.video.uuid).to.equal(servers[1].store.videoCreated.uuid)
 
         expect(abuse2.state.id).to.equal(AbuseState.PENDING)
         expect(abuse2.state.label).to.equal('Pending')
@@ -525,11 +509,9 @@ describe('Test abuses', function () {
     })
 
     it('Should keep the comment abuse when deleting the comment', async function () {
-      this.timeout(10000)
-
-      const commentServer2 = await getComment(servers[0], servers[1].store.video.id)
+      const commentServer2 = await getComment(servers[0], servers[1].store.videoCreated.uuid)
 
-      await servers[0].comments.delete({ videoId: servers[1].store.video.uuid, commentId: commentServer2.id })
+      await servers[0].comments.delete({ videoId: servers[1].store.videoCreated.uuid, commentId: commentServer2.id })
 
       await waitJobs(servers)
 
@@ -546,8 +528,6 @@ describe('Test abuses', function () {
     })
 
     it('Should delete the comment abuse', async function () {
-      this.timeout(10000)
-
       await commands[1].delete({ abuseId: abuseServer2.id })
 
       await waitJobs(servers)
@@ -645,8 +625,6 @@ describe('Test abuses', function () {
     })
 
     it('Should report abuse on a remote account', async function () {
-      this.timeout(10000)
-
       const account = await getAccountFromServer(servers[0], 'user_2', servers[1])
 
       const reason = 'it is a really bad account'
@@ -699,8 +677,6 @@ describe('Test abuses', function () {
     })
 
     it('Should keep the account abuse when deleting the account', async function () {
-      this.timeout(10000)
-
       const account = await getAccountFromServer(servers[1], 'user_2', servers[1])
       await servers[1].users.remove({ userId: account.userId })
 
@@ -715,8 +691,6 @@ describe('Test abuses', function () {
     })
 
     it('Should delete the account abuse', async function () {
-      this.timeout(10000)
-
       await commands[1].delete({ abuseId: abuseServer2.id })
 
       await waitJobs(servers)
@@ -761,9 +735,9 @@ describe('Test abuses', function () {
     before(async function () {
       userAccessToken = await servers[0].users.generateUserAndToken('user_42')
 
-      await commands[0].report({ token: userAccessToken, videoId: servers[0].store.video.id, reason: 'user reason 1' })
+      await commands[0].report({ token: userAccessToken, videoId: servers[0].store.videoCreated.id, reason: 'user reason 1' })
 
-      const videoId = await servers[0].videos.getId({ uuid: servers[1].store.video.uuid })
+      const videoId = await servers[0].videos.getId({ uuid: servers[1].store.videoCreated.uuid })
       await commands[0].report({ token: userAccessToken, videoId, reason: 'user reason 2' })
     })
 
@@ -832,7 +806,7 @@ describe('Test abuses', function () {
     before(async function () {
       userToken = await servers[0].users.generateUserAndToken('user_43')
 
-      const body = await commands[0].report({ token: userToken, videoId: servers[0].store.video.id, reason: 'user 43 reason 1' })
+      const body = await commands[0].report({ token: userToken, videoId: servers[0].store.videoCreated.id, reason: 'user 43 reason 1' })
       abuseId = body.abuse.id
     })