From 34aa316f58f726662bc609cf99f33327bddb18c5 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 10 Oct 2022 11:31:01 +0200 Subject: Try to fix tests --- shared/server-commands/videos/live-command.ts | 11 +++++++ .../videos/streaming-playlists-command.ts | 36 +++++++++++++++++----- 2 files changed, 39 insertions(+), 8 deletions(-) (limited to 'shared') diff --git a/shared/server-commands/videos/live-command.ts b/shared/server-commands/videos/live-command.ts index defae95fb..84d127db2 100644 --- a/shared/server-commands/videos/live-command.ts +++ b/shared/server-commands/videos/live-command.ts @@ -172,6 +172,17 @@ export class LiveCommand extends AbstractCommand { return this.server.servers.waitUntilLog(`${videoUUID}/${segmentName}`, totalSessions * 2, false) } + waitUntilSegmentUpload (options: OverrideCommandOptions & { + playlistNumber: number + segment: number + totalSessions?: number + }) { + const { playlistNumber, segment, totalSessions = 1 } = options + const segmentName = `${playlistNumber}-00000${segment}.ts` + + return this.server.servers.waitUntilLog(`${segmentName} in bucket `, totalSessions * 2, false) + } + async waitUntilReplacedByReplay (options: OverrideCommandOptions & { videoId: number | string }) { diff --git a/shared/server-commands/videos/streaming-playlists-command.ts b/shared/server-commands/videos/streaming-playlists-command.ts index 7f923d001..25e446e72 100644 --- a/shared/server-commands/videos/streaming-playlists-command.ts +++ b/shared/server-commands/videos/streaming-playlists-command.ts @@ -1,19 +1,39 @@ +import { wait } from '@shared/core-utils' import { HttpStatusCode } from '@shared/models' -import { unwrapBody, unwrapTextOrDecode, unwrapBodyOrDecodeToJSON } from '../requests' +import { unwrapBody, unwrapBodyOrDecodeToJSON, unwrapTextOrDecode } from '../requests' import { AbstractCommand, OverrideCommandOptions } from '../shared' export class StreamingPlaylistsCommand extends AbstractCommand { - get (options: OverrideCommandOptions & { + async get (options: OverrideCommandOptions & { url: string + withRetry?: boolean // default false + currentRetry?: number }) { - return unwrapTextOrDecode(this.getRawRequest({ - ...options, + const { withRetry, currentRetry = 1 } = options - url: options.url, - implicitToken: false, - defaultExpectedStatus: HttpStatusCode.OK_200 - })) + try { + const result = await unwrapTextOrDecode(this.getRawRequest({ + ...options, + + url: options.url, + implicitToken: false, + defaultExpectedStatus: HttpStatusCode.OK_200 + })) + + return result + } catch (err) { + if (!withRetry || currentRetry > 5) throw err + + await wait(100) + + return this.get({ + ...options, + + withRetry, + currentRetry: currentRetry + 1 + }) + } } getFragmentedSegment (options: OverrideCommandOptions & { -- cgit v1.2.3