class TestKernel

Same name in other branches
  1. 8.9.x core/lib/Drupal/Core/Test/TestKernel.php \Drupal\Core\Test\TestKernel
  2. 10 core/lib/Drupal/Core/Test/TestKernel.php \Drupal\Core\Test\TestKernel
  3. 11.x core/lib/Drupal/Core/Test/TestKernel.php \Drupal\Core\Test\TestKernel

Kernel to mock requests to test simpletest.

Hierarchy

Expanded class hierarchy of TestKernel

7 files declare their use of TestKernel
ConfigEntityBaseUnitTest.php in core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php
Contains \Drupal\Tests\Core\Config\Entity\ConfigEntityBaseUnitTest.
ContextHandlerTest.php in core/tests/Drupal/Tests/Core/Plugin/ContextHandlerTest.php
Contains \Drupal\Tests\Core\Plugin\ContextHandlerTest.
DependencySerializationTest.php in core/tests/Drupal/Tests/Core/DependencyInjection/DependencySerializationTest.php
Contains \Drupal\Tests\Core\DependencyInjection\DependencySerializationTest.
DrupalKernelTest.php in core/tests/Drupal/Tests/Core/DrupalKernel/DrupalKernelTest.php
http.php in core/modules/system/tests/http.php
Fake an HTTP request, for use during testing.

... See full list

File

core/lib/Drupal/Core/Test/TestKernel.php, line 12

Namespace

Drupal\Core\Test
View source
class TestKernel extends DrupalKernel {
    
    /**
     * {@inheritdoc}
     */
    public function __construct($environment, $class_loader, $allow_dumping = TRUE) {
        // Exit if we should be in a test environment but aren't.
        if (!drupal_valid_test_ua()) {
            header($_SERVER['SERVER_PROTOCOL'] . ' 403 Forbidden');
            exit;
        }
        parent::__construct($environment, $class_loader, $allow_dumping);
    }
    
    /**
     * Sets a container with a kernel service on the Drupal class.
     *
     * @return \Drupal\Component\DependencyInjection\ContainerInterface
     *   A container with the kernel service set.
     */
    public static function setContainerWithKernel() {
        $container = new ContainerBuilder();
        $kernel = new DrupalKernel('test', NULL);
        // Objects of the same type will have access to each others private and
        // protected members even though they are not the same instances. This is
        // because the implementation specific details are already known when
        // inside those objects.
        $kernel->container = $container;
        $container->set('kernel', $kernel);
        $container->set(ReverseContainer::class, new ReverseContainer($container));
        \Drupal::setContainer($container);
        return $container;
    }

}

Members

