Details
-
Bug
-
Resolution: Unresolved
-
Medium
-
4.1.5, 3.3.24
-
None
-
Ibexa Commerce, Ibexa Content, Ibexa Experience, Ibexa Open Source
-
Yes
Description
Ibexa OSS v4.1.5
Steps to reproduce
Run composer require --dev friends-of-behat/mink-extension
(This is neccessary to reproduce the problem until https://issues.ibexa.co/browse/IBX-3451 is fixed)
Create and run BasicWebTest:
bin/console make:test WebTestCase BasicWebTest bin/phpunit tests/BasicWebTest.php
Result
Error is thrown in ibexa/core/src/bundle/Core/EventListener/RejectExplicitFrontControllerRequestsListener.php:44:
1) App\Tests\BasicWebTest::testSomething Symfony\Component\HttpKernel\Exception\BadRequestHttpException: Session has not been set. /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/http-kernel/HttpKernel.php:77 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/http-kernel/EventListener/ErrorListener.php:85 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/event-dispatcher/Debug/WrappedListener.php:117 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/event-dispatcher/EventDispatcher.php:230 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/event-dispatcher/EventDispatcher.php:59 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:154 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/http-kernel/HttpKernel.php:213 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/http-kernel/HttpKernel.php:85 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/http-kernel/Kernel.php:202 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/http-kernel/HttpKernelBrowser.php:65 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/framework-bundle/KernelBrowser.php:183 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/browser-kit/AbstractBrowser.php:398 /var/www/html/support/CS-10219-tmp-4.1/tests/BasicWebTest.php:12 Caused by Symfony\Component\HttpFoundation\Exception\SessionNotFoundException: Session has not been set. /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/http-foundation/Request.php:739 /var/www/html/support/CS-10219-tmp-4.1/vendor/ibexa/core/src/bundle/Core/EventListener/SessionInitByPostListener.php:30 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/event-dispatcher/Debug/WrappedListener.php:117 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/event-dispatcher/EventDispatcher.php:230 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/event-dispatcher/EventDispatcher.php:59 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:154 /var/www/html/support/CS-10219-tmp-4.1/vendor/ibexa/core/src/lib/MVC/Symfony/EventListener/SiteAccessMatchListener.php:101 /var/www/html/support/CS-10219-tmp-4.1/vendor/ibexa/http-cache/src/lib/EventSubscriber/UserContextSiteAccessMatchSubscriber.php:50 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/event-dispatcher/Debug/WrappedListener.php:117 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/event-dispatcher/EventDispatcher.php:230 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/event-dispatcher/EventDispatcher.php:59 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:154 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/http-kernel/HttpKernel.php:128 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/http-kernel/HttpKernel.php:74 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/http-kernel/EventListener/ErrorListener.php:85 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/event-dispatcher/Debug/WrappedListener.php:117 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/event-dispatcher/EventDispatcher.php:230 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/event-dispatcher/EventDispatcher.php:59 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:154 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/http-kernel/HttpKernel.php:213 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/http-kernel/HttpKernel.php:85 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/http-kernel/Kernel.php:202 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/http-kernel/HttpKernelBrowser.php:65 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/framework-bundle/KernelBrowser.php:183 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/browser-kit/AbstractBrowser.php:398 /var/www/html/support/CS-10219-tmp-4.1/tests/BasicWebTest.php:12 Caused by Symfony\Component\HttpKernel\Exception\NotFoundHttpException: /var/www/html/support/CS-10219-tmp-4.1/vendor/ibexa/core/src/bundle/Core/EventListener/RejectExplicitFrontControllerRequestsListener.php:44 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/event-dispatcher/Debug/WrappedListener.php:117 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/event-dispatcher/EventDispatcher.php:230 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/event-dispatcher/EventDispatcher.php:59 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:154 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/http-kernel/HttpKernel.php:128 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/http-kernel/HttpKernel.php:74 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/http-kernel/Kernel.php:202 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/http-kernel/HttpKernelBrowser.php:65 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/framework-bundle/KernelBrowser.php:183 /var/www/html/support/CS-10219-tmp-4.1/vendor/symfony/browser-kit/AbstractBrowser.php:398 /var/www/html/support/CS-10219-tmp-4.1/tests/BasicWebTest.php:12
Notes:
Same applies for Ibexa OSS v3.3.24.
While changing RejectExplicitFrontControllerRequestsListener would be the preferred solution, the problem can be fixed by setting SCRIPT_FILENAME in BasicWebTest :
BasicWebTest extends WebTestCase { public function testSomething(): void { $client = static::createClient(); $client->setServerParameter("SCRIPT_FILENAME", "index.php"); $crawler = $client->request('GET', '/'); $this->assertResponseIsSuccessful(); $this->assertSelectorTextContains('h1', 'Hello World'); } }