diff --git a/core/modules/syslog/config/install/syslog.settings.yml b/core/modules/syslog/config/install/syslog.settings.yml index 1aa5b90..adacb49 100644 --- a/core/modules/syslog/config/install/syslog.settings.yml +++ b/core/modules/syslog/config/install/syslog.settings.yml @@ -1,3 +1,2 @@ identity: drupal -facility: '' format: '!base_url|!timestamp|!type|!ip|!request_uri|!referer|!uid|!link|!message' diff --git a/core/modules/syslog/config/schema/syslog.schema.yml b/core/modules/syslog/config/schema/syslog.schema.yml index 5d2707a..f980828 100644 --- a/core/modules/syslog/config/schema/syslog.schema.yml +++ b/core/modules/syslog/config/schema/syslog.schema.yml @@ -8,7 +8,7 @@ syslog.settings: type: string label: 'Identity' facility: - type: string + type: integer label: 'Facility' format: type: string diff --git a/core/modules/syslog/src/Tests/Update/SyslogUpdateTest.php b/core/modules/syslog/src/Tests/Update/SyslogUpdateTest.php new file mode 100644 index 0000000..2b0482f --- /dev/null +++ b/core/modules/syslog/src/Tests/Update/SyslogUpdateTest.php @@ -0,0 +1,39 @@ +databaseDumpFiles = [ + __DIR__ . '/../../../../system/tests/fixtures/update/drupal-8.filled.standard.php.gz', + ]; + } + + /** + * Tests that syslog.settings.facility has been converted from string to int. + * + * @see syslog_update_8400() + */ + public function testSyslogSettingsFacilityDataType() { + $config = $this->config('syslog.settings'); + $this->assertIdentical('128', $config->get('facility')); + + // Run updates. + $this->runUpdates(); + + $config = $this->config('syslog.settings'); + $this->assertIdentical(128, $config->get('facility')); + } + +} diff --git a/core/modules/syslog/syslog.install b/core/modules/syslog/syslog.install index e3377c8..f0ce5cc 100644 --- a/core/modules/syslog/syslog.install +++ b/core/modules/syslog/syslog.install @@ -13,3 +13,12 @@ function syslog_install() { // to be set dynamically during installation. \Drupal::configFactory()->getEditable('syslog.settings')->set('facility', defined('LOG_LOCAL0') ? LOG_LOCAL0 : LOG_USER)->save(); } + +/** + * Convert syslog.settings.facility to an integer. + */ +function syslog_update_8400() { + $config = \Drupal::configFactory()->getEditable('syslog.settings'); + $facility = (int) $config->get('facility'); + $config->set('facility', $facility)->save(TRUE); +} diff --git a/core/modules/syslog/tests/src/Kernel/Migrate/d6/MigrateSyslogConfigsTest.php b/core/modules/syslog/tests/src/Kernel/Migrate/d6/MigrateSyslogConfigsTest.php index aa66203..935af8d 100644 --- a/core/modules/syslog/tests/src/Kernel/Migrate/d6/MigrateSyslogConfigsTest.php +++ b/core/modules/syslog/tests/src/Kernel/Migrate/d6/MigrateSyslogConfigsTest.php @@ -33,7 +33,7 @@ protected function setUp() { public function testSyslogSettings() { $config = $this->config('syslog.settings'); $this->assertIdentical('drupal', $config->get('identity')); - $this->assertIdentical('128', $config->get('facility')); + $this->assertIdentical(128, $config->get('facility')); $this->assertConfigSchema(\Drupal::service('config.typed'), 'syslog.settings', $config->get()); } diff --git a/core/modules/syslog/tests/src/Kernel/Migrate/d7/MigrateSyslogConfigsTest.php b/core/modules/syslog/tests/src/Kernel/Migrate/d7/MigrateSyslogConfigsTest.php index 2996b42..ef5d8c3 100644 --- a/core/modules/syslog/tests/src/Kernel/Migrate/d7/MigrateSyslogConfigsTest.php +++ b/core/modules/syslog/tests/src/Kernel/Migrate/d7/MigrateSyslogConfigsTest.php @@ -36,7 +36,7 @@ protected function setUp() { public function testSyslogSettings() { $config = $this->config('syslog.settings'); // 8 == LOG_USER - $this->assertIdentical('8', $config->get('facility')); + $this->assertIdentical(8, $config->get('facility')); $this->assertIdentical('!base_url|!timestamp|!type|!ip|!request_uri|!referer|!uid|!link|!message', $config->get('format')); $this->assertIdentical('drupal', $config->get('identity')); }