]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/tests/api/server/redundancy.ts
Fix socket.io websocket connection
[github/Chocobozzz/PeerTube.git] / server / tests / api / server / redundancy.ts
index e1709891d7de49adaae37f534d2f1a29b969005c..8053d049120f7b373a537839eae6de76b2cc6f37 100644 (file)
@@ -15,16 +15,18 @@ import {
   setAccessTokensToServers, unfollow,
   uploadVideo,
   viewVideo,
-  wait
-} from '../../utils'
-import { waitJobs } from '../../utils/server/jobs'
+  wait,
+  waitUntilLog,
+  checkVideoFilesWereRemoved, removeVideo
+} from '../../../../shared/utils'
+import { waitJobs } from '../../../../shared/utils/server/jobs'
 import * as magnetUtil from 'magnet-uri'
-import { updateRedundancy } from '../../utils/server/redundancy'
+import { updateRedundancy } from '../../../../shared/utils/server/redundancy'
 import { ActorFollow } from '../../../../shared/models/actors'
 import { readdir } from 'fs-extra'
 import { join } from 'path'
 import { VideoRedundancyStrategy } from '../../../../shared/models/redundancy'
-import { getStats } from '../../utils/server/stats'
+import { getStats } from '../../../../shared/utils/server/stats'
 import { ServerStats } from '../../../../shared/models/server/server-stats.model'
 
 const expect = chai.expect
@@ -225,7 +227,7 @@ describe('Test videos redundancy', function () {
       this.timeout(40000)
 
       await waitJobs(servers)
-      await wait(15000)
+      await waitUntilLog(servers[0], 'Duplicated ', 4)
       await waitJobs(servers)
 
       await check2Webseeds(strategy)
@@ -241,6 +243,8 @@ describe('Test videos redundancy', function () {
       await wait(5000)
 
       await check1WebSeed(strategy)
+
+      await checkVideoFilesWereRemoved(video1Server2UUID, servers[0].serverNumber, [ 'videos' ])
     })
 
     after(function () {
@@ -270,7 +274,7 @@ describe('Test videos redundancy', function () {
       this.timeout(40000)
 
       await waitJobs(servers)
-      await wait(15000)
+      await waitUntilLog(servers[0], 'Duplicated ', 4)
       await waitJobs(servers)
 
       await check2Webseeds(strategy)
@@ -286,6 +290,8 @@ describe('Test videos redundancy', function () {
       await wait(5000)
 
       await check1WebSeed(strategy)
+
+      await checkVideoFilesWereRemoved(video1Server2UUID, servers[0].serverNumber, [ 'videos' ])
     })
 
     after(function () {
@@ -336,13 +342,25 @@ describe('Test videos redundancy', function () {
       this.timeout(40000)
 
       await waitJobs(servers)
-      await wait(15000)
+      await waitUntilLog(servers[0], 'Duplicated ', 4)
       await waitJobs(servers)
 
       await check2Webseeds(strategy)
       await checkStatsWith2Webseed(strategy)
     })
 
+    it('Should remove the video and the redundancy files', async function () {
+      this.timeout(20000)
+
+      await removeVideo(servers[1].url, servers[1].accessToken, video1Server2UUID)
+
+      await waitJobs(servers)
+
+      for (const server of servers) {
+        await checkVideoFilesWereRemoved(video1Server2UUID, server.serverNumber)
+      }
+    })
+
     after(function () {
       return cleanServers()
     })
@@ -401,7 +419,7 @@ describe('Test videos redundancy', function () {
 
       killallServers([ servers[0] ])
 
-      await wait(10000)
+      await wait(15000)
 
       await checkNotContains([ servers[1], servers[2] ], 'http%3A%2F%2Flocalhost%3A9001')
     })
@@ -423,7 +441,7 @@ describe('Test videos redundancy', function () {
       await enableRedundancyOnServer1()
 
       await waitJobs(servers)
-      await wait(5000)
+      await waitUntilLog(servers[0], 'Duplicated ', 4)
       await waitJobs(servers)
 
       await check2Webseeds(strategy)
@@ -434,15 +452,24 @@ describe('Test videos redundancy', function () {
     })
 
     it('Should cache video 2 webseed on the first video', async function () {
-      this.timeout(40000)
-      this.retries(3)
+      this.timeout(120000)
 
       await waitJobs(servers)
 
-      await wait(7000)
+      let checked = false
+
+      while (checked === false) {
+        await wait(1000)
+
+        try {
+          await check1WebSeed(strategy, video1Server2UUID)
+          await check2Webseeds(strategy, video2Server2UUID)
 
-      await check1WebSeed(strategy, video1Server2UUID)
-      await check2Webseeds(strategy, video2Server2UUID)
+          checked = true
+        } catch {
+          checked = false
+        }
+      }
     })
 
     after(function () {