]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/tests/plugins/action-hooks.ts
Fix flaky tests
[github/Chocobozzz/PeerTube.git] / server / tests / plugins / action-hooks.ts
index 405f81d7c3299cb1427db9f6d1367b93f950b443..9158b271deec3a00d3d5d539cc00d75c62c3dff0 100644 (file)
@@ -1,10 +1,10 @@
 /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
 
-import 'mocha'
 import { ServerHookName, VideoPlaylistPrivacy, VideoPrivacy } from '@shared/models'
 import {
   cleanupTests,
   createMultipleServers,
+  doubleFollow,
   killallServers,
   PeerTubeServer,
   PluginsCommand,
@@ -22,7 +22,7 @@ describe('Test plugin action hooks', function () {
   }
 
   before(async function () {
-    this.timeout(30000)
+    this.timeout(120000)
 
     servers = await createMultipleServers(2)
     await setAccessTokensToServers(servers)
@@ -37,6 +37,8 @@ describe('Test plugin action hooks', function () {
         enabled: true
       }
     })
+
+    await doubleFollow(servers[0], servers[1])
   })
 
   describe('Application hooks', function () {
@@ -154,7 +156,7 @@ describe('Test plugin action hooks', function () {
     let userId: number
 
     it('Should run action:api.user.registered', async function () {
-      await servers[0].users.register({ username: 'registered_user' })
+      await servers[0].registrations.register({ username: 'registered_user' })
 
       await checkHook('action:api.user.registered')
     })
@@ -232,6 +234,27 @@ describe('Test plugin action hooks', function () {
     })
   })
 
+  describe('Activity Pub hooks', function () {
+    let videoUUID: string
+
+    it('Should run action:activity-pub.remote-video.created', async function () {
+      this.timeout(30000)
+
+      const { uuid } = await servers[1].videos.quickUpload({ name: 'remote video' })
+      videoUUID = uuid
+
+      await servers[0].servers.waitUntilLog('action:activity-pub.remote-video.created - AP remote video - video remote video')
+    })
+
+    it('Should run action:activity-pub.remote-video.updated', async function () {
+      this.timeout(30000)
+
+      await servers[1].videos.update({ id: videoUUID, attributes: { name: 'remote video updated' } })
+
+      await servers[0].servers.waitUntilLog('action:activity-pub.remote-video.updated - AP remote video - video remote video', 1, false)
+    })
+  })
+
   after(async function () {
     await cleanupTests(servers)
   })