DBBackupDataTest::testPrepareFilesToBackup : fix cleanup not done on failing test

This commit is contained in:
Pierre Goiffon
2023-08-11 15:19:48 +02:00
parent e5716e66bb
commit a24d50d7e3

View File

@@ -32,35 +32,33 @@ class DBBackupDataTest extends ItopDataTestCase
file_put_contents(APPROOT.'/'.$sExtraFile, 'Hello World!');
}
}
if ($bUnsafeFileException)
{
$this->expectExceptionMessage("Backup: Aborting, resource '$sExtraFile'. Considered as UNSAFE because not inside the iTop directory.");
}
$aFiles = $this->InvokeNonPublicMethod('DBBackup', 'PrepareFilesToBackup', $oBackup, [APPROOT.'/conf/production/config-itop.php', $sTmpDir, true]);
SetupUtils::rrmdir($sTmpDir);
$aExpectedFiles = [
$sTmpDir.'/config-itop.php',
];
foreach($aExtraFiles as $sRelFile => $bExists)
{
if ($bExists)
{
$aExpectedFiles[] = $sTmpDir.'/'.$sRelFile;
try {
if ($bUnsafeFileException) {
$this->expectExceptionMessage("Backup: Aborting, resource '$sExtraFile'. Considered as UNSAFE because not inside the iTop directory.");
}
$aFiles = $this->InvokeNonPublicMethod('DBBackup', 'PrepareFilesToBackup', $oBackup, [APPROOT . '/conf/production/config-itop.php', $sTmpDir, true]);
SetupUtils::rrmdir($sTmpDir);
$aExpectedFiles = [
$sTmpDir . '/config-itop.php',
];
foreach ($aExtraFiles as $sRelFile => $bExists) {
if ($bExists) {
$aExpectedFiles[] = $sTmpDir . '/' . $sRelFile;
}
}
} finally {
// Cleanup
foreach ($aExtraFiles as $sExtraFile => $bExists) {
if ($bExists) {
unlink(APPROOT . '/' . $sExtraFile);
}
}
}
sort($aFiles);
sort($aExpectedFiles);
$this->assertEquals($aFiles, $aExpectedFiles);
// Cleanup
foreach($aExtraFiles as $sExtraFile => $bExists)
{
if ($bExists)
{
unlink(APPROOT.'/'.$sExtraFile);
}
}
}
function prepareFilesToBackupProvider()