class InstallTest
Same name in this branch
- 10 core/modules/system/tests/src/Kernel/Module/InstallTest.php \Drupal\Tests\system\Kernel\Module\InstallTest
Same name in other branches
- 9 core/modules/system/tests/src/Functional/Module/InstallTest.php \Drupal\Tests\system\Functional\Module\InstallTest
- 9 core/tests/Drupal/BuildTests/TestSiteApplication/InstallTest.php \Drupal\BuildTests\TestSiteApplication\InstallTest
- 8.9.x core/modules/system/tests/src/Functional/Module/InstallTest.php \Drupal\Tests\system\Functional\Module\InstallTest
- 11.x core/modules/system/tests/src/Kernel/Module/InstallTest.php \Drupal\Tests\system\Kernel\Module\InstallTest
- 11.x core/tests/Drupal/BuildTests/TestSiteApplication/InstallTest.php \Drupal\BuildTests\TestSiteApplication\InstallTest
@group Build @group TestSiteApplication
Hierarchy
- class \Drupal\BuildTests\Framework\BuildTestBase extends \PHPUnit\Framework\TestCase uses \Drupal\TestTools\Extension\RequiresComposerTrait, \Drupal\Tests\Traits\PhpUnitWarnings, \Drupal\Tests\PhpUnitCompatibilityTrait
- class \Drupal\BuildTests\TestSiteApplication\InstallTest extends \Drupal\BuildTests\Framework\BuildTestBase
Expanded class hierarchy of InstallTest
File
-
core/
tests/ Drupal/ BuildTests/ TestSiteApplication/ InstallTest.php, line 15
Namespace
Drupal\BuildTests\TestSiteApplicationView source
class InstallTest extends BuildTestBase {
public function testInstall() : void {
$this->copyCodebase();
$fs = new Filesystem();
$fs->chmod($this->getWorkspaceDirectory() . '/sites/default', 0700, 00);
// Composer tells you stuff in error output.
$this->executeCommand('COMPOSER_DISCARD_CHANGES=true composer install --no-interaction');
$this->assertErrorOutputContains('Generating autoload files');
// We have to stand up the server first so we can know the port number to
// pass along to the install command.
$this->standUpServer();
$php_finder = new PhpExecutableFinder();
$install_command = [
$php_finder->find(),
'./core/scripts/test-site.php',
'install',
'--base-url=http://localhost:' . $this->getPortNumber(),
'--db-url=sqlite://localhost/foo.sqlite',
'--install-profile=minimal',
'--json',
];
$this->assertNotEmpty($output_json = $this->executeCommand(implode(' ', $install_command))
->getOutput());
$this->assertCommandSuccessful();
$connection_details = json_decode($output_json, TRUE);
foreach ([
'db_prefix',
'user_agent',
'site_path',
] as $key) {
$this->assertArrayHasKey($key, $connection_details);
}
// Visit paths with expectations.
$this->visit();
$this->assertDrupalVisit();
}
}
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. | |
InstallTest::testInstall | public | function | ||
PhpUnitWarnings::$deprecationWarnings | private static | property | Deprecation warnings from PHPUnit to raise with @trigger_error(). | |
PhpUnitWarnings::addWarning | public | function | Converts PHPUnit deprecation warnings to E_USER_DEPRECATED. | |
RequiresComposerTrait::requiresComposer | public static | function | @beforeClass |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.