You are here

public function DbImportCommandTest::testDbImportCommand in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/system/tests/src/Kernel/Scripts/DbImportCommandTest.php \Drupal\Tests\system\Kernel\Scripts\DbImportCommandTest::testDbImportCommand()
  2. 10 core/modules/system/tests/src/Kernel/Scripts/DbImportCommandTest.php \Drupal\Tests\system\Kernel\Scripts\DbImportCommandTest::testDbImportCommand()

Tests the command directly.

@requires extension pdo_sqlite

File

core/modules/system/tests/src/Kernel/Scripts/DbImportCommandTest.php, line 62

Class

DbImportCommandTest
Test that the DbImportCommand works correctly.

Namespace

Drupal\Tests\system\Kernel\Scripts

Code

public function testDbImportCommand() {
  $connection_info = [
    'driver' => 'sqlite',
    'database' => ':memory:',
  ];
  Database::addConnectionInfo($this->databasePrefix, 'default', $connection_info);
  $command = new DbImportCommand();
  $command_tester = new CommandTester($command);
  $command_tester
    ->execute([
    'script' => __DIR__ . '/../../../fixtures/update/drupal-8.8.0.bare.standard.php.gz',
    '--database' => $this->databasePrefix,
  ]);

  // The tables should now exist.
  $connection = Database::getConnection('default', $this->databasePrefix);
  foreach ($this->tables as $table) {
    $this
      ->assertTrue($connection
      ->schema()
      ->tableExists($table), strtr('Table @table created by the database script.', [
      '@table' => $table,
    ]));
  }
}