function DriverModuleMissingDependenciesTest::testDetermineDriversAutoloadingFailingOnMissingDependency

Same name and namespace in other branches
  1. 11.x core/tests/Drupal/Tests/Core/Database/DriverModuleMissingDependenciesTest.php \Drupal\Tests\Core\Database\DriverModuleMissingDependenciesTest::testDetermineDriversAutoloadingFailingOnMissingDependency()

@covers ::get

File

core/tests/Drupal/Tests/Core/Database/DriverModuleMissingDependenciesTest.php, line 32

Class

DriverModuleMissingDependenciesTest
Tests for database driver module with missing dependency.

Namespace

Drupal\Tests\Core\Database

Code

public function testDetermineDriversAutoloadingFailingOnMissingDependency() : void {
  $root = realpath(dirname(__FILE__) . '/fixtures');
  // Mock the container so we don't need to mock drupal_valid_test_ua().
  // @see \Drupal\Core\Extension\ExtensionDiscovery::scan()
  $container = $this->createMock(ContainerInterface::class);
  $container->expects($this->any())
    ->method('has')
    ->with('kernel')
    ->willReturn(TRUE);
  $container->expects($this->any())
    ->method('getParameter')
    ->with()
    ->willReturnMap([
    [
      'install_profile',
      '',
    ],
    [
      'site.path',
      '',
    ],
  ]);
  $container->expects($this->any())
    ->method('get')
    ->with('extension.list.database_driver')
    ->willReturn(new DatabaseDriverList($root, 'database_driver', new NullBackend('database_driver')));
  \Drupal::setContainer($container);
  $this->expectException(UnknownExtensionException::class);
  $this->expectExceptionMessage("The database_driver a_really_missing_module\\dependent_driver does not exist.");
  $container->get('extension.list.database_driver')
    ->includeTestDrivers(TRUE)
    ->get('a_really_missing_module\\dependent_driver')
    ->getAutoloadInfo();
}

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