mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-05-07 07:33:13 -04:00
test(api): wait for web-office readiness by checking discovery endpoint (#2217)
* test: add date-time in the request-response log Signed-off-by: Saw-jan <saw.jan.grg3e@gmail.com> * ci: check discovery urls Signed-off-by: Saw-jan <saw.jan.grg3e@gmail.com> --------- Signed-off-by: Saw-jan <saw.jan.grg3e@gmail.com>
This commit is contained in:
@@ -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,
|
||||
},
|
||||
]
|
||||
|
||||
@@ -77,7 +77,7 @@ class HttpLogger {
|
||||
}
|
||||
|
||||
$logMessage = "\t\t_______________________________________________________________________\n\n";
|
||||
$logMessage .= "\t\t==> REQUEST\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\n";
|
||||
$logMessage = "\t\t<== RESPONSE [" . self::getCurrentDateTime() . "]\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 getCurrentDateTime(): string {
|
||||
return date('Y-m-d\TG:i:s');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user