class StackKernelIntegrationTest
Same name and namespace in other branches
- 11.x core/tests/Drupal/KernelTests/Core/HttpKernel/StackKernelIntegrationTest.php \Drupal\KernelTests\Core\HttpKernel\StackKernelIntegrationTest
- 10 core/tests/Drupal/KernelTests/Core/HttpKernel/StackKernelIntegrationTest.php \Drupal\KernelTests\Core\HttpKernel\StackKernelIntegrationTest
- 8.9.x core/tests/Drupal/KernelTests/Core/HttpKernel/StackKernelIntegrationTest.php \Drupal\KernelTests\Core\HttpKernel\StackKernelIntegrationTest
Tests the stacked kernel functionality.
@group Routing
Hierarchy
- class \Drupal\KernelTests\KernelTestBase implements \Drupal\Core\DependencyInjection\ServiceProviderInterface uses \Drupal\KernelTests\AssertLegacyTrait, \Drupal\KernelTests\AssertContentTrait, \Drupal\Tests\RandomGeneratorTrait, \Drupal\Tests\ConfigTestTrait, \Drupal\Tests\ExtensionListTestTrait, \Drupal\Tests\TestRequirementsTrait, \Drupal\Tests\Traits\PhpUnitWarnings, \Drupal\Tests\PhpUnitCompatibilityTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait extends \PHPUnit\Framework\TestCase
- class \Drupal\KernelTests\Core\HttpKernel\StackKernelIntegrationTest extends \Drupal\KernelTests\KernelTestBase
Expanded class hierarchy of StackKernelIntegrationTest
File
-
core/
tests/ Drupal/ KernelTests/ Core/ HttpKernel/ StackKernelIntegrationTest.php, line 15
Namespace
Drupal\KernelTests\Core\HttpKernelView source
class StackKernelIntegrationTest extends KernelTestBase {
/**
* Modules to enable.
*
* @var array
*/
protected static $modules = [
'httpkernel_test',
'system',
];
/**
* Tests a request.
*/
public function testRequest() {
$request = Request::create((new Url('httpkernel_test.empty'))->toString());
/** @var \Symfony\Component\HttpKernel\HttpKernelInterface $http_kernel */
$http_kernel = \Drupal::service('http_kernel');
$http_kernel->handle($request, HttpKernelInterface::MASTER_REQUEST, FALSE);
$this->assertEquals('world', $request->attributes
->get('_hello'));
$this->assertEquals('test_argument', $request->attributes
->get('_previous_optional_argument'));
}
/**
* Tests that late middlewares are automatically flagged lazy.
*/
public function testLazyLateMiddlewares() {
$this->assertFalse($this->container
->getDefinition('http_middleware.reverse_proxy')
->isLazy(), 'lazy flag on http_middleware.reverse_proxy definition is not set');
$this->assertFalse($this->container
->getDefinition('http_middleware.kernel_pre_handle')
->isLazy(), 'lazy flag on http_middleware.kernel_pre_handle definition is not set');
$this->assertFalse($this->container
->getDefinition('http_middleware.session')
->isLazy(), 'lazy flag on http_middleware.session definition is not set');
$this->assertFalse($this->container
->getDefinition('http_kernel.basic')
->isLazy(), 'lazy flag on http_kernel.basic definition is not set');
\Drupal::service('module_installer')->install([
'page_cache',
]);
$this->container = \Drupal::service('kernel')->rebuildContainer();
$this->assertFalse($this->container
->getDefinition('http_middleware.reverse_proxy')
->isLazy(), 'lazy flag on http_middleware.reverse_proxy definition is not set');
$this->assertFalse($this->container
->getDefinition('http_middleware.page_cache')
->isLazy(), 'lazy flag on http_middleware.page_cache definition is not set');
$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.');
$this->assertTrue($this->container
->getDefinition('http_middleware.session')
->isLazy(), 'lazy flag on http_middleware.session definition is automatically set if page_cache is enabled.');
$this->assertTrue($this->container
->getDefinition('http_kernel.basic')
->isLazy(), 'lazy flag on http_kernel.basic definition is automatically set if page_cache is enabled.');
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.