]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/tests/utils/server/servers.ts
Check video exists before extending its expiration
[github/Chocobozzz/PeerTube.git] / server / tests / utils / server / servers.ts
index e95be4a16f0b9a50a3f25003c92309ade6f02c77..3c946db273d6014bb90c790c9c6d193b79b8143d 100644 (file)
@@ -1,5 +1,7 @@
 import { ChildProcess, exec, fork } from 'child_process'
 import { join } from 'path'
+import { root, wait } from '../miscs/miscs'
+import { readFile } from 'fs-extra'
 
 interface ServerInfo {
   app: ChildProcess,
@@ -51,10 +53,7 @@ function flushAndRunMultipleServers (totalServers: number, configOverride?: Obje
     flushTests()
       .then(() => {
         for (let j = 1; j <= totalServers; j++) {
-          // For the virtual buffer
-          setTimeout(() => {
-            runServer(j, configOverride).then(app => anotherServerDone(j, app))
-          }, 1000 * (j - 1))
+          runServer(j, configOverride).then(app => anotherServerDone(j, app))
         }
       })
   })
@@ -147,8 +146,8 @@ function runServer (serverNumber: number, configOverride?: Object) {
   })
 }
 
-async function reRunServer (server: ServerInfo) {
-  const newServer = await runServer(server.serverNumber)
+async function reRunServer (server: ServerInfo, configOverride?: any) {
+  const newServer = await runServer(server.serverNumber, configOverride)
   server.app = newServer.app
 
   return server
@@ -160,6 +159,19 @@ function killallServers (servers: ServerInfo[]) {
   }
 }
 
+async function waitUntilLog (server: ServerInfo, str: string, count = 1) {
+  const logfile = join(root(), 'test' + server.serverNumber, 'logs/peertube.log')
+
+  while (true) {
+    const buf = await readFile(logfile)
+
+    const matches = buf.toString().match(new RegExp(str, 'g'))
+    if (matches && matches.length === count) return
+
+    await wait(1000)
+  }
+}
+
 // ---------------------------------------------------------------------------
 
 export {
@@ -168,5 +180,6 @@ export {
   flushTests,
   runServer,
   killallServers,
-  reRunServer
+  reRunServer,
+  waitUntilLog
 }