ProviderProxyHostnameFilterTest: 3 kernel tests failing on 1.2.x and 1.3.x — release blocker
## Problem Three kernel tests in `Drupal\Tests\ai\Kernel\Plugin\ProviderProxyHostnameFilterTest` are failing on both `1.2.x` and `1.3.x`, blocking a release. All three failures originate from the same assertion in the shared helper `getFirstToolArgValue()` at `tests/src/Kernel/Plugin/ProviderProxyHostnameFilterTest.php:79`: ``` Expected the fixture response to carry a tool call. Failed asserting that a NULL is not empty. ``` That line is `$this->assertNotEmpty($tools, 'Expected the fixture response to carry a tool call.');` — meaning `ChatMessage::getTools()` returns no tool calls when the test expects the fixture-driven `echoai` provider to emit one. ## Failing tests - `testDefaultFilteringRemovesUrlsFromToolArgument` — line 101 - `testFullTrustDtoPreservesUrlsInToolArguments` — line 121 - `testDtoDoesNotSpillOverToSubsequentCall` — line 153 ## CI output ``` PHPUnit 11.5.55 by Sebastian Bergmann and contributors. Runtime: PHP 8.3.30 Configuration: /builds/project/ai/web/core/phpunit.xml.dist FFF 3 / 3 (100%) Time: 00:06.597, Memory: 8.00 MB Provider Proxy Hostname Filter (Drupal\Tests\ai\Kernel\Plugin\ProviderProxyHostnameFilter) ✘ Default filtering removes urls from tool argument ┐ ├ Expected the fixture response to carry a tool call. ├ Failed asserting that a NULL is not empty. │ │ /builds/project/ai/tests/src/Kernel/Plugin/ProviderProxyHostnameFilterTest.php:79 │ /builds/project/ai/tests/src/Kernel/Plugin/ProviderProxyHostnameFilterTest.php:101 ┴ ✘ Full trust dto preserves urls in tool arguments ┐ ├ Expected the fixture response to carry a tool call. ├ Failed asserting that a NULL is not empty. │ │ /builds/project/ai/tests/src/Kernel/Plugin/ProviderProxyHostnameFilterTest.php:79 │ /builds/project/ai/tests/src/Kernel/Plugin/ProviderProxyHostnameFilterTest.php:121 ┴ ✘ Dto does not spill over to subsequent call ┐ ├ Expected the fixture response to carry a tool call. ├ Failed asserting that a NULL is not empty. │ │ /builds/project/ai/tests/src/Kernel/Plugin/ProviderProxyHostnameFilterTest.php:79 │ /builds/project/ai/tests/src/Kernel/Plugin/ProviderProxyHostnameFilterTest.php:153 ``` ## Affected branches - `1.2.x` - `1.3.x` ## Steps to reproduce Run the kernel test in CI (or locally): ``` phpunit tests/src/Kernel/Plugin/ProviderProxyHostnameFilterTest.php ``` ## Expected All three tests pass — the `echoai` fixture-driven response carries a tool call so that the filter behavior under default, full-trust DTO, and DTO-spillover scenarios can be verified. ## Actual `ChatMessage::getTools()` returns no tool calls, so the shared helper fails before any of the per-test assertions run. ## Severity Release blocker.
issue