You are here

function ConnectionUnitTest::setUp in Drupal 7

Sets up unit test environment.

Unlike DrupalWebTestCase::setUp(), DrupalUnitTestCase::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 DrupalUnitTestCase::setUp

File

modules/simpletest/tests/database_test.test, line 4066

Class

ConnectionUnitTest
Tests management of database connections.

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()
  $connection_info = Database::getConnectionInfo('default');
  Database::addConnectionInfo('default', 'monitor', $connection_info['default']);
  global $databases;
  $databases['default']['monitor'] = $connection_info['default'];
  $this->monitor = Database::getConnection('monitor');
}