mirror of
https://github.com/Combodo/iTop.git
synced 2026-05-22 00:32:16 +02:00
N°4789 - PR review changes with Romain
This commit is contained in:
@@ -3,17 +3,16 @@
|
||||
namespace Combodo\iTop\Test\UnitTest\Setup\ModuleDiscovery;
|
||||
|
||||
use Combodo\iTop\Test\UnitTest\ItopDataTestCase;
|
||||
use ModuleDiscoveryEvaluationService;
|
||||
use ModuleDiscoveryService;
|
||||
use ModuleFileParser;
|
||||
use ModuleFileReader;
|
||||
use PhpParser\ParserFactory;
|
||||
|
||||
class ModuleDiscoveryEvaluationServiceTest extends ItopDataTestCase
|
||||
class ModuleFileParserTest extends ItopDataTestCase
|
||||
{
|
||||
private string $sTempModuleFilePath;
|
||||
protected function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
$this->RequireOnceItopFile('setup/modulediscovery/ModuleDiscoveryService.php');
|
||||
$this->RequireOnceItopFile('setup/modulediscovery/ModuleFileReader.php');
|
||||
}
|
||||
|
||||
public static function EvaluateBooleanExpressionProvider()
|
||||
@@ -32,13 +31,13 @@ class ModuleDiscoveryEvaluationServiceTest extends ItopDataTestCase
|
||||
* @dataProvider EvaluateBooleanExpressionProvider
|
||||
*/
|
||||
public function testEvaluateBooleanExpression(string $sBooleanExpression, bool $expected){
|
||||
$this->assertEquals($expected, ModuleDiscoveryEvaluationService::GetInstance()->EvaluateBooleanExpression($sBooleanExpression), $sBooleanExpression);
|
||||
$this->assertEquals($expected, ModuleFileParser::GetInstance()->EvaluateBooleanExpression($sBooleanExpression), $sBooleanExpression);
|
||||
}
|
||||
|
||||
public function testEvaluateBooleanExpression_BrokenBooleanExpression(){
|
||||
$this->expectException(\ModuleDiscoveryServiceException::class);
|
||||
$this->expectException(\ModuleFileReaderException::class);
|
||||
$this->expectExceptionMessage('Eval of \'(a || true)\' caused an error');
|
||||
$this->assertTrue(ModuleDiscoveryEvaluationService::GetInstance()->EvaluateBooleanExpression("(a || true)"));
|
||||
$this->assertTrue(ModuleFileParser::GetInstance()->EvaluateBooleanExpression("(a || true)"));
|
||||
}
|
||||
|
||||
|
||||
@@ -75,7 +74,7 @@ class ModuleDiscoveryEvaluationServiceTest extends ItopDataTestCase
|
||||
*/
|
||||
public function testEvaluateBooleanExpression_Autoselect(string $sBooleanExpression, bool $expected){
|
||||
\SetupInfo::SetSelectedModules(["itop-storage-mgmt" => "123"]);
|
||||
$this->assertEquals($expected, ModuleDiscoveryEvaluationService::GetInstance()->EvaluateBooleanExpression($sBooleanExpression), $sBooleanExpression);
|
||||
$this->assertEquals($expected, ModuleFileParser::GetInstance()->EvaluateBooleanExpression($sBooleanExpression), $sBooleanExpression);
|
||||
}
|
||||
|
||||
public function testEvaluateConstantExpression()
|
||||
@@ -84,10 +83,10 @@ class ModuleDiscoveryEvaluationServiceTest extends ItopDataTestCase
|
||||
<?php
|
||||
APPROOT;
|
||||
PHP;
|
||||
$aNodes = ModuleDiscoveryEvaluationService::GetInstance()->ParsePhpCode($sPHP);
|
||||
$aNodes = ModuleFileParser::GetInstance()->ParsePhpCode($sPHP);
|
||||
/** @var \PhpParser\Node\Expr $oExpr */
|
||||
$oExpr = $aNodes[0];
|
||||
$val = $this->InvokeNonPublicMethod(ModuleDiscoveryEvaluationService::class, "EvaluateConstantExpression", ModuleDiscoveryEvaluationService::GetInstance(), [$oExpr->expr]);
|
||||
$val = $this->InvokeNonPublicMethod(ModuleFileParser::class, "EvaluateConstantExpression", ModuleFileParser::GetInstance(), [$oExpr->expr]);
|
||||
$this->assertEquals(APPROOT, $val);
|
||||
}
|
||||
|
||||
@@ -190,10 +189,10 @@ PHP;
|
||||
*/
|
||||
public function testEvaluateExpression($sPHP, $bExpected)
|
||||
{
|
||||
$aNodes = ModuleDiscoveryEvaluationService::GetInstance()->ParsePhpCode($sPHP);
|
||||
$aNodes = ModuleFileParser::GetInstance()->ParsePhpCode($sPHP);
|
||||
/** @var \PhpParser\Node\Expr $oExpr */
|
||||
$oExpr = $aNodes[0];
|
||||
$val = $this->InvokeNonPublicMethod(ModuleDiscoveryEvaluationService::class, "EvaluateExpression", ModuleDiscoveryEvaluationService::GetInstance(), [$oExpr->cond]);
|
||||
$val = $this->InvokeNonPublicMethod(ModuleFileParser::class, "EvaluateExpression", ModuleFileParser::GetInstance(), [$oExpr->cond]);
|
||||
$this->assertEquals($bExpected, $val);
|
||||
}
|
||||
}
|
||||
@@ -3,22 +3,22 @@
|
||||
namespace Combodo\iTop\Test\UnitTest\Setup\ModuleDiscovery;
|
||||
|
||||
use Combodo\iTop\Test\UnitTest\ItopDataTestCase;
|
||||
use ModuleDiscoveryService;
|
||||
use ModuleFileReader;
|
||||
use PhpParser\ParserFactory;
|
||||
|
||||
class ModuleDiscoveryServiceTest extends ItopDataTestCase
|
||||
class ModuleFileReaderTest extends ItopDataTestCase
|
||||
{
|
||||
private string $sTempModuleFilePath;
|
||||
protected function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
$this->RequireOnceItopFile('setup/modulediscovery/ModuleDiscoveryService.php');
|
||||
$this->RequireOnceItopFile('setup/modulediscovery/ModuleFileReader.php');
|
||||
}
|
||||
|
||||
public function testReadModuleFileConfigurationLegacy()
|
||||
{
|
||||
$sModuleFilePath = __DIR__.'/resources/module.itop-full-itil.php';
|
||||
$aRes = ModuleDiscoveryService::GetInstance()->ReadModuleFileConfiguration($sModuleFilePath);
|
||||
$aRes = ModuleFileReader::GetInstance()->ReadModuleFileConfiguration($sModuleFilePath);
|
||||
|
||||
$this->assertCount(3, $aRes);
|
||||
$this->assertEquals($sModuleFilePath, $aRes[0]);
|
||||
@@ -31,8 +31,8 @@ class ModuleDiscoveryServiceTest extends ItopDataTestCase
|
||||
/*public function testAllReadModuleFileConfiguration()
|
||||
{
|
||||
foreach (glob(__DIR__.'/resources/all/module.*.php') as $sModuleFilePath){
|
||||
$aRes = ModuleDiscoveryService::GetInstance()->ReadModuleFileConfiguration($sModuleFilePath);
|
||||
$aExpected = ModuleDiscoveryService::GetInstance()->ReadModuleFileConfigurationLegacy($sModuleFilePath);
|
||||
$aRes = ModuleFileReader::GetInstance()->ReadModuleFileConfiguration($sModuleFilePath);
|
||||
$aExpected = ModuleFileReader::GetInstance()->ReadModuleFileConfigurationLegacy($sModuleFilePath);
|
||||
|
||||
$this->assertEquals($aExpected, $aRes);
|
||||
|
||||
@@ -46,8 +46,8 @@ class ModuleDiscoveryServiceTest extends ItopDataTestCase
|
||||
public function testReadModuleFileConfiguration()
|
||||
{
|
||||
$sModuleFilePath = __DIR__.'/resources/module.itop-full-itil.php';
|
||||
$aRes = ModuleDiscoveryService::GetInstance()->ReadModuleFileConfiguration($sModuleFilePath);
|
||||
$aExpected = ModuleDiscoveryService::GetInstance()->ReadModuleFileConfigurationLegacy($sModuleFilePath);
|
||||
$aRes = ModuleFileReader::GetInstance()->ReadModuleFileConfiguration($sModuleFilePath);
|
||||
$aExpected = ModuleFileReader::GetInstance()->ReadModuleFileConfigurationUnsafe($sModuleFilePath);
|
||||
|
||||
$this->assertEquals($aExpected, $aRes);
|
||||
}
|
||||
@@ -55,8 +55,8 @@ class ModuleDiscoveryServiceTest extends ItopDataTestCase
|
||||
public function testReadModuleFileConfigurationWithConstants()
|
||||
{
|
||||
$sModuleFilePath = __DIR__.'/resources/module.authent-ldap.php';
|
||||
$aRes = ModuleDiscoveryService::GetInstance()->ReadModuleFileConfiguration($sModuleFilePath);
|
||||
$aExpected = ModuleDiscoveryService::GetInstance()->ReadModuleFileConfigurationLegacy($sModuleFilePath);
|
||||
$aRes = ModuleFileReader::GetInstance()->ReadModuleFileConfiguration($sModuleFilePath);
|
||||
$aExpected = ModuleFileReader::GetInstance()->ReadModuleFileConfigurationUnsafe($sModuleFilePath);
|
||||
|
||||
$this->assertEquals($aExpected, $aRes);
|
||||
}
|
||||
@@ -65,10 +65,10 @@ class ModuleDiscoveryServiceTest extends ItopDataTestCase
|
||||
{
|
||||
$sModuleFilePath = __DIR__.'/resources/module.__MODULE__.php';
|
||||
|
||||
$this->expectException(\ModuleDiscoveryServiceException::class);
|
||||
$this->expectException(\ModuleFileReaderException::class);
|
||||
$this->expectExceptionMessage("Syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ']' or ')' on line 31");
|
||||
|
||||
ModuleDiscoveryService::GetInstance()->ReadModuleFileConfiguration($sModuleFilePath);
|
||||
ModuleFileReader::GetInstance()->ReadModuleFileConfiguration($sModuleFilePath);
|
||||
}
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@ class ModuleDiscoveryServiceTest extends ItopDataTestCase
|
||||
$this->sTempModuleFilePath = tempnam(__DIR__, "test");
|
||||
file_put_contents($this->sTempModuleFilePath, $sPHpCode);
|
||||
try {
|
||||
return ModuleDiscoveryService::GetInstance()->ReadModuleFileConfiguration($this->sTempModuleFilePath);
|
||||
return ModuleFileReader::GetInstance()->ReadModuleFileConfiguration($this->sTempModuleFilePath);
|
||||
}
|
||||
finally {
|
||||
@unlink($this->sTempModuleFilePath);
|
||||
@@ -202,7 +202,7 @@ PHP;
|
||||
$this->assertEquals([$this->sTempModuleFilePath, "elseif2", ["c" => "d", 'module_file_path' => $this->sTempModuleFilePath]], $val);
|
||||
}
|
||||
|
||||
public function testCallDeclaredInstaller()
|
||||
public function testGetAndCheckModuleInstallerClass()
|
||||
{
|
||||
$sModuleInstallerClass = "TicketsInstaller" . uniqid();
|
||||
$sPHpCode = file_get_contents(__DIR__.'/resources/module.itop-tickets.php');
|
||||
@@ -213,10 +213,10 @@ PHP;
|
||||
|
||||
try {
|
||||
$this->assertFalse(class_exists($sModuleInstallerClass));
|
||||
$aModuleInfo = ModuleDiscoveryService::GetInstance()->ReadModuleFileConfiguration($this->sTempModuleFilePath);
|
||||
$aModuleInfo = ModuleFileReader::GetInstance()->ReadModuleFileConfiguration($this->sTempModuleFilePath);
|
||||
$this->assertFalse(class_exists($sModuleInstallerClass));
|
||||
|
||||
ModuleDiscoveryService::GetInstance()->CallInstallerBeforeWritingConfigMethod(\MetaModel::GetConfig(), $aModuleInfo[2]);
|
||||
$this->assertEquals($sModuleInstallerClass, ModuleFileReader::GetInstance()->GetAndCheckModuleInstallerClass($aModuleInfo[2]));
|
||||
}
|
||||
finally {
|
||||
@unlink($this->sTempModuleFilePath);
|
||||
Reference in New Issue
Block a user