Uploaded image for project: 'Ibexa IBX'
  1. Ibexa IBX
  2. IBX-3452

Symfony WebTestCase fails on a clean installation

    XMLWordPrintable

Details

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Medium Medium
    • Customer request
    • 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');
          }
      }
      

      Designs

        Attachments

          Activity

            People

              Unassigned Unassigned
              thorsten.reiter@ibexa.co Thorsten Reiter
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated: