class ComposerBuildTestBase

Same name and namespace in other branches
  1. 9 core/tests/Drupal/BuildTests/Composer/ComposerBuildTestBase.php \Drupal\BuildTests\Composer\ComposerBuildTestBase
  2. 10 core/tests/Drupal/BuildTests/Composer/ComposerBuildTestBase.php \Drupal\BuildTests\Composer\ComposerBuildTestBase

Base class for Composer build tests.

@coversNothing

Hierarchy

Expanded class hierarchy of ComposerBuildTestBase

3 files declare their use of ComposerBuildTestBase
ComponentsIsolatedBuildTest.php in core/tests/Drupal/BuildTests/Composer/Component/ComponentsIsolatedBuildTest.php
ComponentsTaggedReleaseTest.php in core/tests/Drupal/BuildTests/Composer/Component/ComponentsTaggedReleaseTest.php
ComposerProjectTemplatesTest.php in core/tests/Drupal/BuildTests/Composer/Template/ComposerProjectTemplatesTest.php

File

core/tests/Drupal/BuildTests/Composer/ComposerBuildTestBase.php, line 15

Namespace

Drupal\BuildTests\Composer
View source
abstract class ComposerBuildTestBase extends BuildTestBase {
    
    /**
     * Relative path from Drupal root to the Components directory.
     *
     * @var string
     */
    protected static $componentsPath = '/core/lib/Drupal/Component';
    
    /**
     * Assert that the VERSION constant in Drupal.php is the expected value.
     *
     * @param string $expectedVersion
     *   The expected version.
     * @param string $dir
     *   The path to the site root.
     *
     * @internal
     */
    protected function assertDrupalVersion(string $expectedVersion, string $dir) : void {
        $drupal_php_path = $dir . '/core/lib/Drupal.php';
        $this->assertFileExists($drupal_php_path);
        // Read back the Drupal version that was set and assert it matches
        // expectations
        $this->executeCommand("php -r 'include \"{$drupal_php_path}\"; print \\Drupal::VERSION;'");
        $this->assertCommandSuccessful();
        $this->assertCommandOutputContains($expectedVersion);
    }
    
    /**
     * Find all the composer.json files for components.
     *
     * @param string $drupal_root
     *   The Drupal root directory.
     *
     * @return \Symfony\Component\Finder\Finder
     *   A Finder object with all the composer.json files for components.
     */
    protected static function getComponentPathsFinder(string $drupal_root) : Finder {
        $finder = new Finder();
        $finder->name('composer.json')
            ->in($drupal_root . static::$componentsPath)
            ->ignoreUnreadableDirs()
            ->depth(1);
        return $finder;
    }

}

Members

Title Sort descending Modifiers Object type Summary Overrides
BuildTestBase::$commandProcess private property The most recent command process.
BuildTestBase::$destroyBuild protected property Default to destroying build artifacts after a test finishes.
BuildTestBase::$hostName private static property Our native host name, used by PHP when it starts up the server.
BuildTestBase::$hostPort private property Port that will be tested.
BuildTestBase::$mink private property The Mink session manager.
BuildTestBase::$phpFinder private property The PHP executable finder.
BuildTestBase::$portLocks private property A list of ports used by the test.
BuildTestBase::$serverDocroot private property The docroot for the server process.
BuildTestBase::$serverProcess private property The process that's running the HTTP server.
BuildTestBase::$workspaceDir private property The working directory where this test will manipulate files.
BuildTestBase::assertCommandExitCode public function Asserts that the last command returned the specified exit code.
BuildTestBase::assertCommandOutputContains public function Assert that text is present in the output of the most recent command.
BuildTestBase::assertCommandSuccessful public function Asserts that the last command ran without error.
BuildTestBase::assertDrupalVisit public function Helper function to assert that the last visit was a Drupal site.
BuildTestBase::assertErrorOutputContains public function Assert that text is present in the error output of the most recent command.
BuildTestBase::assertErrorOutputNotContains public function Assert text is not present in the error output of the most recent command.
BuildTestBase::checkPortIsAvailable protected function Checks whether a port is available.
BuildTestBase::copyCodebase public function Copy the current working codebase into a workspace.
BuildTestBase::executeCommand public function Run a command.
BuildTestBase::findAvailablePort protected function Discover an available port number.
BuildTestBase::getCodebaseFinder public function Get a default Finder object for a Drupal codebase.
BuildTestBase::getComposerRoot public function Gets the path to the Composer root directory.
BuildTestBase::getDrupalRoot public function Get the root path of this Drupal codebase.
BuildTestBase::getDrupalRootStatic public static function Get the root path of this Drupal codebase.
BuildTestBase::getMink public function Get the Mink instance.
BuildTestBase::getPortNumber protected function Get the port number for requests.
BuildTestBase::getWorkingPath protected function Get the working directory within the workspace, creating if necessary.
BuildTestBase::getWorkingPathDrupalRoot public function Gets the working path for Drupal core.
BuildTestBase::getWorkspaceDirectory public function Full path to the workspace where this test can build.
BuildTestBase::getWorkspaceDrupalRoot public function Gets the path to Drupal root in the workspace directory.
BuildTestBase::initMink protected function Set up the Mink session manager.
BuildTestBase::instantiateServer protected function Do the work of making a server process.
BuildTestBase::setUp protected function 3
BuildTestBase::standUpServer protected function Makes a local test server using PHP's internal HTTP server.
BuildTestBase::stopServer protected function Stop the HTTP server, zero out all necessary variables.
BuildTestBase::tearDown protected function 1
BuildTestBase::visit public function Visit a URI on the HTTP server.
ComposerBuildTestBase::$componentsPath protected static property Relative path from Drupal root to the Components directory.
ComposerBuildTestBase::assertDrupalVersion protected function Assert that the VERSION constant in Drupal.php is the expected value.
ComposerBuildTestBase::getComponentPathsFinder protected static function Find all the composer.json files for components.
RequiresComposerTrait::requiresComposer public static function

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