You are here

public function KernelTestBaseTest::testSetUp in Drupal 9

Same name and namespace in other branches
  1. 8 core/tests/Drupal/KernelTests/KernelTestBaseTest.php \Drupal\KernelTests\KernelTestBaseTest::testSetUp()
  2. 10 core/tests/Drupal/KernelTests/KernelTestBaseTest.php \Drupal\KernelTests\KernelTestBaseTest::testSetUp()

@covers ::setUp

File

core/tests/Drupal/KernelTests/KernelTestBaseTest.php, line 65

Class

KernelTestBaseTest
@coversDefaultClass \Drupal\KernelTests\KernelTestBase

Namespace

Drupal\KernelTests

Code

public function testSetUp() {
  $this
    ->assertTrue($this->container
    ->has('request_stack'));
  $this
    ->assertTrue($this->container
    ->initialized('request_stack'));
  $request = $this->container
    ->get('request_stack')
    ->getCurrentRequest();
  $this
    ->assertNotEmpty($request);
  $this
    ->assertEquals('/', $request
    ->getPathInfo());
  $this
    ->assertSame($request, \Drupal::request());
  $this
    ->assertEquals($this, $GLOBALS['conf']['container_service_providers']['test']);
  $GLOBALS['destroy-me'] = TRUE;
  $this
    ->assertArrayHasKey('destroy-me', $GLOBALS);
  $database = $this->container
    ->get('database');
  $database
    ->schema()
    ->createTable('foo', [
    'fields' => [
      'number' => [
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ],
    ],
  ]);
  $this
    ->assertTrue($database
    ->schema()
    ->tableExists('foo'));

  // Ensure that the database tasks have been run during set up. Neither MySQL
  // nor SQLite make changes that are testable.
  if ($database
    ->driver() == 'pgsql') {
    $this
      ->assertEquals('on', $database
      ->query("SHOW standard_conforming_strings")
      ->fetchField());
    $this
      ->assertEquals('escape', $database
      ->query("SHOW bytea_output")
      ->fetchField());
  }
  $this
    ->assertNotNull(FileCacheFactory::getPrefix());
}