Title Sort descending Deprecated Modifiers Object type Summary Overriden Title Overrides
DrupalKernel::$allowDumping protected property Whether the container can be dumped.
DrupalKernel::$booted protected property Whether the kernel has been booted.
DrupalKernel::$bootstrapContainer protected property Holds the bootstrap container.
DrupalKernel::$bootstrapContainerClass protected property Holds the class used for instantiating the bootstrap container.
DrupalKernel::$classLoader protected property The class loader object.
DrupalKernel::$configStorage protected property Config storage object used for reading enabled modules configuration.
DrupalKernel::$container protected property Holds the container instance.
DrupalKernel::$containerNeedsDumping protected property Whether the container needs to be dumped once booting is complete.
DrupalKernel::$containerNeedsRebuild protected property Whether the container needs to be rebuilt the next time it is initialized.
DrupalKernel::$defaultBootstrapContainerDefinition protected property Holds the default bootstrap container definition.
DrupalKernel::$environment protected property The environment, e.g. 'testing', 'install'.
DrupalKernel::$isEnvironmentInitialized protected static property Whether the PHP environment has been initialized.
DrupalKernel::$moduleData protected property List of available modules and installation profiles.
DrupalKernel::$moduleList protected property Holds the list of enabled modules.
DrupalKernel::$phpArrayDumperClass protected property Holds the class used for dumping the container to a PHP array.
DrupalKernel::$prepared protected property Whether essential services have been set up properly by preHandle().
DrupalKernel::$root protected property The app root.
DrupalKernel::$serviceIdMapping Deprecated protected property A mapping from service classes to service IDs.
DrupalKernel::$serviceProviderClasses protected property List of discovered service provider class names or objects.
DrupalKernel::$serviceProviders protected property List of instantiated service provider classes.
DrupalKernel::$serviceYamls protected property List of discovered services.yml pathnames.
DrupalKernel::$sitePath protected property The site path directory.
DrupalKernel::addServiceFiles protected function Add service files.
DrupalKernel::attachSynthetic protected function Attach synthetic values on to kernel.
DrupalKernel::boot public function Boots the current kernel. Overrides DrupalKernelInterface::boot 1
DrupalKernel::bootEnvironment public static function Setup a consistent PHP environment.
DrupalKernel::cacheDrupalContainer protected function Stores the container definition in a cache. 1
DrupalKernel::classLoaderAddMultiplePsr4 protected function Registers a list of namespaces with PSR-4 directories for class loading.
DrupalKernel::collectServiceIdMapping Deprecated protected function Collect a mapping between service to ids.
DrupalKernel::compileContainer protected function Compiles a new service container.
DrupalKernel::createFromRequest public static function Create a DrupalKernel object from a request. 1
DrupalKernel::discoverServiceProviders public function Discovers available serviceProviders. Overrides DrupalKernelInterface::discoverServiceProviders 2
DrupalKernel::findSitePath public static function Returns the appropriate site directory for a request.
DrupalKernel::generateServiceIdHash Deprecated public static function Generate a unique hash for a service object.
DrupalKernel::getAppRoot public function Gets the app root. Overrides DrupalKernelInterface::getAppRoot
DrupalKernel::getCachedContainerDefinition public function Returns the cached container definition - if any. Overrides DrupalKernelInterface::getCachedContainerDefinition
DrupalKernel::getConfigStorage protected function Returns the active configuration storage to use during building the container. 1
DrupalKernel::getContainer public function Gets the current container. Overrides DrupalKernelInterface::getContainer
DrupalKernel::getContainerBuilder protected function Gets a new ContainerBuilder instance used to build the service container.
DrupalKernel::getContainerCacheKey protected function Returns the container cache key based on the environment.
DrupalKernel::getHttpKernel protected function Gets a http kernel from the container.
DrupalKernel::getInstallProfile protected function Gets the active install profile. 1
DrupalKernel::getKernelParameters protected function Returns the kernel parameters.
DrupalKernel::getModuleFileNames protected function Gets the file name for each enabled module.
DrupalKernel::getModuleNamespacesPsr4 protected function Gets the PSR-4 base directories for module namespaces.
DrupalKernel::getModulesParameter protected function Returns an array of Extension class parameters for all enabled modules.
DrupalKernel::getServiceIdMapping public function Get a mapping from service hashes to service IDs. Overrides DrupalKernelInterface::getServiceIdMapping
DrupalKernel::getServiceProviders public function Returns all registered service providers. Overrides DrupalKernelInterface::getServiceProviders
DrupalKernel::getServicesToPersist protected function Returns service instances to persist from an old container to a new one.
DrupalKernel::getSitePath public function Gets the site path directory. Overrides DrupalKernelInterface::getSitePath
DrupalKernel::guessApplicationRoot protected static function Determine the application root directory based on this file's location.
DrupalKernel::handle public function 1
DrupalKernel::handleException protected function Converts an exception into a response.
DrupalKernel::initializeContainer protected function Initializes the service container. 2
DrupalKernel::initializeRequestGlobals protected function Bootstraps the legacy global request variables.
DrupalKernel::initializeServiceProviders protected function Registers all service providers to the kernel.
DrupalKernel::initializeSettings protected function Locate site path and initialize settings singleton.
DrupalKernel::invalidateContainer public function Invalidate the service container for the next request. Overrides DrupalKernelInterface::invalidateContainer
DrupalKernel::loadLegacyIncludes public function Helper method that loads legacy Drupal include files. Overrides DrupalKernelInterface::loadLegacyIncludes
DrupalKernel::moduleData protected function Returns module data on the filesystem.
DrupalKernel::persistServices protected function Moves persistent service instances into a new container.
DrupalKernel::preHandle public function Helper method that does request related initialization. Overrides DrupalKernelInterface::preHandle
DrupalKernel::rebuildContainer public function Force a container rebuild. Overrides DrupalKernelInterface::rebuildContainer
DrupalKernel::setContainer public function
DrupalKernel::setSitePath public function Set the current site path directory. Overrides DrupalKernelInterface::setSitePath
DrupalKernel::setupTrustedHosts protected static function Sets up the lists of trusted HTTP Host headers.
DrupalKernel::shutdown public function Shuts down the kernel. Overrides DrupalKernelInterface::shutdown
DrupalKernel::terminate public function
DrupalKernel::updateModules public function Implements Drupal\Core\DrupalKernelInterface::updateModules(). Overrides DrupalKernelInterface::updateModules
DrupalKernel::validateHostname public static function Validates the hostname supplied from the HTTP request.
DrupalKernel::validateHostnameLength protected static function Validates a hostname length.
DrupalKernelInterface::CONTAINER_INITIALIZE_SUBREQUEST_FINISHED constant Event fired when the service container finished initializing in subrequest.
InstallerRedirectTrait::isCli protected function Returns whether the current PHP process runs on CLI.
InstallerRedirectTrait::shouldRedirectToInstaller protected function Determines if an exception handler should redirect to the installer.
TestKernel::setContainerWithKernel public static function Sets a container with a kernel service on the Drupal class.
TestKernel::__construct public function Constructs a DrupalKernel object. Overrides DrupalKernel::__construct

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.