N°9144 Add data audit setup step

N°8864 Fix unneeded char
This commit is contained in:
Timmy38
2026-02-19 14:27:24 +01:00
committed by GitHub
parent 5b58e40fc9
commit c4d7c89553
40 changed files with 5110 additions and 4086 deletions

View File

@@ -0,0 +1,60 @@
<?php
class ApplicationInstallSequencerFake extends ApplicationInstallSequencer
{
public function __construct(Parameters $oParams)
{
$this->oParams = $oParams;
}
protected function DoLogParameters($sPrefix = 'install-', $sOperation = '')
{
}
protected function DoCopy($aCopies)
{
}
protected function DoBackup($sBackupFileFormat, $sSourceConfigFile, $sMySQLBinDir = null)
{
}
protected function DoCompile($aRemovedExtensionCodes, $aSelectedModules, $sSourceDir, $sExtensionDir, $bUseSymbolicLinks = null)
{
}
protected function DoUpdateDBSchema($aSelectedModules)
{
}
protected function AfterDBCreate(
$aAdminParams,
$aSelectedModules
) {
}
protected function DoLoadFiles(
$aSelectedModules,
$bSampleData = false
) {
}
protected function DoCreateConfig(
$sPreviousConfigFile,
$sDataModelVersion,
$aSelectedModuleCodes,
$aSelectedExtensionCodes,
$sInstallComment = null
) {
}
protected function EnterReadOnlyMode()
{
}
protected function ExitReadOnlyMode()
{
}
}

View File

@@ -0,0 +1,65 @@
<?php
class DataAuditSequencerFake extends DataAuditSequencer
{
public function __construct(Parameters $oParams)
{
$this->oParams = $oParams;
}
protected function DoCopy($aCopies)
{
}
protected function DoBackup($sBackupFileFormat, $sSourceConfigFile, $sMySQLBinDir = null)
{
}
protected function DoCompile($aRemovedExtensionCodes, $aSelectedModules, $sSourceDir, $sExtensionDir, $bUseSymbolicLinks = null)
{
}
protected function DoUpdateDBSchema($aSelectedModules)
{
}
protected function AfterDBCreate(
$aAdminParams,
$aSelectedModules
) {
}
protected function DoLoadFiles(
$aSelectedModules,
$bSampleData = false
) {
}
protected function DoCreateConfig(
$sPreviousConfigFile,
$sDataModelVersion,
$aSelectedModuleCodes,
$aSelectedExtensionCodes,
$sInstallComment = null
) {
}
protected function DoSetupAudit()
{
}
protected function DoCleanup()
{
}
protected function EnterReadOnlyMode()
{
}
protected function ExitReadOnlyMode()
{
}
}

View File

@@ -0,0 +1,75 @@
<?php
namespace Combodo\iTop\Test\UnitTest\Setup;
use ApplicationInstallSequencerFake;
use DataAuditSequencerFake;
use PHPParameters;
use Combodo\iTop\Test\UnitTest\ItopTestCase;
use SetupUtils;
class StepSequencerTest extends ItopTestCase
{
protected function setUp(): void
{
static::LoadRequiredItopFiles();
parent::setUp();
$this->RequireOnceItopFile('/setup/sequencers/ApplicationInstallSequencer.php');
$this->RequireOnceItopFile('/setup/sequencers/DataAuditSequencer.php');
$this->RequireOnceItopFile('/setup/parameters.class.inc.php');
$this->RequireOnceItopFile('/setup/setuputils.class.inc.php');
require_once __DIR__.'/ApplicationInstallSequencerFake.php';
require_once __DIR__.'/DataAuditSequencerFake.php';
}
public function testApplicationInstallSequencer()
{
$oParams = new PHPParameters();
$oParams->LoadFromHash([]);
$oInstallSequencer = new ApplicationInstallSequencerFake($oParams);
$oInstallSequencer->ExecuteAllSteps();
$aStepSequence = [
'',
'copy',
'compile',
'db-schema',
'after-db-create',
'load-data',
'create-config',
];
$this->AssertStepsHistoryIs($aStepSequence, $oInstallSequencer);
}
public function testDataAuditSequencer()
{
$oParams = new PHPParameters();
$oParams->LoadFromHash([]);
$oInstallSequencer = new DataAuditSequencerFake($oParams);
$oInstallSequencer->ExecuteAllSteps();
$aStepSequence = [
'',
'compile',
'write-config',
'setup-audit',
'cleanup',
];
$this->AssertStepsHistoryIs($aStepSequence, $oInstallSequencer);
}
protected function AssertStepsHistoryIs($aExpectedStepSequence, $oSequencer)
{
$aHistory = $oSequencer->GetHistory();
$aStepSequence = [];
foreach ($aHistory as $aStep) {
$aStepSequence[] = $aStep['step'];
}
$this->assertEquals($aExpectedStepSequence, $aStepSequence, 'The step sequence should be '.implode(',', $aExpectedStepSequence));
}
}