annotate core/modules/system/src/Tests/Installer/InstallerExistingDatabaseSettingsTest.php @ 12:7a779792577d

Update Drupal core to v8.4.5 (via Composer)
author Chris Cannam
date Fri, 23 Feb 2018 15:52:07 +0000
parents 4c8ae668cc8c
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Drupal\system\Tests\Installer;
Chris@0 4
Chris@0 5 use Drupal\simpletest\InstallerTestBase;
Chris@0 6 use Drupal\Core\Database\Database;
Chris@0 7
Chris@0 8 /**
Chris@0 9 * Tests the installer with an existing settings file with database connection
Chris@0 10 * info.
Chris@0 11 *
Chris@0 12 * @group Installer
Chris@0 13 */
Chris@0 14 class InstallerExistingDatabaseSettingsTest extends InstallerTestBase {
Chris@0 15
Chris@0 16 /**
Chris@0 17 * {@inheritdoc}
Chris@0 18 */
Chris@0 19 protected function setUp() {
Chris@0 20 // Pre-configure database credentials in settings.php.
Chris@0 21 $connection_info = Database::getConnectionInfo();
Chris@0 22 unset($connection_info['default']['pdo']);
Chris@0 23 unset($connection_info['default']['init_commands']);
Chris@0 24
Chris@0 25 $this->settings['databases']['default'] = (object) [
Chris@0 26 'value' => $connection_info,
Chris@0 27 'required' => TRUE,
Chris@0 28 ];
Chris@0 29 parent::setUp();
Chris@0 30 }
Chris@0 31
Chris@0 32 /**
Chris@0 33 * {@inheritdoc}
Chris@0 34 *
Chris@0 35 * @todo The database settings form is not supposed to appear if settings.php
Chris@0 36 * contains a valid database connection already (but e.g. no config
Chris@0 37 * directories yet).
Chris@0 38 */
Chris@0 39 protected function setUpSettings() {
Chris@0 40 // All database settings should be pre-configured, except password.
Chris@0 41 $values = $this->parameters['forms']['install_settings_form'];
Chris@0 42 $driver = $values['driver'];
Chris@0 43 $edit = [];
Chris@0 44 if (isset($values[$driver]['password']) && $values[$driver]['password'] !== '') {
Chris@0 45 $edit = $this->translatePostValues([
Chris@0 46 $driver => [
Chris@0 47 'password' => $values[$driver]['password'],
Chris@0 48 ],
Chris@0 49 ]);
Chris@0 50 }
Chris@0 51 $this->drupalPostForm(NULL, $edit, $this->translations['Save and continue']);
Chris@0 52 }
Chris@0 53
Chris@0 54 /**
Chris@0 55 * Verifies that installation succeeded.
Chris@0 56 */
Chris@0 57 public function testInstaller() {
Chris@0 58 $this->assertUrl('user/1');
Chris@0 59 $this->assertResponse(200);
Chris@0 60 }
Chris@0 61
Chris@0 62 }