ci: fix broken test due to POST CURL file not sent

This commit is contained in:
odain
2025-12-19 18:35:42 +01:00
parent 49a7f3118d
commit 4dba47798c
2 changed files with 17 additions and 2 deletions

View File

@@ -14,6 +14,7 @@ use ReflectionMethod;
use SetupUtils;
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
use Symfony\Component\HttpKernel\KernelInterface;
use const DEBUG_BACKTRACE_IGNORE_ARGS;
/**
@@ -662,7 +663,11 @@ abstract class ItopTestCase extends KernelTestCase
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt_array($ch, $aCurlOptions);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($aPostFields));
if ($this->IsArrayOfArray($aPostFields)) {
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($aPostFields));
} else {
curl_setopt($ch, CURLOPT_POSTFIELDS, $aPostFields);
}
$sOutput = curl_exec($ch);
@@ -677,6 +682,17 @@ abstract class ItopTestCase extends KernelTestCase
return $sOutput;
}
private function IsArrayOfArray(array $aStruct): bool
{
foreach ($aStruct as $k => $v) {
if (is_array($v)) {
return true;
}
}
return false;
}
protected function CallItopUri(string $sUri, ?array $aPostFields = [], ?array $aCurlOptions = [], $bXDebugEnabled = false): string
{
$sUrl = \MetaModel::GetConfig()->Get('app_root_url')."/$sUri";

View File

@@ -94,7 +94,6 @@ class RestTest extends ItopDataTestCase
public function testPostJSONDataAsCurlFile()
{
$sCallbackName = 'fooCallback';
$sJsonData = '{"operation": "list_operations"}';
// Test regular JSON result