]> 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 26ab4e1bb44e9f6ed063158a3c84db157dc224f5..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,
@@ -144,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
@@ -157,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 {
@@ -165,5 +180,6 @@ export {
   flushTests,
   runServer,
   killallServers,
-  reRunServer
+  reRunServer,
+  waitUntilLog
 }