N°9514 - End user device cannot be uninstalled (WIP)

This commit is contained in:
Eric Espie
2026-04-17 14:18:07 +02:00
parent f05d98aba8
commit d3dbe7b231
4 changed files with 17 additions and 9 deletions

View File

@@ -92,7 +92,7 @@ class DataFeatureRemovalController extends Controller
$oDryRemovalRuntimeEnvironment->CompileFrom($sSourceEnv);
$oSetupAudit = new SetupAudit($sSourceEnv);
$aGetRemovedClasses = $oSetupAudit->GetIssues();
$aGetRemovedClasses = $oSetupAudit->RunDataAudit();
IssueLog::Debug(__METHOD__, null, ['aGetRemovedClasses' => $aGetRemovedClasses]);
$this->aCountClassesToCleanup = $aGetRemovedClasses;
}

View File

@@ -51,7 +51,15 @@ abstract class AbstractSetupAudit
return $this->aRemovedClasses;
}
public function GetIssues(bool $bStopDataCheckAtFirstIssue = false): array
/**
* Generate issues when audit detects data to remove
*
* @param bool $bStopDataCheckAtFirstIssue
*
* @return array
* @throws \CoreException
*/
public function RunDataAudit(bool $bStopDataCheckAtFirstIssue = false): array
{
$this->aFinalClassesToCleanup = [];
@@ -64,7 +72,7 @@ abstract class AbstractSetupAudit
$iCount = $this->Count($sClass);
$this->aFinalClassesToCleanup[$sClass] = $iCount;
if ($bStopDataCheckAtFirstIssue && $iCount > 0) {
//setup envt: should raise issue ASAP
//setup env: should raise issue ASAP
$this->LogInfoWithProperLogger("Setup audit found data to cleanup", null, $this->aFinalClassesToCleanup);
return $this->aFinalClassesToCleanup;
}

View File

@@ -1329,9 +1329,9 @@ class RunTimeEnvironment
$oSetupAudit = new SetupAudit(ITOP_DEFAULT_ENV, $this->sBuildEnv);
//Make sure the MetaModel is started before analysing for issues
$sConfFile = utils::GetConfigFilePath($this->sBuildEnv);
MetaModel::Startup($sConfFile, false, false, false, $this->sBuildEnv);
$oSetupAudit->GetIssues(true);
$sConfFile = utils::GetConfigFilePath(ITOP_DEFAULT_ENV);
MetaModel::Startup($sConfFile, false, false); // Start on production environment
$oSetupAudit->RunDataAudit(true);
$iCount = $oSetupAudit->GetDataToCleanupCount();
if ($iCount > 0) {

View File

@@ -66,7 +66,7 @@ class SetupAuditTest extends ItopCustomDatamodelTestCase
$expected = [
"FinalClassFeature2Module1MyFinalClassFromLocation" => 0,
];
$this->assertEqualsCanonicalizing($expected, $oSetupAudit->GetIssues());
$this->assertEqualsCanonicalizing($expected, $oSetupAudit->RunDataAudit());
}
public function testGetRemovedClassesFromSetupWizard()
@@ -103,7 +103,7 @@ class SetupAuditTest extends ItopCustomDatamodelTestCase
"FinalClassFeature1Module1MyFinalClassFromLocation" => 1,
"FinalClassFeature2Module1MyFinalClassFromLocation" => 0,
];
$this->assertEqualsCanonicalizing($expected, $oSetupAudit->GetIssues());
$this->assertEqualsCanonicalizing($expected, $oSetupAudit->RunDataAudit());
}
public function testAuditExtensionsCleanupRulesFailASAP()
@@ -128,6 +128,6 @@ class SetupAuditTest extends ItopCustomDatamodelTestCase
$expected = [
"FinalClassFeature1Module1MyFinalClassFromLocation" => 1,
];
$this->assertEqualsCanonicalizing($expected, $oSetupAudit->GetIssues(true));
$this->assertEqualsCanonicalizing($expected, $oSetupAudit->RunDataAudit(true));
}
}