From bc2d4c52a1da650ab1b69c7370d41d399afc1db5 Mon Sep 17 00:00:00 2001 From: Thierry Bugier Date: Wed, 3 Jun 2026 09:31:30 +0200 Subject: [PATCH 1/3] feat(DataSource\Lca\Boavistappi\Config): change URL override method use a regular constant instead of en environment variable, forced and fixed URL is now settable in downstream.php cleanup related dead code on Config class --- src/Config.php | 8 ----- src/DataSource/Lca/Boaviztapi/Config.php | 8 ++--- tests/units/ConfigTest.php | 15 ---------- .../DataSource/Lca/Boaviztapi/ConfigTest.php | 30 +++++++++++++++---- 4 files changed, 28 insertions(+), 33 deletions(-) diff --git a/src/Config.php b/src/Config.php index b930a764..e315e601 100644 --- a/src/Config.php +++ b/src/Config.php @@ -119,7 +119,6 @@ public function showForm($ID, $options = []) $current_config = array_diff_key($current_config, array_flip($secured_config)); - $hide_boaviztapi_base_url = (getenv(self::ENV_BOAVIZTAPI_BASE_URL) !== false); $renderer = TemplateRenderer::getInstance(); $environment = $renderer->getEnvironment(); if (!$environment->hasExtension(StringLoaderExtension::class)) { @@ -130,7 +129,6 @@ public function showForm($ID, $options = []) 'current_config' => $current_config, 'impact_engines' => Engine::getAvailableBackends(), 'include_configs' => $include_configs, - 'hide_boaviztapi_base_url' => $hide_boaviztapi_base_url, 'action' => (isset($options['plugin_config']) ? Config::getFormURL() : GlpiConfig::getFormURL()), ]); @@ -267,12 +265,6 @@ public static function getGeocoder(): Geocoder */ public static function getPluginConfigurationValue(string $name): ?string { - if ($name === 'boaviztapi_base_url') { - $value = getenv(self::ENV_BOAVIZTAPI_BASE_URL); - if ($value !== false) { - return $value; - } - } return GlpiConfig::getConfigurationValue(self::CONFIG_CONTEXT, $name); } diff --git a/src/DataSource/Lca/Boaviztapi/Config.php b/src/DataSource/Lca/Boaviztapi/Config.php index f988e245..adf4190f 100644 --- a/src/DataSource/Lca/Boaviztapi/Config.php +++ b/src/DataSource/Lca/Boaviztapi/Config.php @@ -52,7 +52,7 @@ public static function getSecuredConfigs(): array #[Override] public function getConfigTemplate(): string { - $hide_boaviztapi_base_url = (getenv(self::ENV_BOAVIZTAPI_BASE_URL) !== false); + $hide_boaviztapi_base_url = defined(self::ENV_BOAVIZTAPI_BASE_URL) && constant(self::ENV_BOAVIZTAPI_BASE_URL) !== null; $commercial_url = 'https://boavizta.org/'; $twig = <<assertEquals('bar', $result); - - // Test an overridable configuration value, not overriden - GlpiConfig::setConfigurationValues('plugin:carbon', [ - 'boaviztapi_base_url' => 'bar', - ]); - $result = Config::getPluginConfigurationValue('boaviztapi_base_url'); - $this->assertEquals('bar', $result); - - // Test an overridable configuration value, overriden by an env var - GlpiConfig::setConfigurationValues('plugin:carbon', [ - 'boaviztapi_base_url' => 'baz', - ]); - putenv(Config::ENV_BOAVIZTAPI_BASE_URL . '=bar'); - $result = Config::getPluginConfigurationValue('boaviztapi_base_url'); - $this->assertEquals('bar', $result); } public function testSetPluginConfigurationValues() diff --git a/tests/units/DataSource/Lca/Boaviztapi/ConfigTest.php b/tests/units/DataSource/Lca/Boaviztapi/ConfigTest.php index e16728d0..7f5249e1 100644 --- a/tests/units/DataSource/Lca/Boaviztapi/ConfigTest.php +++ b/tests/units/DataSource/Lca/Boaviztapi/ConfigTest.php @@ -50,7 +50,7 @@ public function testGetSecuredConfig() $this->assertSame($expected, $result); } - public function testGetconfigTemplate() + public function test_getConfigTemplate_returns_full_template_when_boaviztapi_url_is_not_set_by_a_constant() { $context = [ 'current_config' => [ @@ -60,7 +60,7 @@ public function testGetconfigTemplate() ]; $this->login('glpi', 'glpi'); $instance = new Config(); - putenv(Config::ENV_BOAVIZTAPI_BASE_URL); // Env var unset + $result = $instance->getConfigTemplate(); $renderer = TemplateRenderer::getInstance(); if (!$renderer->getEnvironment()->hasExtension(StringLoaderExtension::class)) { @@ -72,9 +72,25 @@ public function testGetconfigTemplate() $geocoding = $crawler->filter('input[type="checkbox"][name="geocoding_enabled"]'); $this->assertEquals(1, $boaviztapi_url->count()); $this->assertEquals(1, $geocoding->count()); + } + + public function test_getConfigTemplate_returns_truncated_template_when_boaviztapi_url_is_set_by_a_constant() + { + $context = [ + 'current_config' => [ + 'boaviztapi_base_url' => 'foo', + 'geocoding_enabled' => true, + ], + ]; + $this->login('glpi', 'glpi'); + $instance = new Config(); - putenv(Config::ENV_BOAVIZTAPI_BASE_URL . '=bar'); + define(Config::ENV_BOAVIZTAPI_BASE_URL, 'bar'); $result = $instance->getConfigTemplate(); + $renderer = TemplateRenderer::getInstance(); + if (!$renderer->getEnvironment()->hasExtension(StringLoaderExtension::class)) { + $renderer->getEnvironment()->addExtension(new StringLoaderExtension()); + } $result_html = $renderer->renderFromStringTemplate($result, $context); $crawler = new Crawler($result_html); $boaviztapi_url = $crawler->filter('input[name="boaviztapi_base_url"]'); @@ -116,21 +132,23 @@ public function testConfigUpdate(array $input, array $expected) $this->assertEquals($expected, $result); } - public function testGetPluginConfigurationValue() + public function test_getPluginConfigurationValue_returns_data_from_config_when_not_overriden() { // Test an overridable configuration value, not overriden GlpiConfig::setConfigurationValues('plugin:carbon', [ 'boaviztapi_base_url' => 'bar', ]); - putenv(Config::ENV_BOAVIZTAPI_BASE_URL); // Env var unset $result = Config::getConfigurationValue('boaviztapi_base_url'); $this->assertEquals('bar', $result); + } + public function test_getPluginConfigurationValue_returns_data_from_config_when_overriden() + { // Test an overridable configuration value, overriden by an env var GlpiConfig::setConfigurationValues('plugin:carbon', [ 'boaviztapi_base_url' => 'baz', ]); - putenv(Config::ENV_BOAVIZTAPI_BASE_URL . '=bar'); + define(Config::ENV_BOAVIZTAPI_BASE_URL, 'bar'); $result = Config::getConfigurationValue('boaviztapi_base_url'); $this->assertEquals('bar', $result); } From 5462644746be538c194fdf4bbe03c4758cb10ad5 Mon Sep 17 00:00:00 2001 From: Thierry Bugier Date: Wed, 3 Jun 2026 10:06:56 +0200 Subject: [PATCH 2/3] ci: fix branch filtering --- .github/workflows/continuous-integration.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 3c8a2d06..248d455c 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -24,9 +24,6 @@ jobs: with: glpi-version: "11.0.x" ci: - if: | - startsWith(github.ref_name, 'support/') && - github.ref_name != 'support/1.0.0' name: "GLPI ${{ matrix.glpi-version }} - php:${{ matrix.php-version }} - ${{ matrix.db-image }}" needs: "generate-ci-matrix" strategy: From 718fff83a9dca1fe136840d44e5ac85d43ef2360 Mon Sep 17 00:00:00 2001 From: Thierry Bugier Date: Wed, 3 Jun 2026 10:43:52 +0200 Subject: [PATCH 3/3] ci: disable changelog check new CI feature added recently --- .github/workflows/continuous-integration.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 248d455c..4994d8e9 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -35,3 +35,4 @@ jobs: glpi-version: "${{ matrix.glpi-version }}" php-version: "${{ matrix.php-version }}" db-image: "${{ matrix.db-image }}" + skip-changelog-check: true