class InstallTasksTest

Same name and namespace in other branches
  1. 11.x core/modules/mysql/tests/src/Unit/InstallTasksTest.php \Drupal\Tests\mysql\Unit\InstallTasksTest
  2. 10 core/modules/mysql/tests/src/Unit/InstallTasksTest.php \Drupal\Tests\mysql\Unit\InstallTasksTest
  3. 9 core/modules/mysql/tests/src/Unit/InstallTasksTest.php \Drupal\Tests\mysql\Unit\InstallTasksTest

Tests the MySQL install tasks.

Attributes

#[CoversClass(Tasks::class)] #[Group('Database')]

Hierarchy

Expanded class hierarchy of InstallTasksTest

File

core/modules/mysql/tests/src/Unit/InstallTasksTest.php, line 17

Namespace

Drupal\Tests\mysql\Unit
View source
class InstallTasksTest extends UnitTestCase {
  
  /**
   * Tests name and minimum version.
   *
   * @see ::minimumVersion
   * @see ::name
   */
  public function testNameAndMinimumVersion(bool $is_mariadb, string $expected_name, string $expected_minimum_version) : void {
    $connection = $this->createMock(Connection::class);
    $connection->expects($this->exactly(2))
      ->method('isMariaDb')
      ->willReturn($is_mariadb);
    $tasks = $this->getMockBuilder(Tasks::class)
      ->onlyMethods([
      'getConnection',
      't',
      'isConnectionActive',
    ])
      ->getMock();
    $tasks->expects($this->once())
      ->method('isConnectionActive')
      ->willReturn(TRUE);
    $tasks->expects($this->exactly(3))
      ->method('getConnection')
      ->willReturn($connection);
    $tasks->expects($this->once())
      ->method('t')
      ->willReturnArgument(0);
    $minimum_version = $tasks->minimumVersion();
    $name = $tasks->name();
    $this->assertSame($expected_minimum_version, $minimum_version);
    $this->assertSame($expected_name, $name);
  }
  
  /**
   * Provides test data.
   *
   * @return array
   *   An array of test data.
   */
  public static function providerNameAndMinimumVersion() : array {
    return [
      [
        TRUE,
        'MariaDB',
        Tasks::MARIADB_MINIMUM_VERSION,
      ],
      [
        FALSE,
        'MySQL or equivalent',
        Tasks::MYSQL_MINIMUM_VERSION,
      ],
    ];
  }
  
  /**
   * Tests name with no connection.
   *
   * @see ::name
   */
  public function testNameWithNoConnection() : void {
    $tasks = $this->getMockBuilder(Tasks::class)
      ->onlyMethods([
      't',
      'isConnectionActive',
    ])
      ->getMock();
    $tasks->expects($this->once())
      ->method('isConnectionActive')
      ->willReturn(FALSE);
    $tasks->expects($this->once())
      ->method('t')
      ->willReturnArgument(0);
    $this->assertSame('MySQL, MariaDB, or equivalent', $tasks->name());
  }

}

Members

Title Sort descending Deprecated Modifiers Object type Summary Overrides
DrupalTestCase::$root protected property The Drupal root directory.
DrupalTestCase::getDrupalRoot Deprecated protected function Returns the Drupal root directory. 1
DrupalTestCase::setUpRoot final protected function Ensure that the $root property is set initially.
DrupalTestCase::skipTestWithAttribute final protected function Supports skipping tests with the Skip attribute.
DrupalTestCaseTrait::checkErrorHandlerOnTearDown public function Checks the test error handler after test execution. 1
DrupalTestCaseTrait::setDebugDumpHandler public static function Registers the dumper CLI handler when the DebugDump extension is enabled.
ForwardCompatibilityTrait::expectExceptionMessageIs protected function Expects an exactly matching exception message.
ForwardCompatibilityTrait::expectExceptionMessageIsOrContains protected function Expects an exception message containing a specified string.
InstallTasksTest::providerNameAndMinimumVersion public static function Provides test data.
InstallTasksTest::testNameAndMinimumVersion public function Tests name and minimum version.
InstallTasksTest::testNameWithNoConnection public function Tests name with no connection.
RandomGeneratorTrait::getRandomGenerator protected function Gets the random generator for the utility methods.
RandomGeneratorTrait::randomMachineName protected function Generates a unique random string containing letters and numbers.
RandomGeneratorTrait::randomObject public function Generates a random PHP object.
RandomGeneratorTrait::randomString public function Generates a pseudo-random string of ASCII characters of codes 32 to 126.
UnitTestCase::getClassResolverStub protected function Returns a stub class resolver.
UnitTestCase::getConfigFactoryStub public function Returns a stub config factory that behaves according to the passed array.
UnitTestCase::getContainerWithCacheTagsInvalidator protected function Sets up a container with a cache tags invalidator.
UnitTestCase::getStringTranslationStub public function Returns a stub translation manager that just returns the passed string.
UnitTestCase::setUp protected function 363
UnitTestCase::setupMockIterator protected function Set up a traversable class mock to return specific items when iterated.

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