Upgraded drupal core with security updates
[yaffs-website] / web / core / tests / Drupal / KernelTests / Core / HttpKernel / StackKernelIntegrationTest.php
1 <?php
2
3 namespace Drupal\KernelTests\Core\HttpKernel;
4
5 use Drupal\Core\Url;
6 use Drupal\KernelTests\KernelTestBase;
7 use Symfony\Component\HttpFoundation\Request;
8 use Symfony\Component\HttpKernel\HttpKernelInterface;
9
10 /**
11  * Tests the stacked kernel functionality.
12  *
13  * @group Routing
14  */
15 class StackKernelIntegrationTest extends KernelTestBase {
16
17   /**
18    * Modules to enable.
19    *
20    * @var array
21    */
22   public static $modules = ['httpkernel_test', 'system'];
23
24   /**
25    * {@inheritdoc}
26    */
27   protected function setUp() {
28     parent::setUp();
29     \Drupal::service('router.builder')->rebuild();
30   }
31
32   /**
33    * Tests a request.
34    */
35   public function testRequest() {
36     $request = Request::create((new Url('httpkernel_test.empty'))->toString());
37     /** @var \Symfony\Component\HttpKernel\HttpKernelInterface $http_kernel */
38     $http_kernel = \Drupal::service('http_kernel');
39     $http_kernel->handle($request, HttpKernelInterface::MASTER_REQUEST, FALSE);
40
41     $this->assertEqual($request->attributes->get('_hello'), 'world');
42     $this->assertEqual($request->attributes->get('_previous_optional_argument'), 'test_argument');
43   }
44
45   /**
46    * Tests that late middlewares are automatically flagged lazy.
47    */
48   public function testLazyLateMiddlewares() {
49     $this->assertFalse($this->container->getDefinition('http_middleware.reverse_proxy')->isLazy(), 'lazy flag on http_middleware.reverse_proxy definition is not set');
50     $this->assertFalse($this->container->getDefinition('http_middleware.kernel_pre_handle')->isLazy(), 'lazy flag on http_middleware.kernel_pre_handle definition is not set');
51     $this->assertFalse($this->container->getDefinition('http_middleware.session')->isLazy(), 'lazy flag on http_middleware.session definition is not set');
52     $this->assertFalse($this->container->getDefinition('http_kernel.basic')->isLazy(), 'lazy flag on http_kernel.basic definition is not set');
53
54     \Drupal::service('module_installer')->install(['page_cache']);
55     $this->container = \Drupal::service('kernel')->rebuildContainer();
56
57     $this->assertFalse($this->container->getDefinition('http_middleware.reverse_proxy')->isLazy(), 'lazy flag on http_middleware.reverse_proxy definition is not set');
58     $this->assertFalse($this->container->getDefinition('http_middleware.page_cache')->isLazy(), 'lazy flag on http_middleware.page_cache definition is not set');
59     $this->assertTrue($this->container->getDefinition('http_middleware.kernel_pre_handle')->isLazy(), 'lazy flag on http_middleware.kernel_pre_handle definition is automatically set if page_cache is enabled.');
60     $this->assertTrue($this->container->getDefinition('http_middleware.session')->isLazy(), 'lazy flag on http_middleware.session definition is automatically set if page_cache is enabled.');
61     $this->assertTrue($this->container->getDefinition('http_kernel.basic')->isLazy(), 'lazy flag on http_kernel.basic definition is automatically set if page_cache is enabled.');
62   }
63
64 }