class InstallTest

Same name in this branch
  1. 9 core/modules/system/tests/src/Functional/Module/InstallTest.php \Drupal\Tests\system\Functional\Module\InstallTest
Same name and namespace in other branches
  1. 11.x core/modules/system/tests/src/Kernel/Module/InstallTest.php \Drupal\Tests\system\Kernel\Module\InstallTest
  2. 11.x core/tests/Drupal/BuildTests/TestSiteApplication/InstallTest.php \Drupal\BuildTests\TestSiteApplication\InstallTest

@group Build @group TestSiteApplication

Hierarchy

Expanded class hierarchy of InstallTest

File

core/tests/Drupal/BuildTests/TestSiteApplication/InstallTest.php, line 13

Namespace

Drupal\BuildTests\TestSiteApplication
View source
class InstallTest extends BuildTestBase {
  public function testInstall() {
    $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();
  }

}

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