class InstallerExistingConfigDirectoryTest

Same name and namespace in other branches
  1. 11.x core/tests/Drupal/FunctionalTests/Installer/InstallerExistingConfigDirectoryTest.php \Drupal\FunctionalTests\Installer\InstallerExistingConfigDirectoryTest

Tests installation when a config_sync_directory exists and is set up.

@group Installer

Hierarchy

Expanded class hierarchy of InstallerExistingConfigDirectoryTest

File

core/tests/Drupal/FunctionalTests/Installer/InstallerExistingConfigDirectoryTest.php, line 10

Namespace

Drupal\FunctionalTests\Installer
View source
class InstallerExistingConfigDirectoryTest extends InstallerTestBase {
  
  /**
   * {@inheritdoc}
   */
  protected $defaultTheme = 'stark';
  
  /**
   * The expected file perms of the folder.
   *
   * @var int
   */
  protected $expectedFilePerms;
  
  /**
   * {@inheritdoc}
   */
  protected function prepareEnvironment() {
    parent::prepareEnvironment();
    mkdir($this->root . DIRECTORY_SEPARATOR . $this->siteDirectory . '/config_read_only', 0444);
    $this->expectedFilePerms = fileperms($this->siteDirectory . '/config_read_only');
    $this->settings['settings']['config_sync_directory'] = (object) [
      'value' => $this->siteDirectory . '/config_read_only',
      'required' => TRUE,
    ];
  }
  
  /**
   * Verifies that installation succeeded.
   */
  public function testInstaller() {
    $this->assertSession()
      ->addressEquals('user/1');
    $this->assertSession()
      ->statusCodeEquals(200);
    $this->assertEquals($this->expectedFilePerms, fileperms($this->siteDirectory . '/config_read_only'));
    $this->assertEquals([], glob($this->siteDirectory . '/config_read_only/*'), 'The sync directory is empty after install because it is read-only.');
  }

}

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