From a3f9ebdce8d5e86b75c86c1b2ae780d67b9e5dd0 Mon Sep 17 00:00:00 2001 From: Saw-jan Date: Mon, 26 Jan 2026 17:10:21 +0545 Subject: [PATCH 1/2] test: add date-time in the request-response log Signed-off-by: Saw-jan --- tests/acceptance/TestHelpers/HttpLogger.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/tests/acceptance/TestHelpers/HttpLogger.php b/tests/acceptance/TestHelpers/HttpLogger.php index 1569205869..d63f5fed08 100644 --- a/tests/acceptance/TestHelpers/HttpLogger.php +++ b/tests/acceptance/TestHelpers/HttpLogger.php @@ -77,7 +77,7 @@ class HttpLogger { } $logMessage = "\t\t_______________________________________________________________________\n\n"; - $logMessage .= "\t\t==> REQUEST\n"; + $logMessage .= "\t\t==> REQUEST [" . self::getDateTime() . "]\n"; $logMessage .= "\t\t$method $path\n"; $logMessage .= $query ? "\t\tQUERY: $query\n" : ""; $logMessage .= "\t\t$headers"; @@ -105,7 +105,7 @@ class HttpLogger { $headers = $key . ": " . $value[0] . "\n"; } - $logMessage = "\t\t<== RESPONSE\n"; + $logMessage = "\t\t<== RESPONSE [" . self::getDateTime() . "]\n"; $logMessage .= "\t\t$statusCode $statusMessage\n"; $logMessage .= "\t\t$headers"; @@ -121,4 +121,13 @@ class HttpLogger { $logMessage = \rtrim($logMessage) . "\n\n"; self::writeLog(self::getScenarioLogPath(), $logMessage); } + + /** + * Returns current date and time in format: 1999-01-31T23:01:59 + * + * @return string + */ + public static function getDateTime(): string { + return date('Y-m-d\TG:i:s'); + } } From 0570f2ecea02c53edcb1a9a947dc4280a09713ad Mon Sep 17 00:00:00 2001 From: Saw-jan Date: Mon, 26 Jan 2026 18:09:40 +0545 Subject: [PATCH 2/2] ci: check discovery urls Signed-off-by: Saw-jan --- .woodpecker.star | 22 ++++++++++++++++++++- tests/acceptance/TestHelpers/HttpLogger.php | 6 +++--- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/.woodpecker.star b/.woodpecker.star index 3d34d29ff7..8b70e0c2f6 100644 --- a/.woodpecker.star +++ b/.woodpecker.star @@ -1263,7 +1263,7 @@ def localApiTestPipeline(ctx): "name": pipeline_name, "steps": evaluateWorkflowStep() + restoreBuildArtifactCache(ctx, dirs["opencloudBinArtifact"], dirs["opencloudBinPath"]) + (tikaService() if params["tikaNeeded"] else []) + - (waitForServices("online-offices", ["collabora:9980", "onlyoffice:443", "fakeoffice:8080"]) if params["collaborationServiceNeeded"] else []) + + (waitForWebOffices(["https://collabora:9980", "https://onlyoffice", "http://fakeoffice:8080"]) if params["collaborationServiceNeeded"] else []) + (waitForClamavService() if params["antivirusNeeded"] else []) + (waitForEmailService() if params["emailNeeded"] else []) + (ldapService() if params["ldapNeeded"] else []) + @@ -3471,3 +3471,23 @@ def onlyofficeService(): ], }, ] + +def waitForWebOffices(services = []): + commands = [] + if not services: + return [] + + for service in services: + commands.append( + "timeout 300 bash -c " + + "'while [ `curl %s/hosting/discovery" % service + + " -w \"%{http_code}\" -o /dev/null -sk` != \"200\" ]; do " + + "echo \"Waiting...\" && sleep 2; done'", + ) + return [ + { + "name": "wait-for-weboffices", + "image": OC_CI_ALPINE, + "commands": commands, + }, + ] diff --git a/tests/acceptance/TestHelpers/HttpLogger.php b/tests/acceptance/TestHelpers/HttpLogger.php index d63f5fed08..ec3728d219 100644 --- a/tests/acceptance/TestHelpers/HttpLogger.php +++ b/tests/acceptance/TestHelpers/HttpLogger.php @@ -77,7 +77,7 @@ class HttpLogger { } $logMessage = "\t\t_______________________________________________________________________\n\n"; - $logMessage .= "\t\t==> REQUEST [" . self::getDateTime() . "]\n"; + $logMessage .= "\t\t==> REQUEST [" . self::getCurrentDateTime() . "]\n"; $logMessage .= "\t\t$method $path\n"; $logMessage .= $query ? "\t\tQUERY: $query\n" : ""; $logMessage .= "\t\t$headers"; @@ -105,7 +105,7 @@ class HttpLogger { $headers = $key . ": " . $value[0] . "\n"; } - $logMessage = "\t\t<== RESPONSE [" . self::getDateTime() . "]\n"; + $logMessage = "\t\t<== RESPONSE [" . self::getCurrentDateTime() . "]\n"; $logMessage .= "\t\t$statusCode $statusMessage\n"; $logMessage .= "\t\t$headers"; @@ -127,7 +127,7 @@ class HttpLogger { * * @return string */ - public static function getDateTime(): string { + public static function getCurrentDateTime(): string { return date('Y-m-d\TG:i:s'); } }