function ConnectionUnitTest::setUp

Sets up unit test environment.

Unlike Drupal\simpletest\WebTestBase::setUp(), UnitTestBase::setUp() does not install modules because tests are performed without accessing the database. Any required files must be explicitly included by the child class setUp() method.

Overrides UnitTestBase::setUp

File

drupal/core/modules/system/lib/Drupal/system/Tests/Database/ConnectionUnitTest.php, line 32
Contains Drupal\system\Tests\Database\ConnectionUnitTest.

Class

ConnectionUnitTest
Tests management of database connections.

Namespace

Drupal\system\Tests\Database

Code

function setUp() {
  parent::setUp();
  $this->key = 'default';
  $this->originalTarget = 'default';
  $this->target = 'DatabaseConnectionUnitTest';

  // Determine whether the database driver is MySQL. If it is not, the test
  // methods will not be executed.
  // @todo Make this test driver-agnostic, or find a proper way to skip it.
  // @see http://drupal.org/node/1273478
  $connection_info = Database::getConnectionInfo('default');
  $this->skipTest = (bool) $connection_info['default']['driver'] != 'mysql';
  if ($this->skipTest) {

    // Insert an assertion to prevent Simpletest from interpreting the test
    // as failure.
    $this
      ->pass('This test is only compatible with MySQL.');
  }

  // Create an additional connection to monitor the connections being opened
  // and closed in this test.
  // @see TestBase::changeDatabasePrefix()
  Database::addConnectionInfo('default', 'monitor', $connection_info['default']);
  global $databases;
  $databases['default']['monitor'] = $connection_info['default'];
  $this->monitor = Database::getConnection('monitor');
}