N°4714 utils version method refactoring

- removes utils::GetItopPatchVersion and GetItopMinorVersion : unused and badly named :/
- GetItopVersionWikiSyntax now uses core version constant
- iTopModulesPhpVersionIntegrationTest::testiTopModulesPhpVersion now uses ITOP_CORE_VERSION constant
This commit is contained in:
Pierre Goiffon
2022-02-01 15:03:06 +01:00
parent e14845728c
commit 17612f88d3
3 changed files with 13 additions and 31 deletions

View File

@@ -2247,38 +2247,18 @@ class utils
/** /**
* @return string eg : '2_7_0' iTop core version is '2.7.1-dev' * @return string eg : '2_7_0' iTop core version is '2.7.1-dev'
* @throws \ApplicationException if constant value is invalid
* @uses ITOP_CORE_VERSION
*/ */
public static function GetItopVersionWikiSyntax() public static function GetItopVersionWikiSyntax()
{ {
$sMinorVersion = self::GetItopMinorVersion(); $aExplodedVersion = explode('.', ITOP_CORE_VERSION);
return str_replace('.', '_', $sMinorVersion).'_0';
}
/** if (empty($aExplodedVersion[0]) || empty($aExplodedVersion[1])) {
* @return string eg 2.7 if iTop core version is '2.7.0-dev' throw new ApplicationException('iTop version is wrongfully configured!');
* @throws \Exception
*/
public static function GetItopMinorVersion()
{
$sPatchVersion = self::GetItopPatchVersion();
$aExplodedVersion = explode('.', $sPatchVersion);
if (empty($aExplodedVersion[0]) || empty($aExplodedVersion[1]))
{
throw new Exception('iTop version is wrongfully configured!');
} }
return sprintf('%d.%d', $aExplodedVersion[0], $aExplodedVersion[1]); return "{$aExplodedVersion[0]}_{$aExplodedVersion[1]}_0";
}
/**
* @return string eg '2.7.0' if iTop core version is '2.7.0-dev'
* @uses ITOP_CORE_VERSION
*/
public static function GetItopPatchVersion()
{
$aExplodedVersion = explode('-', ITOP_CORE_VERSION);
return $aExplodedVersion[0];
} }
/** /**

View File

@@ -11,7 +11,8 @@ define('APPCONF', APPROOT.'conf/');
* When releasing, both constants should be updated : see `.make/release/update-versions.php` for that ! * When releasing, both constants should be updated : see `.make/release/update-versions.php` for that !
* *
* @since 2.7.7 3.0.1 3.1.0 N°4714 constant creation * @since 2.7.7 3.0.1 3.1.0 N°4714 constant creation
* @used-by utils::GetItopPatchVersion * @used-by utils::GetItopVersionWikiSyntax()
* @used-by iTopModulesPhpVersionIntegrationTest
*/ */
define('ITOP_CORE_VERSION', '2.7.7'); define('ITOP_CORE_VERSION', '2.7.7');

View File

@@ -35,6 +35,8 @@ class iTopModulesPhpVersionIntegrationTest extends ItopTestCase
* @group skipPostBuild * @group skipPostBuild
* *
* @dataProvider iTopModulesPhpVersionProvider * @dataProvider iTopModulesPhpVersionProvider
*
* @since 2.7.7 3.0.1 3.1.0 N°4714 uses new {@link ITOP_CORE_VERSION} constant
*/ */
public function testiTopModulesPhpVersion($sExpectedVersion, $sPhpFile) public function testiTopModulesPhpVersion($sExpectedVersion, $sPhpFile)
{ {
@@ -51,9 +53,8 @@ class iTopModulesPhpVersionIntegrationTest extends ItopTestCase
$matches $matches
); );
$this->assertRegExp("#$sExpectedVersion#", $matches[1], $this->assertSame($sExpectedVersion, $matches[1],
" $sPhpFile:2 file refer does not refer to current itop version ($sModuleName/$matches[1] does not match regexp $sModuleName/$sExpectedVersion)"); 'Module desc file does not contain the same version as the core: '.$sPhpFile);
} }
public function iTopModulesPhpVersionProvider() public function iTopModulesPhpVersionProvider()
@@ -74,7 +75,7 @@ class iTopModulesPhpVersionIntegrationTest extends ItopTestCase
$sPath = $DatamodelsPath.'/*/module.*.php'; $sPath = $DatamodelsPath.'/*/module.*.php';
$aPhpFiles = glob($sPath); $aPhpFiles = glob($sPath);
$sExpectedVersion = \utils::GetItopMinorVersion().'\.\d+'; // ie: 2.7\.\d+ (and yes, the 1st dot should be escaped, but, hey, it is good enough as it, ans less complex to read) $sExpectedVersion = ITOP_CORE_VERSION;
$aTestCases = array(); $aTestCases = array();
foreach ($aPhpFiles as $sPhpFile) { foreach ($aPhpFiles as $sPhpFile) {