Mercurial > hg > isophonics-drupal-site
annotate core/modules/system/src/Tests/Installer/InstallerExistingDatabaseSettingsTest.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
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 } |