From 40d0f2e8f7f04baaed636328e9cf10c680da26d6 Mon Sep 17 00:00:00 2001 From: Alex Skrypnyk Date: Thu, 26 Mar 2026 23:31:11 +1100 Subject: [PATCH] [#2422] Added 'reroute_email' module with environment-based settings. --- .vortex/docs/content/drupal/README.mdx | 1 + .vortex/docs/content/drupal/settings.mdx | 83 ++++++++++ .vortex/docs/content/features.mdx | 1 + .../src/Prompts/Handlers/Modules.php | 1 + .../handler_process/_baseline/composer.json | 1 + .../scripts/custom/provision-10-example.sh | 2 +- .../Drupal/EnvironmentSettingsTest.php | 15 ++ .../phpunit/Drupal/SwitchableSettingsTest.php | 139 +++++++++++++++++ .../modules/settings.reroute_email.php | 26 ++++ .../Drupal/EnvironmentSettingsTest.php | 2 +- .../composer.json | 4 +- .../Drupal/EnvironmentSettingsTest.php | 2 +- .../Drupal/EnvironmentSettingsTest.php | 2 +- .../Drupal/EnvironmentSettingsTest.php | 2 +- .../hosting_acquia/composer.json | 2 +- .../modules/settings.reroute_email.php | 26 ++++ .../Drupal/EnvironmentSettingsTest.php | 20 ++- .../modules/-settings.reroute_email.php | 0 .../Drupal/EnvironmentSettingsTest.php | 14 +- .../composer.json | 2 +- .../modules/settings.reroute_email.php | 26 ++++ .../Drupal/EnvironmentSettingsTest.php | 20 ++- .../modules/-settings.reroute_email.php | 0 .../Drupal/EnvironmentSettingsTest.php | 14 +- .../Drupal/EnvironmentSettingsTest.php | 2 +- .../Drupal/EnvironmentSettingsTest.php | 14 +- .../Drupal/EnvironmentSettingsTest.php | 2 +- .../Drupal/EnvironmentSettingsTest.php | 2 +- .../Drupal/EnvironmentSettingsTest.php | 2 +- .../Drupal/EnvironmentSettingsTest.php | 2 +- .../Drupal/EnvironmentSettingsTest.php | 2 +- .../Drupal/EnvironmentSettingsTest.php | 2 +- .../Drupal/EnvironmentSettingsTest.php | 2 +- .../Drupal/EnvironmentSettingsTest.php | 4 +- .../Drupal/EnvironmentSettingsTest.php | 16 +- .../scripts/custom/provision-10-example.sh | 4 +- .../scripts/custom/provision-10-example.sh | 4 +- .../scripts/custom/provision-10-example.sh | 4 +- .../Drupal/EnvironmentSettingsTest.php | 6 +- .../scripts/custom/provision-10-example.sh | 4 +- .../scripts/custom/provision-10-example.sh | 4 +- .../Drupal/EnvironmentSettingsTest.php | 8 +- .../modules_no_pathauto/composer.json | 2 +- .../scripts/custom/provision-10-example.sh | 4 +- .../modules_no_redirect/composer.json | 2 +- .../scripts/custom/provision-10-example.sh | 4 +- .../modules_no_robotstxt/composer.json | 4 +- .../scripts/custom/provision-10-example.sh | 4 +- .../Drupal/EnvironmentSettingsTest.php | 8 +- .../modules_no_seckit/composer.json | 2 +- .../Drupal/EnvironmentSettingsTest.php | 24 +-- .../composer.json | 2 +- .../scripts/custom/provision-10-example.sh | 4 +- .../Drupal/EnvironmentSettingsTest.php | 27 ++-- .../phpunit/Drupal/SwitchableSettingsTest.php | 23 ++- .../modules_no_shield/composer.json | 2 +- .../scripts/custom/provision-10-example.sh | 4 +- .../Drupal/EnvironmentSettingsTest.php | 12 +- .../phpunit/Drupal/SwitchableSettingsTest.php | 4 +- .../modules_no_stage_file_proxy/composer.json | 2 +- .../scripts/custom/provision-10-example.sh | 4 +- .../phpunit/Drupal/SwitchableSettingsTest.php | 2 +- .../modules_none/composer.json | 3 +- .../scripts/custom/provision-10-example.sh | 2 +- .../Drupal/EnvironmentSettingsTest.php | 27 +++- .../phpunit/Drupal/SwitchableSettingsTest.php | 141 ++++++++++++++++- .../modules/-settings.reroute_email.php | 0 .../scripts/custom/provision-10-example.sh | 2 +- .../Drupal/EnvironmentSettingsTest.php | 55 +++++++ .../phpunit/Drupal/SwitchableSettingsTest.php | 54 +++++++ .../modules/settings.reroute_email.php | 11 ++ .../non_interactive_config_file/composer.json | 2 +- .../scripts/custom/provision-10-example.sh | 2 +- .../Drupal/EnvironmentSettingsTest.php | 14 +- .../services_no_redis/composer.json | 2 +- .../scripts/custom/provision-10-example.sh | 2 +- .../services_no_solr/composer.json | 4 +- .../services_none/composer.json | 3 +- .../scripts/custom/provision-10-example.sh | 2 +- .../starter_drupal_cms_profile/composer.json | 8 +- .../Drupal/EnvironmentSettingsTest.php | 2 +- .../tools_groups_no_be_lint/composer.json | 4 +- .../composer.json | 4 +- .../Drupal/EnvironmentSettingsTest.php | 2 +- .../tools_groups_no_be_tests/composer.json | 6 +- .../composer.json | 6 +- .../Drupal/EnvironmentSettingsTest.php | 2 +- .../Drupal/EnvironmentSettingsTest.php | 2 +- .../tools_no_behat/composer.json | 2 +- .../tools_no_behat_circleci/composer.json | 2 +- .../Drupal/EnvironmentSettingsTest.php | 2 +- .../Drupal/EnvironmentSettingsTest.php | 2 +- .../Drupal/EnvironmentSettingsTest.php | 2 +- .../tools_no_phpcs/composer.json | 6 +- .../tools_no_phpcs_circleci/composer.json | 6 +- .../Drupal/EnvironmentSettingsTest.php | 2 +- .../tools_no_phpmd/composer.json | 2 +- .../tools_no_phpmd_circleci/composer.json | 2 +- .../Drupal/EnvironmentSettingsTest.php | 2 +- .../tools_no_phpstan/composer.json | 4 +- .../tools_no_phpstan_circleci/composer.json | 4 +- .../Drupal/EnvironmentSettingsTest.php | 2 +- .../tools_no_phpunit/composer.json | 4 +- .../tools_no_phpunit_circleci/composer.json | 4 +- .../tools_no_rector/composer.json | 4 +- .../tools_no_rector_circleci/composer.json | 4 +- .../Drupal/EnvironmentSettingsTest.php | 2 +- .../Drupal/EnvironmentSettingsTest.php | 2 +- .../handler_process/tools_none/composer.json | 4 +- .../Handlers/ModulesHandlerDiscoveryTest.php | 1 + .vortex/tests/bats/unit/provision.bats | 24 +-- composer.json | 1 + scripts/custom/provision-10-example.sh | 2 +- .../Drupal/EnvironmentSettingsTest.php | 48 ++++++ .../phpunit/Drupal/SwitchableSettingsTest.php | 142 ++++++++++++++++++ .../modules/settings.reroute_email.php | 26 ++++ 116 files changed, 1113 insertions(+), 186 deletions(-) create mode 100644 .vortex/installer/tests/Fixtures/handler_process/_baseline/web/sites/default/includes/modules/settings.reroute_email.php create mode 100644 .vortex/installer/tests/Fixtures/handler_process/hosting_acquia/docroot/sites/default/includes/modules/settings.reroute_email.php create mode 100644 .vortex/installer/tests/Fixtures/handler_process/hosting_acquia/web/sites/default/includes/modules/-settings.reroute_email.php create mode 100644 .vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/docroot/sites/default/includes/modules/settings.reroute_email.php create mode 100644 .vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/web/sites/default/includes/modules/-settings.reroute_email.php create mode 100644 .vortex/installer/tests/Fixtures/handler_process/modules_none/web/sites/default/includes/modules/-settings.reroute_email.php create mode 100644 .vortex/installer/tests/Fixtures/handler_process/names/tests/phpunit/Drupal/EnvironmentSettingsTest.php create mode 100644 .vortex/installer/tests/Fixtures/handler_process/names/tests/phpunit/Drupal/SwitchableSettingsTest.php create mode 100644 .vortex/installer/tests/Fixtures/handler_process/names/web/sites/default/includes/modules/settings.reroute_email.php create mode 100644 web/sites/default/includes/modules/settings.reroute_email.php diff --git a/.vortex/docs/content/drupal/README.mdx b/.vortex/docs/content/drupal/README.mdx index 62d297c83..60ff163a3 100644 --- a/.vortex/docs/content/drupal/README.mdx +++ b/.vortex/docs/content/drupal/README.mdx @@ -32,6 +32,7 @@ You would need to add more modules and themes once you finish the initial setup. | [`pathauto`](https://www.drupal.org/project/pathauto) | Automatically generates URL/path aliases for content. | | [`redirect`](https://www.drupal.org/project/redirect) | Provides URL redirection management. | | [`redis`](https://www.drupal.org/project/redis) | Integrates Redis caching backend. | +| [`reroute_email`](https://www.drupal.org/project/reroute_email) | Intercepts outgoing emails and reroutes them to a configurable address. | | [`robotstxt`](https://www.drupal.org/project/robotstxt) | Manages the robots.txt file for controlling search engine crawler access. | | [`search_api`](https://www.drupal.org/project/search_api) | Provides a flexible framework for creating search pages. | | [`search_api_solr`](https://www.drupal.org/project/search_api_solr) | Integrates Apache Solr with Search API. | diff --git a/.vortex/docs/content/drupal/settings.mdx b/.vortex/docs/content/drupal/settings.mdx index e5508d7bc..e35d09c43 100644 --- a/.vortex/docs/content/drupal/settings.mdx +++ b/.vortex/docs/content/drupal/settings.mdx @@ -253,6 +253,89 @@ Each settings file should: +#### Shield + +[Shield](https://www.drupal.org/project/shield) restricts access to your site +by requiring HTTP authentication credentials. **Vortex** configures Shield to +protect non-production environments from public access while keeping production, +local development, and CI environments accessible without authentication. + +**Environment behavior:** + +| Environment | Shield enabled | Reason | +|-------------|----------------|-------------------------------------------------| +| Local | No | No need for HTTP auth during local development | +| CI | No | Automated tests must access the site freely | +| Dev | **Yes** | Protects development environments from crawlers | +| Stage | **Yes** | Protects staging environments from public access| +| Prod | No | Production is publicly accessible | + +**Environment variables:** + +| Variable | Default | Purpose | +|-----------------------|----------------------|-------------------------------------------| +| `DRUPAL_SHIELD_USER` | | HTTP authentication username | +| `DRUPAL_SHIELD_PASS` | | HTTP authentication password | +| `DRUPAL_SHIELD_PRINT` | `Restricted access.` | Message shown in the authentication popup | + +**Overriding default behavior:** + +Set `DRUPAL_SHIELD_DISABLED` to any non-empty value to completely disable Shield +in an environment where it would otherwise be enabled. This is useful for +temporary access during debugging or when an environment does not require +protection. + +import ShieldModuleSettingsExample from '!!raw-loader!./../../../../web/sites/default/includes/modules/settings.shield.php'; + +
+ Example of the `Shield` module `settings.shield.php` file + + {ShieldModuleSettingsExample} + +
+ +#### Reroute Email + +[Reroute Email](https://www.drupal.org/project/reroute_email) intercepts +outgoing emails and redirects them to a configurable address instead of the +intended recipients. This prevents accidental email delivery to real users in +non-production environments while still allowing email functionality to be +tested. + +**Environment behavior:** + +| Environment | Rerouting enabled | Reason | +|-------------|-------------------|---------------------------------------------------------------| +| Local | No | Emails are typically not sent in local development | +| CI | No | Automated tests do not send real emails | +| Dev | **Yes** | Prevents accidental delivery to real users | +| Stage | No | Stage may require real email delivery for UAT | +| Prod | No | Production emails must reach actual recipients | + +Rerouting is also enabled in any custom environments (e.g., PR environments) +that do not match the standard environment types listed above. + +**Environment variables:** + +| Variable | Default | Purpose | +|--------------------------------|------------------------------------|------------------------------------------------------| +| `DRUPAL_REROUTE_EMAIL_ADDRESS` | `webmaster@your-site-domain.example` | Address to receive all rerouted emails | +| `DRUPAL_REROUTE_EMAIL_ALLOWED` | `*@your-site-domain.example` | Pattern for addresses allowed to bypass rerouting | + +**Overriding default behavior:** + +Set `DRUPAL_REROUTE_EMAIL_DISABLED` to any non-empty value to completely disable +email rerouting in an environment where it would otherwise be enabled. + +import RerouteEmailModuleSettingsExample from '!!raw-loader!./../../../../web/sites/default/includes/modules/settings.reroute_email.php'; + +
+ Example of the `Reroute Email` module `settings.reroute_email.php` file + + {RerouteEmailModuleSettingsExample} + +
+ ### Local overrides At the end of the `settings.php`, there is an option to include additional local diff --git a/.vortex/docs/content/features.mdx b/.vortex/docs/content/features.mdx index f0654c80f..4d66fa782 100644 --- a/.vortex/docs/content/features.mdx +++ b/.vortex/docs/content/features.mdx @@ -43,6 +43,7 @@ import { ### Admin modules - [Environment indicator](https://www.drupal.org/project/environment_indicator) for visual identification + - [Reroute Email](https://www.drupal.org/project/reroute_email) for email interception in non-production environments - [Shield](https://www.drupal.org/project/shield) for HTTP authentication - [Stage file proxy](https://www.drupal.org/project/stage_file_proxy) for development efficiency - Configuration for [Search API](https://www.drupal.org/project/search_api) ([Solr](https://www.drupal.org/project/search_api_solr)) diff --git a/.vortex/installer/src/Prompts/Handlers/Modules.php b/.vortex/installer/src/Prompts/Handlers/Modules.php index 6a6afc26c..1dc8674af 100644 --- a/.vortex/installer/src/Prompts/Handlers/Modules.php +++ b/.vortex/installer/src/Prompts/Handlers/Modules.php @@ -130,6 +130,7 @@ public static function getAvailableModules(): array { 'environment_indicator' => 'Environment indicator', 'pathauto' => 'Pathauto', 'redirect' => 'Redirect', + 'reroute_email' => 'Reroute email', 'robotstxt' => 'Robots.txt', 'seckit' => 'Seckit', 'shield' => 'Shield', diff --git a/.vortex/installer/tests/Fixtures/handler_process/_baseline/composer.json b/.vortex/installer/tests/Fixtures/handler_process/_baseline/composer.json index aab8d5081..7640477c4 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/_baseline/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/_baseline/composer.json @@ -20,6 +20,7 @@ "drupal/pathauto": "__VERSION__", "drupal/redirect": "__VERSION__", "drupal/redis": "__VERSION__", + "drupal/reroute_email": "__VERSION__", "drupal/robotstxt": "__VERSION__", "drupal/search_api": "__VERSION__", "drupal/search_api_solr": "__VERSION__", diff --git a/.vortex/installer/tests/Fixtures/handler_process/_baseline/scripts/custom/provision-10-example.sh b/.vortex/installer/tests/Fixtures/handler_process/_baseline/scripts/custom/provision-10-example.sh index 1b2cd49cc..be78d7e7a 100755 --- a/.vortex/installer/tests/Fixtures/handler_process/_baseline/scripts/custom/provision-10-example.sh +++ b/.vortex/installer/tests/Fixtures/handler_process/_baseline/scripts/custom/provision-10-example.sh @@ -38,7 +38,7 @@ if echo "${environment}" | grep -q -e dev -e stage -e ci -e local; then drush php:eval "\Drupal::service('config.factory')->getEditable('system.site')->set('name', 'star wars')->save();" task "Installing contrib modules." - drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap + drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap task "Installing Redis module." drush pm:install redis || true diff --git a/.vortex/installer/tests/Fixtures/handler_process/_baseline/tests/phpunit/Drupal/EnvironmentSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/_baseline/tests/phpunit/Drupal/EnvironmentSettingsTest.php index c3ab1cfc0..f4292d3a6 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/_baseline/tests/phpunit/Drupal/EnvironmentSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/_baseline/tests/phpunit/Drupal/EnvironmentSettingsTest.php @@ -79,6 +79,9 @@ public function testEnvironmentNoOverrides(): void { $config['shield.settings']['shield_enable'] = TRUE; $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; + $config['reroute_email.settings']['enable'] = TRUE; + $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; + $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; $config['system.performance']['cache']['page']['max_age'] = 900; $this->assertConfig($config); @@ -153,6 +156,9 @@ public function testEnvironmentOverrides(): void { $config['shield.settings']['shield_enable'] = TRUE; $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; + $config['reroute_email.settings']['enable'] = TRUE; + $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; + $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; $config['system.performance']['cache']['page']['max_age'] = 1800; $this->assertConfig($config); @@ -202,6 +208,9 @@ public function testEnvironmentLocal(): void { $config['xmlsitemap_engines.settings']['submit'] = FALSE; $config['system.logging']['error_level'] = 'all'; $config['system.performance']['cache']['page']['max_age'] = 900; + $config['reroute_email.settings']['enable'] = FALSE; + $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; + $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; $config['seckit.settings']['seckit_xss']['csp']['checkbox'] = FALSE; $config['seckit.settings']['seckit_xss']['csp']['upgrade-req'] = FALSE; $this->assertConfig($config); @@ -251,6 +260,9 @@ public function testEnvironmentLocalContainer(): void { $config['xmlsitemap_engines.settings']['submit'] = FALSE; $config['system.logging']['error_level'] = 'all'; $config['system.performance']['cache']['page']['max_age'] = 900; + $config['reroute_email.settings']['enable'] = FALSE; + $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; + $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; $config['seckit.settings']['seckit_xss']['csp']['checkbox'] = FALSE; $config['seckit.settings']['seckit_xss']['csp']['upgrade-req'] = FALSE; $this->assertConfig($config); @@ -302,6 +314,9 @@ public function testEnvironmentGha(): void { $config['xmlsitemap_engines.settings']['submit'] = FALSE; $config['system.logging']['error_level'] = 'all'; $config['system.performance']['cache']['page']['max_age'] = 900; + $config['reroute_email.settings']['enable'] = FALSE; + $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; + $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; $config['seckit.settings']['seckit_xss']['csp']['checkbox'] = FALSE; $config['seckit.settings']['seckit_xss']['csp']['upgrade-req'] = FALSE; $this->assertConfig($config); diff --git a/.vortex/installer/tests/Fixtures/handler_process/_baseline/tests/phpunit/Drupal/SwitchableSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/_baseline/tests/phpunit/Drupal/SwitchableSettingsTest.php index b772d2891..dfe09e39b 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/_baseline/tests/phpunit/Drupal/SwitchableSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/_baseline/tests/phpunit/Drupal/SwitchableSettingsTest.php @@ -665,6 +665,145 @@ public static function dataProviderShield(): \Iterator { ]; } + /** + * Test Reroute Email config. + */ + #[DataProvider('dataProviderRerouteEmail')] + public function testRerouteEmail(string $env, array $vars, array $expected_present, array $expected_absent = []): void { + $this->setEnvVars($vars + ['DRUPAL_ENVIRONMENT' => $env]); + + $this->requireSettingsFile(); + + $this->assertConfigContains($expected_present); + $this->assertConfigNotContains($expected_absent); + } + + /** + * Data provider for testRerouteEmail(). + */ + public static function dataProviderRerouteEmail(): \Iterator { + // Local: disabled by default. + yield [ + self::ENVIRONMENT_LOCAL, + [], + [ + 'reroute_email.settings' => ['enable' => FALSE, 'address' => 'webmaster@star-wars.com', 'allowed' => '*@star-wars.com'], + ], + ]; + + // CI: disabled by default. + yield [ + self::ENVIRONMENT_CI, + [], + [ + 'reroute_email.settings' => ['enable' => FALSE, 'address' => 'webmaster@star-wars.com', 'allowed' => '*@star-wars.com'], + ], + ]; + + // Dev: enabled by default. + yield [ + self::ENVIRONMENT_DEV, + [], + [ + 'reroute_email.settings' => ['enable' => TRUE, 'address' => 'webmaster@star-wars.com', 'allowed' => '*@star-wars.com'], + ], + ]; + + // SUT: enabled by default. + yield [ + self::ENVIRONMENT_SUT, + [], + [ + 'reroute_email.settings' => ['enable' => TRUE, 'address' => 'webmaster@star-wars.com', 'allowed' => '*@star-wars.com'], + ], + ]; + + // Stage: disabled by default. + yield [ + self::ENVIRONMENT_STAGE, + [], + [ + 'reroute_email.settings' => ['enable' => FALSE, 'address' => 'webmaster@star-wars.com', 'allowed' => '*@star-wars.com'], + ], + ]; + + // Prod: disabled by default. + yield [ + self::ENVIRONMENT_PROD, + [], + [ + 'reroute_email.settings' => ['enable' => FALSE, 'address' => 'webmaster@star-wars.com', 'allowed' => '*@star-wars.com'], + ], + ]; + + // Dev with DRUPAL_REROUTE_EMAIL_DISABLED: forced off. + yield [ + self::ENVIRONMENT_DEV, + [ + 'DRUPAL_REROUTE_EMAIL_DISABLED' => 1, + ], + [ + 'reroute_email.settings' => ['enable' => FALSE], + ], + ]; + + // SUT with DRUPAL_REROUTE_EMAIL_DISABLED: forced off. + yield [ + self::ENVIRONMENT_SUT, + [ + 'DRUPAL_REROUTE_EMAIL_DISABLED' => 1, + ], + [ + 'reroute_email.settings' => ['enable' => FALSE], + ], + ]; + + // Custom address and allowed list. + yield [ + self::ENVIRONMENT_DEV, + [ + 'DRUPAL_REROUTE_EMAIL_ADDRESS' => 'dev@example.com', + 'DRUPAL_REROUTE_EMAIL_ALLOWED' => '*@example.com', + ], + [ + 'reroute_email.settings' => ['enable' => TRUE, 'address' => 'dev@example.com', 'allowed' => '*@example.com'], + ], + ]; + + // DRUPAL_REROUTE_EMAIL_DISABLED with empty value: not disabled. + yield [ + self::ENVIRONMENT_DEV, + [ + 'DRUPAL_REROUTE_EMAIL_DISABLED' => '', + ], + [ + 'reroute_email.settings' => ['enable' => TRUE], + ], + ]; + + // DRUPAL_REROUTE_EMAIL_DISABLED with 0: not disabled. + yield [ + self::ENVIRONMENT_DEV, + [ + 'DRUPAL_REROUTE_EMAIL_DISABLED' => 0, + ], + [ + 'reroute_email.settings' => ['enable' => TRUE], + ], + ]; + + // DRUPAL_REROUTE_EMAIL_DISABLED with string '1': disabled. + yield [ + self::ENVIRONMENT_DEV, + [ + 'DRUPAL_REROUTE_EMAIL_DISABLED' => '1', + ], + [ + 'reroute_email.settings' => ['enable' => FALSE], + ], + ]; + } + /** * Test Stage File Proxy config. */ diff --git a/.vortex/installer/tests/Fixtures/handler_process/_baseline/web/sites/default/includes/modules/settings.reroute_email.php b/.vortex/installer/tests/Fixtures/handler_process/_baseline/web/sites/default/includes/modules/settings.reroute_email.php new file mode 100644 index 000000000..690b5de58 --- /dev/null +++ b/.vortex/installer/tests/Fixtures/handler_process/_baseline/web/sites/default/includes/modules/settings.reroute_email.php @@ -0,0 +1,26 @@ +assertEquals($databases, $this->databases); // Verify key config overrides. -@@ -280,9 +287,9 @@ +@@ -292,9 +299,9 @@ } /** diff --git a/.vortex/installer/tests/Fixtures/handler_process/migration_enabled_lagoon/tests/phpunit/Drupal/EnvironmentSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/migration_enabled_lagoon/tests/phpunit/Drupal/EnvironmentSettingsTest.php index 0a55c1185..755bf4e36 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/migration_enabled_lagoon/tests/phpunit/Drupal/EnvironmentSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/migration_enabled_lagoon/tests/phpunit/Drupal/EnvironmentSettingsTest.php @@ -185,7 +185,7 @@ } /** -@@ -141,6 +321,13 @@ +@@ -144,6 +324,13 @@ $databases['default']['default']['collation'] = 'utf8_general_ci'; $databases['default']['default']['driver'] = 'mysql'; $databases['default']['default']['prefix'] = ''; @@ -199,7 +199,7 @@ $this->assertEquals($databases, $this->databases); // Verify key config overrides. -@@ -325,6 +512,224 @@ +@@ -340,6 +527,236 @@ $settings['suspend_mail_send'] = TRUE; $settings['trusted_host_patterns'] = [ '^localhost$', @@ -229,6 +229,9 @@ + $config['environment_indicator.settings']['favicon'] = TRUE; + $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; + $config['robotstxt.settings']['content'] = "User-agent: *\nDisallow: /"; ++ $config['reroute_email.settings']['enable'] = TRUE; ++ $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; ++ $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; + $config['shield.settings']['shield_enable'] = TRUE; + $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; + $config['xmlsitemap_engines.settings']['submit'] = FALSE; @@ -284,6 +287,9 @@ + $config['environment_indicator.settings']['favicon'] = TRUE; + $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; + $config['robotstxt.settings']['content'] = "User-agent: *\nDisallow: /"; ++ $config['reroute_email.settings']['enable'] = TRUE; ++ $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; ++ $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; + $config['shield.settings']['shield_enable'] = TRUE; + $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; + $config['xmlsitemap_engines.settings']['submit'] = FALSE; @@ -339,6 +345,9 @@ + $config['environment_indicator.settings']['favicon'] = TRUE; + $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; + $config['robotstxt.settings']['content'] = "User-agent: *\nDisallow: /"; ++ $config['reroute_email.settings']['enable'] = FALSE; ++ $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; ++ $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; + $config['shield.settings']['shield_enable'] = TRUE; + $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; + $config['xmlsitemap_engines.settings']['submit'] = FALSE; @@ -393,6 +402,9 @@ + $config['environment_indicator.indicator']['name'] = self::ENVIRONMENT_PROD; + $config['environment_indicator.settings']['favicon'] = TRUE; + $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; ++ $config['reroute_email.settings']['enable'] = FALSE; ++ $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; ++ $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; + $config['system.performance']['cache']['page']['max_age'] = 900; + $config['system.performance']['css']['preprocess'] = TRUE; + $config['system.performance']['js']['preprocess'] = TRUE; diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_admin_toolbar/scripts/custom/provision-10-example.sh b/.vortex/installer/tests/Fixtures/handler_process/modules_no_admin_toolbar/scripts/custom/provision-10-example.sh index e795e6ed3..ae73a79b9 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_admin_toolbar/scripts/custom/provision-10-example.sh +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_admin_toolbar/scripts/custom/provision-10-example.sh @@ -2,8 +2,8 @@ drush php:eval "\Drupal::service('config.factory')->getEditable('system.site')->set('name', 'star wars')->save();" task "Installing contrib modules." -- drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap -+ drush pm:install coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap +- drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap ++ drush pm:install coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap task "Installing Redis module." drush pm:install redis || true diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_coffee/scripts/custom/provision-10-example.sh b/.vortex/installer/tests/Fixtures/handler_process/modules_no_coffee/scripts/custom/provision-10-example.sh index 29a8ee472..5edfc36ec 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_coffee/scripts/custom/provision-10-example.sh +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_coffee/scripts/custom/provision-10-example.sh @@ -2,8 +2,8 @@ drush php:eval "\Drupal::service('config.factory')->getEditable('system.site')->set('name', 'star wars')->save();" task "Installing contrib modules." -- drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap -+ drush pm:install admin_toolbar config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap +- drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap ++ drush pm:install admin_toolbar config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap task "Installing Redis module." drush pm:install redis || true diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_config_split/scripts/custom/provision-10-example.sh b/.vortex/installer/tests/Fixtures/handler_process/modules_no_config_split/scripts/custom/provision-10-example.sh index 6530e2ed5..b69459967 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_config_split/scripts/custom/provision-10-example.sh +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_config_split/scripts/custom/provision-10-example.sh @@ -2,8 +2,8 @@ drush php:eval "\Drupal::service('config.factory')->getEditable('system.site')->set('name', 'star wars')->save();" task "Installing contrib modules." -- drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap -+ drush pm:install admin_toolbar coffee config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap +- drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap ++ drush pm:install admin_toolbar coffee config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap task "Installing Redis module." drush pm:install redis || true diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_config_split/tests/phpunit/Drupal/EnvironmentSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/modules_no_config_split/tests/phpunit/Drupal/EnvironmentSettingsTest.php index 1954a204b..c10d54b65 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_config_split/tests/phpunit/Drupal/EnvironmentSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_config_split/tests/phpunit/Drupal/EnvironmentSettingsTest.php @@ -1,4 +1,4 @@ -@@ -190,7 +190,6 @@ +@@ -196,7 +196,6 @@ $this->requireSettingsFile(); $config['automated_cron.settings']['interval'] = 0; @@ -6,7 +6,7 @@ $config['environment_indicator.indicator']['bg_color'] = '#006600'; $config['environment_indicator.indicator']['fg_color'] = '#ffffff'; $config['environment_indicator.indicator']['name'] = self::ENVIRONMENT_LOCAL; -@@ -239,7 +238,6 @@ +@@ -248,7 +247,6 @@ $this->requireSettingsFile(); $config['automated_cron.settings']['interval'] = 0; @@ -14,7 +14,7 @@ $config['environment_indicator.indicator']['bg_color'] = '#006600'; $config['environment_indicator.indicator']['fg_color'] = '#ffffff'; $config['environment_indicator.indicator']['name'] = self::ENVIRONMENT_LOCAL; -@@ -290,7 +288,6 @@ +@@ -302,7 +300,6 @@ $this->requireSettingsFile(); $config['automated_cron.settings']['interval'] = 0; diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_config_update/scripts/custom/provision-10-example.sh b/.vortex/installer/tests/Fixtures/handler_process/modules_no_config_update/scripts/custom/provision-10-example.sh index 6f9e782e4..cb1da6d9f 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_config_update/scripts/custom/provision-10-example.sh +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_config_update/scripts/custom/provision-10-example.sh @@ -2,8 +2,8 @@ drush php:eval "\Drupal::service('config.factory')->getEditable('system.site')->set('name', 'star wars')->save();" task "Installing contrib modules." -- drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap -+ drush pm:install admin_toolbar coffee config_split media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap +- drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap ++ drush pm:install admin_toolbar coffee config_split media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap task "Installing Redis module." drush pm:install redis || true diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_environment_indicator/scripts/custom/provision-10-example.sh b/.vortex/installer/tests/Fixtures/handler_process/modules_no_environment_indicator/scripts/custom/provision-10-example.sh index cf2078dae..e364028ad 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_environment_indicator/scripts/custom/provision-10-example.sh +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_environment_indicator/scripts/custom/provision-10-example.sh @@ -2,8 +2,8 @@ drush php:eval "\Drupal::service('config.factory')->getEditable('system.site')->set('name', 'star wars')->save();" task "Installing contrib modules." -- drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap -+ drush pm:install admin_toolbar coffee config_split config_update media pathauto redirect robotstxt shield stage_file_proxy xmlsitemap +- drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap ++ drush pm:install admin_toolbar coffee config_split config_update media pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap task "Installing Redis module." drush pm:install redis || true diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_environment_indicator/tests/phpunit/Drupal/EnvironmentSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/modules_no_environment_indicator/tests/phpunit/Drupal/EnvironmentSettingsTest.php index 272c893a5..7174d8209 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_environment_indicator/tests/phpunit/Drupal/EnvironmentSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_environment_indicator/tests/phpunit/Drupal/EnvironmentSettingsTest.php @@ -10,7 +10,7 @@ $config['robotstxt.settings']['content'] = "User-agent: *\nDisallow: /"; $config['shield.settings']['shield_enable'] = TRUE; $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; -@@ -144,11 +139,6 @@ +@@ -147,11 +142,6 @@ $this->assertEquals($databases, $this->databases); // Verify key config overrides. @@ -22,7 +22,7 @@ $config['robotstxt.settings']['content'] = "User-agent: *\nDisallow: /"; $config['shield.settings']['shield_enable'] = TRUE; $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; -@@ -191,11 +181,6 @@ +@@ -197,11 +187,6 @@ $config['automated_cron.settings']['interval'] = 0; $config['config_split.config_split.local']['status'] = TRUE; @@ -34,7 +34,7 @@ $config['robotstxt.settings']['content'] = "User-agent: *\nDisallow: /"; $config['shield.settings']['shield_enable'] = FALSE; $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; -@@ -240,11 +225,6 @@ +@@ -249,11 +234,6 @@ $config['automated_cron.settings']['interval'] = 0; $config['config_split.config_split.local']['status'] = TRUE; @@ -46,7 +46,7 @@ $config['robotstxt.settings']['content'] = "User-agent: *\nDisallow: /"; $config['shield.settings']['shield_enable'] = FALSE; $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; -@@ -291,11 +271,6 @@ +@@ -303,11 +283,6 @@ $config['automated_cron.settings']['interval'] = 0; $config['config_split.config_split.ci']['status'] = TRUE; diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_pathauto/composer.json b/.vortex/installer/tests/Fixtures/handler_process/modules_no_pathauto/composer.json index 53eb7938f..57d22cee0 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_pathauto/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_pathauto/composer.json @@ -5,4 +5,4 @@ - "drupal/pathauto": "__VERSION__", "drupal/redirect": "__VERSION__", "drupal/redis": "__VERSION__", - "drupal/robotstxt": "__VERSION__", + "drupal/reroute_email": "__VERSION__", diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_pathauto/scripts/custom/provision-10-example.sh b/.vortex/installer/tests/Fixtures/handler_process/modules_no_pathauto/scripts/custom/provision-10-example.sh index 77d8dd257..9a4edad1b 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_pathauto/scripts/custom/provision-10-example.sh +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_pathauto/scripts/custom/provision-10-example.sh @@ -2,8 +2,8 @@ drush php:eval "\Drupal::service('config.factory')->getEditable('system.site')->set('name', 'star wars')->save();" task "Installing contrib modules." -- drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap -+ drush pm:install admin_toolbar coffee config_split config_update media environment_indicator redirect robotstxt shield stage_file_proxy xmlsitemap +- drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap ++ drush pm:install admin_toolbar coffee config_split config_update media environment_indicator redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap task "Installing Redis module." drush pm:install redis || true diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_redirect/composer.json b/.vortex/installer/tests/Fixtures/handler_process/modules_no_redirect/composer.json index ee37767d9..7ce6644ed 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_redirect/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_redirect/composer.json @@ -4,5 +4,5 @@ "drupal/pathauto": "__VERSION__", - "drupal/redirect": "__VERSION__", "drupal/redis": "__VERSION__", + "drupal/reroute_email": "__VERSION__", "drupal/robotstxt": "__VERSION__", - "drupal/search_api": "__VERSION__", diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_redirect/scripts/custom/provision-10-example.sh b/.vortex/installer/tests/Fixtures/handler_process/modules_no_redirect/scripts/custom/provision-10-example.sh index d062b83c9..3319f534d 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_redirect/scripts/custom/provision-10-example.sh +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_redirect/scripts/custom/provision-10-example.sh @@ -2,8 +2,8 @@ drush php:eval "\Drupal::service('config.factory')->getEditable('system.site')->set('name', 'star wars')->save();" task "Installing contrib modules." -- drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap -+ drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto robotstxt shield stage_file_proxy xmlsitemap +- drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap ++ drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto reroute_email robotstxt shield stage_file_proxy xmlsitemap task "Installing Redis module." drush pm:install redis || true diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_robotstxt/composer.json b/.vortex/installer/tests/Fixtures/handler_process/modules_no_robotstxt/composer.json index daad77232..05a28702c 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_robotstxt/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_robotstxt/composer.json @@ -1,7 +1,7 @@ -@@ -20,7 +20,6 @@ - "drupal/pathauto": "__VERSION__", +@@ -21,7 +21,6 @@ "drupal/redirect": "__VERSION__", "drupal/redis": "__VERSION__", + "drupal/reroute_email": "__VERSION__", - "drupal/robotstxt": "__VERSION__", "drupal/search_api": "__VERSION__", "drupal/search_api_solr": "__VERSION__", diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_robotstxt/scripts/custom/provision-10-example.sh b/.vortex/installer/tests/Fixtures/handler_process/modules_no_robotstxt/scripts/custom/provision-10-example.sh index 1fca070af..b539b7f82 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_robotstxt/scripts/custom/provision-10-example.sh +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_robotstxt/scripts/custom/provision-10-example.sh @@ -2,8 +2,8 @@ drush php:eval "\Drupal::service('config.factory')->getEditable('system.site')->set('name', 'star wars')->save();" task "Installing contrib modules." -- drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap -+ drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect shield stage_file_proxy xmlsitemap +- drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap ++ drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email shield stage_file_proxy xmlsitemap task "Installing Redis module." drush pm:install redis || true diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_robotstxt/tests/phpunit/Drupal/EnvironmentSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/modules_no_robotstxt/tests/phpunit/Drupal/EnvironmentSettingsTest.php index 01f9d39c3..0e08f6d72 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_robotstxt/tests/phpunit/Drupal/EnvironmentSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_robotstxt/tests/phpunit/Drupal/EnvironmentSettingsTest.php @@ -6,7 +6,7 @@ $config['shield.settings']['shield_enable'] = TRUE; $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; -@@ -149,7 +148,6 @@ +@@ -152,7 +151,6 @@ $config['environment_indicator.indicator']['name'] = self::ENVIRONMENT_SUT; $config['environment_indicator.settings']['favicon'] = TRUE; $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; @@ -14,7 +14,7 @@ $config['shield.settings']['shield_enable'] = TRUE; $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; -@@ -196,7 +194,6 @@ +@@ -202,7 +200,6 @@ $config['environment_indicator.indicator']['name'] = self::ENVIRONMENT_LOCAL; $config['environment_indicator.settings']['favicon'] = TRUE; $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; @@ -22,7 +22,7 @@ $config['shield.settings']['shield_enable'] = FALSE; $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; -@@ -245,7 +242,6 @@ +@@ -254,7 +251,6 @@ $config['environment_indicator.indicator']['name'] = self::ENVIRONMENT_LOCAL; $config['environment_indicator.settings']['favicon'] = TRUE; $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; @@ -30,7 +30,7 @@ $config['shield.settings']['shield_enable'] = FALSE; $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; -@@ -296,7 +292,6 @@ +@@ -308,7 +304,6 @@ $config['environment_indicator.indicator']['name'] = self::ENVIRONMENT_CI; $config['environment_indicator.settings']['favicon'] = TRUE; $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_seckit/composer.json b/.vortex/installer/tests/Fixtures/handler_process/modules_no_seckit/composer.json index 48b17dbd3..a6d70657d 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_seckit/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_seckit/composer.json @@ -1,4 +1,4 @@ -@@ -23,7 +23,6 @@ +@@ -24,7 +24,6 @@ "drupal/robotstxt": "__VERSION__", "drupal/search_api": "__VERSION__", "drupal/search_api_solr": "__VERSION__", diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_seckit/tests/phpunit/Drupal/EnvironmentSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/modules_no_seckit/tests/phpunit/Drupal/EnvironmentSettingsTest.php index 863664a21..9dceecafe 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_seckit/tests/phpunit/Drupal/EnvironmentSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_seckit/tests/phpunit/Drupal/EnvironmentSettingsTest.php @@ -1,25 +1,25 @@ -@@ -202,8 +202,6 @@ - $config['xmlsitemap_engines.settings']['submit'] = FALSE; - $config['system.logging']['error_level'] = 'all'; - $config['system.performance']['cache']['page']['max_age'] = 900; +@@ -211,8 +211,6 @@ + $config['reroute_email.settings']['enable'] = FALSE; + $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; + $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; - $config['seckit.settings']['seckit_xss']['csp']['checkbox'] = FALSE; - $config['seckit.settings']['seckit_xss']['csp']['upgrade-req'] = FALSE; $this->assertConfig($config); $settings['auto_create_htaccess'] = FALSE; -@@ -251,8 +249,6 @@ - $config['xmlsitemap_engines.settings']['submit'] = FALSE; - $config['system.logging']['error_level'] = 'all'; - $config['system.performance']['cache']['page']['max_age'] = 900; +@@ -263,8 +261,6 @@ + $config['reroute_email.settings']['enable'] = FALSE; + $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; + $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; - $config['seckit.settings']['seckit_xss']['csp']['checkbox'] = FALSE; - $config['seckit.settings']['seckit_xss']['csp']['upgrade-req'] = FALSE; $this->assertConfig($config); $settings['auto_create_htaccess'] = FALSE; -@@ -302,8 +298,6 @@ - $config['xmlsitemap_engines.settings']['submit'] = FALSE; - $config['system.logging']['error_level'] = 'all'; - $config['system.performance']['cache']['page']['max_age'] = 900; +@@ -317,8 +313,6 @@ + $config['reroute_email.settings']['enable'] = FALSE; + $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; + $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; - $config['seckit.settings']['seckit_xss']['csp']['checkbox'] = FALSE; - $config['seckit.settings']['seckit_xss']['csp']['upgrade-req'] = FALSE; $this->assertConfig($config); diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_seckit_shield_stage_file_proxy/composer.json b/.vortex/installer/tests/Fixtures/handler_process/modules_no_seckit_shield_stage_file_proxy/composer.json index ab312fad1..c8817c620 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_seckit_shield_stage_file_proxy/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_seckit_shield_stage_file_proxy/composer.json @@ -1,4 +1,4 @@ -@@ -23,9 +23,6 @@ +@@ -24,9 +24,6 @@ "drupal/robotstxt": "__VERSION__", "drupal/search_api": "__VERSION__", "drupal/search_api_solr": "__VERSION__", diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_seckit_shield_stage_file_proxy/scripts/custom/provision-10-example.sh b/.vortex/installer/tests/Fixtures/handler_process/modules_no_seckit_shield_stage_file_proxy/scripts/custom/provision-10-example.sh index ceb25795e..9d4f613fd 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_seckit_shield_stage_file_proxy/scripts/custom/provision-10-example.sh +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_seckit_shield_stage_file_proxy/scripts/custom/provision-10-example.sh @@ -2,8 +2,8 @@ drush php:eval "\Drupal::service('config.factory')->getEditable('system.site')->set('name', 'star wars')->save();" task "Installing contrib modules." -- drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap -+ drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt xmlsitemap +- drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap ++ drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt xmlsitemap task "Installing Redis module." drush pm:install redis || true diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_seckit_shield_stage_file_proxy/tests/phpunit/Drupal/EnvironmentSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/modules_no_seckit_shield_stage_file_proxy/tests/phpunit/Drupal/EnvironmentSettingsTest.php index 56475a0ef..6c10eeb27 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_seckit_shield_stage_file_proxy/tests/phpunit/Drupal/EnvironmentSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_seckit_shield_stage_file_proxy/tests/phpunit/Drupal/EnvironmentSettingsTest.php @@ -5,16 +5,16 @@ - $config['shield.settings']['shield_enable'] = TRUE; $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; - $config['system.performance']['cache']['page']['max_age'] = 900; -@@ -150,7 +149,6 @@ + $config['reroute_email.settings']['enable'] = TRUE; +@@ -153,7 +152,6 @@ $config['environment_indicator.settings']['favicon'] = TRUE; $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; $config['robotstxt.settings']['content'] = "User-agent: *\nDisallow: /"; - $config['shield.settings']['shield_enable'] = TRUE; $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; - $config['system.performance']['cache']['page']['max_age'] = 1800; -@@ -197,13 +195,10 @@ + $config['reroute_email.settings']['enable'] = TRUE; +@@ -203,7 +201,6 @@ $config['environment_indicator.settings']['favicon'] = TRUE; $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; $config['robotstxt.settings']['content'] = "User-agent: *\nDisallow: /"; @@ -22,13 +22,16 @@ $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; $config['system.logging']['error_level'] = 'all'; - $config['system.performance']['cache']['page']['max_age'] = 900; +@@ -211,8 +208,6 @@ + $config['reroute_email.settings']['enable'] = FALSE; + $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; + $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; - $config['seckit.settings']['seckit_xss']['csp']['checkbox'] = FALSE; - $config['seckit.settings']['seckit_xss']['csp']['upgrade-req'] = FALSE; $this->assertConfig($config); $settings['auto_create_htaccess'] = FALSE; -@@ -246,13 +241,10 @@ +@@ -255,7 +250,6 @@ $config['environment_indicator.settings']['favicon'] = TRUE; $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; $config['robotstxt.settings']['content'] = "User-agent: *\nDisallow: /"; @@ -36,13 +39,16 @@ $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; $config['system.logging']['error_level'] = 'all'; - $config['system.performance']['cache']['page']['max_age'] = 900; +@@ -263,8 +257,6 @@ + $config['reroute_email.settings']['enable'] = FALSE; + $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; + $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; - $config['seckit.settings']['seckit_xss']['csp']['checkbox'] = FALSE; - $config['seckit.settings']['seckit_xss']['csp']['upgrade-req'] = FALSE; $this->assertConfig($config); $settings['auto_create_htaccess'] = FALSE; -@@ -297,13 +289,10 @@ +@@ -309,7 +301,6 @@ $config['environment_indicator.settings']['favicon'] = TRUE; $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; $config['robotstxt.settings']['content'] = "User-agent: *\nDisallow: /"; @@ -50,7 +56,10 @@ $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; $config['system.logging']['error_level'] = 'all'; - $config['system.performance']['cache']['page']['max_age'] = 900; +@@ -317,8 +308,6 @@ + $config['reroute_email.settings']['enable'] = FALSE; + $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; + $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; - $config['seckit.settings']['seckit_xss']['csp']['checkbox'] = FALSE; - $config['seckit.settings']['seckit_xss']['csp']['upgrade-req'] = FALSE; $this->assertConfig($config); diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_seckit_shield_stage_file_proxy/tests/phpunit/Drupal/SwitchableSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/modules_no_seckit_shield_stage_file_proxy/tests/phpunit/Drupal/SwitchableSettingsTest.php index 8c99eb8db..acd9ddea1 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_seckit_shield_stage_file_proxy/tests/phpunit/Drupal/SwitchableSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_seckit_shield_stage_file_proxy/tests/phpunit/Drupal/SwitchableSettingsTest.php @@ -1,4 +1,4 @@ -@@ -297,500 +297,6 @@ +@@ -297,375 +297,6 @@ } /** @@ -370,6 +370,17 @@ - ]; - } - +- /** + * Test Reroute Email config. + */ + #[DataProvider('dataProviderRerouteEmail')] +@@ -801,131 +432,6 @@ + [ + 'reroute_email.settings' => ['enable' => FALSE], + ], +- ]; +- } +- - /** - * Test Stage File Proxy config. - */ @@ -492,10 +503,6 @@ - 'stage_file_proxy.settings' => ['hotlink' => FALSE, 'origin' => 'https://drupal_shield_user:drupal_shield_pass@example.com/'], - ], - [], -- ]; -- } -- -- /** - * Test trusted host patterns settings. - */ - #[DataProvider('dataProviderTrustedHostPatterns')] + ]; + } + diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_shield/composer.json b/.vortex/installer/tests/Fixtures/handler_process/modules_no_shield/composer.json index 8a120a603..747d383e7 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_shield/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_shield/composer.json @@ -1,4 +1,4 @@ -@@ -24,7 +24,6 @@ +@@ -25,7 +25,6 @@ "drupal/search_api": "__VERSION__", "drupal/search_api_solr": "__VERSION__", "drupal/seckit": "__VERSION__", diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_shield/scripts/custom/provision-10-example.sh b/.vortex/installer/tests/Fixtures/handler_process/modules_no_shield/scripts/custom/provision-10-example.sh index f2a4d2b20..3b69b1e55 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_shield/scripts/custom/provision-10-example.sh +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_shield/scripts/custom/provision-10-example.sh @@ -2,8 +2,8 @@ drush php:eval "\Drupal::service('config.factory')->getEditable('system.site')->set('name', 'star wars')->save();" task "Installing contrib modules." -- drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap -+ drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt stage_file_proxy xmlsitemap +- drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap ++ drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt stage_file_proxy xmlsitemap task "Installing Redis module." drush pm:install redis || true diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_shield/tests/phpunit/Drupal/EnvironmentSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/modules_no_shield/tests/phpunit/Drupal/EnvironmentSettingsTest.php index 5c31b4b2e..b630e2cea 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_shield/tests/phpunit/Drupal/EnvironmentSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_shield/tests/phpunit/Drupal/EnvironmentSettingsTest.php @@ -5,16 +5,16 @@ - $config['shield.settings']['shield_enable'] = TRUE; $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; - $config['system.performance']['cache']['page']['max_age'] = 900; -@@ -150,7 +149,6 @@ + $config['reroute_email.settings']['enable'] = TRUE; +@@ -153,7 +152,6 @@ $config['environment_indicator.settings']['favicon'] = TRUE; $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; $config['robotstxt.settings']['content'] = "User-agent: *\nDisallow: /"; - $config['shield.settings']['shield_enable'] = TRUE; $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; - $config['system.performance']['cache']['page']['max_age'] = 1800; -@@ -197,7 +195,6 @@ + $config['reroute_email.settings']['enable'] = TRUE; +@@ -203,7 +201,6 @@ $config['environment_indicator.settings']['favicon'] = TRUE; $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; $config['robotstxt.settings']['content'] = "User-agent: *\nDisallow: /"; @@ -22,7 +22,7 @@ $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; $config['system.logging']['error_level'] = 'all'; -@@ -246,7 +243,6 @@ +@@ -255,7 +252,6 @@ $config['environment_indicator.settings']['favicon'] = TRUE; $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; $config['robotstxt.settings']['content'] = "User-agent: *\nDisallow: /"; @@ -30,7 +30,7 @@ $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; $config['system.logging']['error_level'] = 'all'; -@@ -297,7 +293,6 @@ +@@ -309,7 +305,6 @@ $config['environment_indicator.settings']['favicon'] = TRUE; $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; $config['robotstxt.settings']['content'] = "User-agent: *\nDisallow: /"; diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_shield/tests/phpunit/Drupal/SwitchableSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/modules_no_shield/tests/phpunit/Drupal/SwitchableSettingsTest.php index 374fdad1c..ca273cc60 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_shield/tests/phpunit/Drupal/SwitchableSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_shield/tests/phpunit/Drupal/SwitchableSettingsTest.php @@ -371,6 +371,6 @@ - } - - /** - * Test Stage File Proxy config. + * Test Reroute Email config. */ - #[DataProvider('dataProviderStageFileProxy')] + #[DataProvider('dataProviderRerouteEmail')] diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_stage_file_proxy/composer.json b/.vortex/installer/tests/Fixtures/handler_process/modules_no_stage_file_proxy/composer.json index de1ef7e24..0f7d0143a 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_stage_file_proxy/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_stage_file_proxy/composer.json @@ -1,4 +1,4 @@ -@@ -25,7 +25,6 @@ +@@ -26,7 +26,6 @@ "drupal/search_api_solr": "__VERSION__", "drupal/seckit": "__VERSION__", "drupal/shield": "__VERSION__", diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_stage_file_proxy/scripts/custom/provision-10-example.sh b/.vortex/installer/tests/Fixtures/handler_process/modules_no_stage_file_proxy/scripts/custom/provision-10-example.sh index 5761c9819..fc258f924 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_stage_file_proxy/scripts/custom/provision-10-example.sh +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_stage_file_proxy/scripts/custom/provision-10-example.sh @@ -2,8 +2,8 @@ drush php:eval "\Drupal::service('config.factory')->getEditable('system.site')->set('name', 'star wars')->save();" task "Installing contrib modules." -- drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap -+ drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield xmlsitemap +- drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap ++ drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield xmlsitemap task "Installing Redis module." drush pm:install redis || true diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_no_stage_file_proxy/tests/phpunit/Drupal/SwitchableSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/modules_no_stage_file_proxy/tests/phpunit/Drupal/SwitchableSettingsTest.php index bc2373889..05aae39ae 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_no_stage_file_proxy/tests/phpunit/Drupal/SwitchableSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_no_stage_file_proxy/tests/phpunit/Drupal/SwitchableSettingsTest.php @@ -1,4 +1,4 @@ -@@ -666,131 +666,6 @@ +@@ -805,131 +805,6 @@ } /** diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_none/composer.json b/.vortex/installer/tests/Fixtures/handler_process/modules_none/composer.json index bebedc227..52bc5e58b 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_none/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_none/composer.json @@ -1,4 +1,4 @@ -@@ -7,27 +7,15 @@ +@@ -7,28 +7,15 @@ "php": "__VERSION__", "composer/installers": "__VERSION__", "cweagans/composer-patches": "__VERSION__", @@ -15,6 +15,7 @@ - "drupal/pathauto": "__VERSION__", - "drupal/redirect": "__VERSION__", "drupal/redis": "__VERSION__", +- "drupal/reroute_email": "__VERSION__", - "drupal/robotstxt": "__VERSION__", "drupal/search_api": "__VERSION__", "drupal/search_api_solr": "__VERSION__", diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_none/scripts/custom/provision-10-example.sh b/.vortex/installer/tests/Fixtures/handler_process/modules_none/scripts/custom/provision-10-example.sh index 4889ef144..accac3172 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_none/scripts/custom/provision-10-example.sh +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_none/scripts/custom/provision-10-example.sh @@ -3,7 +3,7 @@ drush php:eval "\Drupal::service('config.factory')->getEditable('system.site')->set('name', 'star wars')->save();" - task "Installing contrib modules." -- drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap +- drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap - task "Installing Redis module." drush pm:install redis || true diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_none/tests/phpunit/Drupal/EnvironmentSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/modules_none/tests/phpunit/Drupal/EnvironmentSettingsTest.php index 228287672..504761a01 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_none/tests/phpunit/Drupal/EnvironmentSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_none/tests/phpunit/Drupal/EnvironmentSettingsTest.php @@ -1,4 +1,4 @@ -@@ -70,14 +70,6 @@ +@@ -70,18 +70,7 @@ $this->requireSettingsFile(); @@ -11,9 +11,13 @@ - $config['shield.settings']['shield_enable'] = TRUE; - $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; +- $config['reroute_email.settings']['enable'] = TRUE; +- $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; +- $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; $config['system.performance']['cache']['page']['max_age'] = 900; $this->assertConfig($config); -@@ -144,14 +136,6 @@ + +@@ -147,18 +136,7 @@ $this->assertEquals($databases, $this->databases); // Verify key config overrides. @@ -26,9 +30,13 @@ - $config['shield.settings']['shield_enable'] = TRUE; - $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; +- $config['reroute_email.settings']['enable'] = TRUE; +- $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; +- $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; $config['system.performance']['cache']['page']['max_age'] = 1800; $this->assertConfig($config); -@@ -190,20 +174,9 @@ + +@@ -196,23 +174,9 @@ $this->requireSettingsFile(); $config['automated_cron.settings']['interval'] = 0; @@ -44,12 +52,15 @@ $config['xmlsitemap_engines.settings']['submit'] = FALSE; $config['system.logging']['error_level'] = 'all'; $config['system.performance']['cache']['page']['max_age'] = 900; +- $config['reroute_email.settings']['enable'] = FALSE; +- $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; +- $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; - $config['seckit.settings']['seckit_xss']['csp']['checkbox'] = FALSE; - $config['seckit.settings']['seckit_xss']['csp']['upgrade-req'] = FALSE; $this->assertConfig($config); $settings['auto_create_htaccess'] = FALSE; -@@ -239,20 +212,9 @@ +@@ -248,23 +212,9 @@ $this->requireSettingsFile(); $config['automated_cron.settings']['interval'] = 0; @@ -65,12 +76,15 @@ $config['xmlsitemap_engines.settings']['submit'] = FALSE; $config['system.logging']['error_level'] = 'all'; $config['system.performance']['cache']['page']['max_age'] = 900; +- $config['reroute_email.settings']['enable'] = FALSE; +- $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; +- $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; - $config['seckit.settings']['seckit_xss']['csp']['checkbox'] = FALSE; - $config['seckit.settings']['seckit_xss']['csp']['upgrade-req'] = FALSE; $this->assertConfig($config); $settings['auto_create_htaccess'] = FALSE; -@@ -290,20 +252,9 @@ +@@ -302,23 +252,9 @@ $this->requireSettingsFile(); $config['automated_cron.settings']['interval'] = 0; @@ -86,6 +100,9 @@ $config['xmlsitemap_engines.settings']['submit'] = FALSE; $config['system.logging']['error_level'] = 'all'; $config['system.performance']['cache']['page']['max_age'] = 900; +- $config['reroute_email.settings']['enable'] = FALSE; +- $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; +- $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; - $config['seckit.settings']['seckit_xss']['csp']['checkbox'] = FALSE; - $config['seckit.settings']['seckit_xss']['csp']['upgrade-req'] = FALSE; $this->assertConfig($config); diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_none/tests/phpunit/Drupal/SwitchableSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/modules_none/tests/phpunit/Drupal/SwitchableSettingsTest.php index cffb6b01d..fcf3a2fcb 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/modules_none/tests/phpunit/Drupal/SwitchableSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/modules_none/tests/phpunit/Drupal/SwitchableSettingsTest.php @@ -153,7 +153,7 @@ * Test Redis settings. */ public function testRedis(): void { -@@ -294,500 +146,6 @@ +@@ -294,639 +146,6 @@ unset($this->settings['bootstrap_container_definition']); $this->assertSettingsContains($settings); @@ -529,6 +529,145 @@ public function testRedis(): void { - } - - /** +- * Test Reroute Email config. +- */ +- #[DataProvider('dataProviderRerouteEmail')] +- public function testRerouteEmail(string $env, array $vars, array $expected_present, array $expected_absent = []): void { +- $this->setEnvVars($vars + ['DRUPAL_ENVIRONMENT' => $env]); +- +- $this->requireSettingsFile(); +- +- $this->assertConfigContains($expected_present); +- $this->assertConfigNotContains($expected_absent); +- } +- +- /** +- * Data provider for testRerouteEmail(). +- */ +- public static function dataProviderRerouteEmail(): \Iterator { +- // Local: disabled by default. +- yield [ +- self::ENVIRONMENT_LOCAL, +- [], +- [ +- 'reroute_email.settings' => ['enable' => FALSE, 'address' => 'webmaster@star-wars.com', 'allowed' => '*@star-wars.com'], +- ], +- ]; +- +- // CI: disabled by default. +- yield [ +- self::ENVIRONMENT_CI, +- [], +- [ +- 'reroute_email.settings' => ['enable' => FALSE, 'address' => 'webmaster@star-wars.com', 'allowed' => '*@star-wars.com'], +- ], +- ]; +- +- // Dev: enabled by default. +- yield [ +- self::ENVIRONMENT_DEV, +- [], +- [ +- 'reroute_email.settings' => ['enable' => TRUE, 'address' => 'webmaster@star-wars.com', 'allowed' => '*@star-wars.com'], +- ], +- ]; +- +- // SUT: enabled by default. +- yield [ +- self::ENVIRONMENT_SUT, +- [], +- [ +- 'reroute_email.settings' => ['enable' => TRUE, 'address' => 'webmaster@star-wars.com', 'allowed' => '*@star-wars.com'], +- ], +- ]; +- +- // Stage: disabled by default. +- yield [ +- self::ENVIRONMENT_STAGE, +- [], +- [ +- 'reroute_email.settings' => ['enable' => FALSE, 'address' => 'webmaster@star-wars.com', 'allowed' => '*@star-wars.com'], +- ], +- ]; +- +- // Prod: disabled by default. +- yield [ +- self::ENVIRONMENT_PROD, +- [], +- [ +- 'reroute_email.settings' => ['enable' => FALSE, 'address' => 'webmaster@star-wars.com', 'allowed' => '*@star-wars.com'], +- ], +- ]; +- +- // Dev with DRUPAL_REROUTE_EMAIL_DISABLED: forced off. +- yield [ +- self::ENVIRONMENT_DEV, +- [ +- 'DRUPAL_REROUTE_EMAIL_DISABLED' => 1, +- ], +- [ +- 'reroute_email.settings' => ['enable' => FALSE], +- ], +- ]; +- +- // SUT with DRUPAL_REROUTE_EMAIL_DISABLED: forced off. +- yield [ +- self::ENVIRONMENT_SUT, +- [ +- 'DRUPAL_REROUTE_EMAIL_DISABLED' => 1, +- ], +- [ +- 'reroute_email.settings' => ['enable' => FALSE], +- ], +- ]; +- +- // Custom address and allowed list. +- yield [ +- self::ENVIRONMENT_DEV, +- [ +- 'DRUPAL_REROUTE_EMAIL_ADDRESS' => 'dev@example.com', +- 'DRUPAL_REROUTE_EMAIL_ALLOWED' => '*@example.com', +- ], +- [ +- 'reroute_email.settings' => ['enable' => TRUE, 'address' => 'dev@example.com', 'allowed' => '*@example.com'], +- ], +- ]; +- +- // DRUPAL_REROUTE_EMAIL_DISABLED with empty value: not disabled. +- yield [ +- self::ENVIRONMENT_DEV, +- [ +- 'DRUPAL_REROUTE_EMAIL_DISABLED' => '', +- ], +- [ +- 'reroute_email.settings' => ['enable' => TRUE], +- ], +- ]; +- +- // DRUPAL_REROUTE_EMAIL_DISABLED with 0: not disabled. +- yield [ +- self::ENVIRONMENT_DEV, +- [ +- 'DRUPAL_REROUTE_EMAIL_DISABLED' => 0, +- ], +- [ +- 'reroute_email.settings' => ['enable' => TRUE], +- ], +- ]; +- +- // DRUPAL_REROUTE_EMAIL_DISABLED with string '1': disabled. +- yield [ +- self::ENVIRONMENT_DEV, +- [ +- 'DRUPAL_REROUTE_EMAIL_DISABLED' => '1', +- ], +- [ +- 'reroute_email.settings' => ['enable' => FALSE], +- ], +- ]; +- } +- +- /** - * Test Stage File Proxy config. - */ - #[DataProvider('dataProviderStageFileProxy')] diff --git a/.vortex/installer/tests/Fixtures/handler_process/modules_none/web/sites/default/includes/modules/-settings.reroute_email.php b/.vortex/installer/tests/Fixtures/handler_process/modules_none/web/sites/default/includes/modules/-settings.reroute_email.php new file mode 100644 index 000000000..e69de29bb diff --git a/.vortex/installer/tests/Fixtures/handler_process/names/scripts/custom/provision-10-example.sh b/.vortex/installer/tests/Fixtures/handler_process/names/scripts/custom/provision-10-example.sh index a7d0e4e62..496281d48 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/names/scripts/custom/provision-10-example.sh +++ b/.vortex/installer/tests/Fixtures/handler_process/names/scripts/custom/provision-10-example.sh @@ -6,7 +6,7 @@ + drush php:eval "\Drupal::service('config.factory')->getEditable('system.site')->set('name', 'New hope')->save();" task "Installing contrib modules." - drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap + drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap @@ -55,11 +55,11 @@ # Note that deployment hooks for already enabled modules have run in the # parent "provision.sh" script. diff --git a/.vortex/installer/tests/Fixtures/handler_process/names/tests/phpunit/Drupal/EnvironmentSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/names/tests/phpunit/Drupal/EnvironmentSettingsTest.php new file mode 100644 index 000000000..76bbaf473 --- /dev/null +++ b/.vortex/installer/tests/Fixtures/handler_process/names/tests/phpunit/Drupal/EnvironmentSettingsTest.php @@ -0,0 +1,55 @@ +@@ -80,8 +80,8 @@ + $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; + $config['xmlsitemap_engines.settings']['submit'] = FALSE; + $config['reroute_email.settings']['enable'] = TRUE; +- $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; +- $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; ++ $config['reroute_email.settings']['address'] = 'webmaster@death-star.com'; ++ $config['reroute_email.settings']['allowed'] = '*@death-star.com'; + $config['system.performance']['cache']['page']['max_age'] = 900; + $this->assertConfig($config); + +@@ -157,8 +157,8 @@ + $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; + $config['xmlsitemap_engines.settings']['submit'] = FALSE; + $config['reroute_email.settings']['enable'] = TRUE; +- $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; +- $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; ++ $config['reroute_email.settings']['address'] = 'webmaster@death-star.com'; ++ $config['reroute_email.settings']['allowed'] = '*@death-star.com'; + $config['system.performance']['cache']['page']['max_age'] = 1800; + $this->assertConfig($config); + +@@ -209,8 +209,8 @@ + $config['system.logging']['error_level'] = 'all'; + $config['system.performance']['cache']['page']['max_age'] = 900; + $config['reroute_email.settings']['enable'] = FALSE; +- $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; +- $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; ++ $config['reroute_email.settings']['address'] = 'webmaster@death-star.com'; ++ $config['reroute_email.settings']['allowed'] = '*@death-star.com'; + $config['seckit.settings']['seckit_xss']['csp']['checkbox'] = FALSE; + $config['seckit.settings']['seckit_xss']['csp']['upgrade-req'] = FALSE; + $this->assertConfig($config); +@@ -261,8 +261,8 @@ + $config['system.logging']['error_level'] = 'all'; + $config['system.performance']['cache']['page']['max_age'] = 900; + $config['reroute_email.settings']['enable'] = FALSE; +- $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; +- $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; ++ $config['reroute_email.settings']['address'] = 'webmaster@death-star.com'; ++ $config['reroute_email.settings']['allowed'] = '*@death-star.com'; + $config['seckit.settings']['seckit_xss']['csp']['checkbox'] = FALSE; + $config['seckit.settings']['seckit_xss']['csp']['upgrade-req'] = FALSE; + $this->assertConfig($config); +@@ -315,8 +315,8 @@ + $config['system.logging']['error_level'] = 'all'; + $config['system.performance']['cache']['page']['max_age'] = 900; + $config['reroute_email.settings']['enable'] = FALSE; +- $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; +- $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; ++ $config['reroute_email.settings']['address'] = 'webmaster@death-star.com'; ++ $config['reroute_email.settings']['allowed'] = '*@death-star.com'; + $config['seckit.settings']['seckit_xss']['csp']['checkbox'] = FALSE; + $config['seckit.settings']['seckit_xss']['csp']['upgrade-req'] = FALSE; + $this->assertConfig($config); diff --git a/.vortex/installer/tests/Fixtures/handler_process/names/tests/phpunit/Drupal/SwitchableSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/names/tests/phpunit/Drupal/SwitchableSettingsTest.php new file mode 100644 index 000000000..445f21812 --- /dev/null +++ b/.vortex/installer/tests/Fixtures/handler_process/names/tests/phpunit/Drupal/SwitchableSettingsTest.php @@ -0,0 +1,54 @@ +@@ -687,7 +687,7 @@ + self::ENVIRONMENT_LOCAL, + [], + [ +- 'reroute_email.settings' => ['enable' => FALSE, 'address' => 'webmaster@star-wars.com', 'allowed' => '*@star-wars.com'], ++ 'reroute_email.settings' => ['enable' => FALSE, 'address' => 'webmaster@death-star.com', 'allowed' => '*@death-star.com'], + ], + ]; + +@@ -696,7 +696,7 @@ + self::ENVIRONMENT_CI, + [], + [ +- 'reroute_email.settings' => ['enable' => FALSE, 'address' => 'webmaster@star-wars.com', 'allowed' => '*@star-wars.com'], ++ 'reroute_email.settings' => ['enable' => FALSE, 'address' => 'webmaster@death-star.com', 'allowed' => '*@death-star.com'], + ], + ]; + +@@ -705,7 +705,7 @@ + self::ENVIRONMENT_DEV, + [], + [ +- 'reroute_email.settings' => ['enable' => TRUE, 'address' => 'webmaster@star-wars.com', 'allowed' => '*@star-wars.com'], ++ 'reroute_email.settings' => ['enable' => TRUE, 'address' => 'webmaster@death-star.com', 'allowed' => '*@death-star.com'], + ], + ]; + +@@ -714,7 +714,7 @@ + self::ENVIRONMENT_SUT, + [], + [ +- 'reroute_email.settings' => ['enable' => TRUE, 'address' => 'webmaster@star-wars.com', 'allowed' => '*@star-wars.com'], ++ 'reroute_email.settings' => ['enable' => TRUE, 'address' => 'webmaster@death-star.com', 'allowed' => '*@death-star.com'], + ], + ]; + +@@ -723,7 +723,7 @@ + self::ENVIRONMENT_STAGE, + [], + [ +- 'reroute_email.settings' => ['enable' => FALSE, 'address' => 'webmaster@star-wars.com', 'allowed' => '*@star-wars.com'], ++ 'reroute_email.settings' => ['enable' => FALSE, 'address' => 'webmaster@death-star.com', 'allowed' => '*@death-star.com'], + ], + ]; + +@@ -732,7 +732,7 @@ + self::ENVIRONMENT_PROD, + [], + [ +- 'reroute_email.settings' => ['enable' => FALSE, 'address' => 'webmaster@star-wars.com', 'allowed' => '*@star-wars.com'], ++ 'reroute_email.settings' => ['enable' => FALSE, 'address' => 'webmaster@death-star.com', 'allowed' => '*@death-star.com'], + ], + ]; + diff --git a/.vortex/installer/tests/Fixtures/handler_process/names/web/sites/default/includes/modules/settings.reroute_email.php b/.vortex/installer/tests/Fixtures/handler_process/names/web/sites/default/includes/modules/settings.reroute_email.php new file mode 100644 index 000000000..4e92135f1 --- /dev/null +++ b/.vortex/installer/tests/Fixtures/handler_process/names/web/sites/default/includes/modules/settings.reroute_email.php @@ -0,0 +1,11 @@ +@@ -8,8 +8,8 @@ + declare(strict_types=1); + + // Default reroute email address and allowed list. +-$config['reroute_email.settings']['address'] = getenv('DRUPAL_REROUTE_EMAIL_ADDRESS') ?: 'webmaster@star-wars.com'; +-$config['reroute_email.settings']['allowed'] = getenv('DRUPAL_REROUTE_EMAIL_ALLOWED') ?: '*@star-wars.com'; ++$config['reroute_email.settings']['address'] = getenv('DRUPAL_REROUTE_EMAIL_ADDRESS') ?: 'webmaster@death-star.com'; ++$config['reroute_email.settings']['allowed'] = getenv('DRUPAL_REROUTE_EMAIL_ALLOWED') ?: '*@death-star.com'; + + // Enable rerouting in all environments except local, ci, stage and prod. + // This covers dev and any custom environments (e.g., PR environments). diff --git a/.vortex/installer/tests/Fixtures/handler_process/non_interactive_config_file/composer.json b/.vortex/installer/tests/Fixtures/handler_process/non_interactive_config_file/composer.json index e95b5cf17..ee122d1d5 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/non_interactive_config_file/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/non_interactive_config_file/composer.json @@ -12,6 +12,6 @@ "drupal/pathauto": "__VERSION__", "drupal/redirect": "__VERSION__", - "drupal/redis": "__VERSION__", + "drupal/reroute_email": "__VERSION__", "drupal/robotstxt": "__VERSION__", "drupal/search_api": "__VERSION__", - "drupal/search_api_solr": "__VERSION__", diff --git a/.vortex/installer/tests/Fixtures/handler_process/non_interactive_config_file/scripts/custom/provision-10-example.sh b/.vortex/installer/tests/Fixtures/handler_process/non_interactive_config_file/scripts/custom/provision-10-example.sh index ae9663e46..c68100be9 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/non_interactive_config_file/scripts/custom/provision-10-example.sh +++ b/.vortex/installer/tests/Fixtures/handler_process/non_interactive_config_file/scripts/custom/provision-10-example.sh @@ -1,6 +1,6 @@ @@ -40,9 +40,6 @@ task "Installing contrib modules." - drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap + drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap - task "Installing Redis module." - drush pm:install redis || true diff --git a/.vortex/installer/tests/Fixtures/handler_process/provision_database_lagoon/tests/phpunit/Drupal/EnvironmentSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/provision_database_lagoon/tests/phpunit/Drupal/EnvironmentSettingsTest.php index 0c6aab903..c93afa303 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/provision_database_lagoon/tests/phpunit/Drupal/EnvironmentSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/provision_database_lagoon/tests/phpunit/Drupal/EnvironmentSettingsTest.php @@ -185,7 +185,7 @@ } /** -@@ -325,6 +505,224 @@ +@@ -340,6 +520,236 @@ $settings['suspend_mail_send'] = TRUE; $settings['trusted_host_patterns'] = [ '^localhost$', @@ -215,6 +215,9 @@ + $config['environment_indicator.settings']['favicon'] = TRUE; + $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; + $config['robotstxt.settings']['content'] = "User-agent: *\nDisallow: /"; ++ $config['reroute_email.settings']['enable'] = TRUE; ++ $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; ++ $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; + $config['shield.settings']['shield_enable'] = TRUE; + $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; + $config['xmlsitemap_engines.settings']['submit'] = FALSE; @@ -270,6 +273,9 @@ + $config['environment_indicator.settings']['favicon'] = TRUE; + $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; + $config['robotstxt.settings']['content'] = "User-agent: *\nDisallow: /"; ++ $config['reroute_email.settings']['enable'] = TRUE; ++ $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; ++ $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; + $config['shield.settings']['shield_enable'] = TRUE; + $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; + $config['xmlsitemap_engines.settings']['submit'] = FALSE; @@ -325,6 +331,9 @@ + $config['environment_indicator.settings']['favicon'] = TRUE; + $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; + $config['robotstxt.settings']['content'] = "User-agent: *\nDisallow: /"; ++ $config['reroute_email.settings']['enable'] = FALSE; ++ $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; ++ $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; + $config['shield.settings']['shield_enable'] = TRUE; + $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; + $config['xmlsitemap_engines.settings']['submit'] = FALSE; @@ -379,6 +388,9 @@ + $config['environment_indicator.indicator']['name'] = self::ENVIRONMENT_PROD; + $config['environment_indicator.settings']['favicon'] = TRUE; + $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; ++ $config['reroute_email.settings']['enable'] = FALSE; ++ $config['reroute_email.settings']['address'] = 'webmaster@star-wars.com'; ++ $config['reroute_email.settings']['allowed'] = '*@star-wars.com'; + $config['system.performance']['cache']['page']['max_age'] = 900; + $config['system.performance']['css']['preprocess'] = TRUE; + $config['system.performance']['js']['preprocess'] = TRUE; diff --git a/.vortex/installer/tests/Fixtures/handler_process/services_no_redis/composer.json b/.vortex/installer/tests/Fixtures/handler_process/services_no_redis/composer.json index 666ca0de1..f5d99b71b 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/services_no_redis/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/services_no_redis/composer.json @@ -3,6 +3,6 @@ "drupal/pathauto": "__VERSION__", "drupal/redirect": "__VERSION__", - "drupal/redis": "__VERSION__", + "drupal/reroute_email": "__VERSION__", "drupal/robotstxt": "__VERSION__", "drupal/search_api": "__VERSION__", - "drupal/search_api_solr": "__VERSION__", diff --git a/.vortex/installer/tests/Fixtures/handler_process/services_no_redis/scripts/custom/provision-10-example.sh b/.vortex/installer/tests/Fixtures/handler_process/services_no_redis/scripts/custom/provision-10-example.sh index ae9663e46..c68100be9 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/services_no_redis/scripts/custom/provision-10-example.sh +++ b/.vortex/installer/tests/Fixtures/handler_process/services_no_redis/scripts/custom/provision-10-example.sh @@ -1,6 +1,6 @@ @@ -40,9 +40,6 @@ task "Installing contrib modules." - drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap + drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap - task "Installing Redis module." - drush pm:install redis || true diff --git a/.vortex/installer/tests/Fixtures/handler_process/services_no_solr/composer.json b/.vortex/installer/tests/Fixtures/handler_process/services_no_solr/composer.json index 59fe02bcf..24f92b515 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/services_no_solr/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/services_no_solr/composer.json @@ -1,5 +1,5 @@ -@@ -22,7 +22,6 @@ - "drupal/redis": "__VERSION__", +@@ -23,7 +23,6 @@ + "drupal/reroute_email": "__VERSION__", "drupal/robotstxt": "__VERSION__", "drupal/search_api": "__VERSION__", - "drupal/search_api_solr": "__VERSION__", diff --git a/.vortex/installer/tests/Fixtures/handler_process/services_none/composer.json b/.vortex/installer/tests/Fixtures/handler_process/services_none/composer.json index 490bc1c33..719b7f426 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/services_none/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/services_none/composer.json @@ -6,11 +6,12 @@ "drupal/coffee": "__VERSION__", "drupal/config_split": "__VERSION__", "drupal/config_update": "__VERSION__", -@@ -19,10 +18,8 @@ +@@ -19,11 +18,9 @@ "drupal/generated_content": "__VERSION__", "drupal/pathauto": "__VERSION__", "drupal/redirect": "__VERSION__", - "drupal/redis": "__VERSION__", + "drupal/reroute_email": "__VERSION__", "drupal/robotstxt": "__VERSION__", "drupal/search_api": "__VERSION__", - "drupal/search_api_solr": "__VERSION__", diff --git a/.vortex/installer/tests/Fixtures/handler_process/services_none/scripts/custom/provision-10-example.sh b/.vortex/installer/tests/Fixtures/handler_process/services_none/scripts/custom/provision-10-example.sh index 3edbc97aa..9c9daadd5 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/services_none/scripts/custom/provision-10-example.sh +++ b/.vortex/installer/tests/Fixtures/handler_process/services_none/scripts/custom/provision-10-example.sh @@ -1,6 +1,6 @@ @@ -40,16 +40,6 @@ task "Installing contrib modules." - drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap + drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap - task "Installing Redis module." - drush pm:install redis || true diff --git a/.vortex/installer/tests/Fixtures/handler_process/starter_drupal_cms_profile/composer.json b/.vortex/installer/tests/Fixtures/handler_process/starter_drupal_cms_profile/composer.json index 9bb0cfc89..2bfc4dd9b 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/starter_drupal_cms_profile/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/starter_drupal_cms_profile/composer.json @@ -6,7 +6,7 @@ "drupal/coffee": "__VERSION__", "drupal/config_split": "__VERSION__", "drupal/config_update": "__VERSION__", -@@ -30,7 +31,9 @@ +@@ -31,7 +32,9 @@ "drupal/xmlsitemap": "__VERSION__", "drush/drush": "__VERSION__", "oomphinc/composer-installers-extender": "__VERSION__", @@ -17,7 +17,7 @@ }, "require-dev": { "behat/behat": "__VERSION__", -@@ -67,7 +70,7 @@ +@@ -68,7 +71,7 @@ "url": "https://packages.drupal.org/8" } ], @@ -26,7 +26,7 @@ "prefer-stable": true, "autoload": { "classmap": [ -@@ -90,7 +93,11 @@ +@@ -91,7 +94,11 @@ "php-http/discovery": true, "phpstan/extension-installer": true, "pyrech/composer-changelogs": true, @@ -39,7 +39,7 @@ }, "audit": { "abandoned": "report", -@@ -167,7 +174,20 @@ +@@ -168,7 +175,20 @@ "patchLevel": { "drupal/core": "-p2" }, diff --git a/.vortex/installer/tests/Fixtures/handler_process/timezone_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/timezone_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php index aa1deaed6..9da8fd249 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/timezone_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/timezone_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php @@ -1,4 +1,4 @@ -@@ -280,9 +280,9 @@ +@@ -292,9 +292,9 @@ } /** diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint/composer.json b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint/composer.json index 424311633..db76ccab0 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint/composer.json @@ -1,4 +1,4 @@ -@@ -35,27 +35,17 @@ +@@ -36,27 +36,17 @@ "require-dev": { "behat/behat": "__VERSION__", "dantleech/gherkin-lint": "__VERSION__", @@ -26,7 +26,7 @@ "vincentlanglet/twig-cs-fixer": "__VERSION__" }, "conflict": { -@@ -83,12 +73,10 @@ +@@ -84,12 +74,10 @@ "allow-plugins": { "composer/installers": true, "cweagans/composer-patches": true, diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint_circleci/composer.json b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint_circleci/composer.json index 424311633..db76ccab0 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint_circleci/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint_circleci/composer.json @@ -1,4 +1,4 @@ -@@ -35,27 +35,17 @@ +@@ -36,27 +36,17 @@ "require-dev": { "behat/behat": "__VERSION__", "dantleech/gherkin-lint": "__VERSION__", @@ -26,7 +26,7 @@ "vincentlanglet/twig-cs-fixer": "__VERSION__" }, "conflict": { -@@ -83,12 +73,10 @@ +@@ -84,12 +74,10 @@ "allow-plugins": { "composer/installers": true, "cweagans/composer-patches": true, diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php index 1e3b86ec5..a6cbc7ce5 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php @@ -9,7 +9,7 @@ */ #[Group('drupal_settings')] class EnvironmentSettingsTest extends SettingsTestCase { -@@ -280,9 +276,9 @@ +@@ -292,9 +288,9 @@ } /** diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests/composer.json b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests/composer.json index aa5672fb7..c35f1bff9 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests/composer.json @@ -1,4 +1,4 @@ -@@ -33,15 +33,9 @@ +@@ -34,15 +34,9 @@ "webflo/drupal-finder": "__VERSION__" }, "require-dev": { @@ -14,7 +14,7 @@ "ergebnis/composer-normalize": "__VERSION__", "lullabot/mink-selenium2-driver": "__VERSION__", "lullabot/php-webdriver": "__VERSION__", -@@ -50,10 +44,8 @@ +@@ -51,10 +45,8 @@ "palantirnet/drupal-rector": "__VERSION__", "phpcompatibility/php-compatibility": "__VERSION__", "phpmd/phpmd": "__VERSION__", @@ -25,7 +25,7 @@ "pyrech/composer-changelogs": "__VERSION__", "rector/rector": "__VERSION__", "vincentlanglet/twig-cs-fixer": "__VERSION__" -@@ -72,11 +64,6 @@ +@@ -73,11 +65,6 @@ "autoload": { "classmap": [ "scripts/composer/ScriptHandler.php" diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests_circleci/composer.json b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests_circleci/composer.json index aa5672fb7..c35f1bff9 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests_circleci/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests_circleci/composer.json @@ -1,4 +1,4 @@ -@@ -33,15 +33,9 @@ +@@ -34,15 +34,9 @@ "webflo/drupal-finder": "__VERSION__" }, "require-dev": { @@ -14,7 +14,7 @@ "ergebnis/composer-normalize": "__VERSION__", "lullabot/mink-selenium2-driver": "__VERSION__", "lullabot/php-webdriver": "__VERSION__", -@@ -50,10 +44,8 @@ +@@ -51,10 +45,8 @@ "palantirnet/drupal-rector": "__VERSION__", "phpcompatibility/php-compatibility": "__VERSION__", "phpmd/phpmd": "__VERSION__", @@ -25,7 +25,7 @@ "pyrech/composer-changelogs": "__VERSION__", "rector/rector": "__VERSION__", "vincentlanglet/twig-cs-fixer": "__VERSION__" -@@ -72,11 +64,6 @@ +@@ -73,11 +65,6 @@ "autoload": { "classmap": [ "scripts/composer/ScriptHandler.php" diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php index aa1deaed6..9da8fd249 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php @@ -1,4 +1,4 @@ -@@ -280,9 +280,9 @@ +@@ -292,9 +292,9 @@ } /** diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_no_theme_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_no_theme_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php index aa1deaed6..9da8fd249 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_no_theme_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_no_theme_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php @@ -1,4 +1,4 @@ -@@ -280,9 +280,9 @@ +@@ -292,9 +292,9 @@ } /** diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_behat/composer.json b/.vortex/installer/tests/Fixtures/handler_process/tools_no_behat/composer.json index c3af25859..eea5c387d 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_behat/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_behat/composer.json @@ -1,4 +1,4 @@ -@@ -33,15 +33,9 @@ +@@ -34,15 +34,9 @@ "webflo/drupal-finder": "__VERSION__" }, "require-dev": { diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_behat_circleci/composer.json b/.vortex/installer/tests/Fixtures/handler_process/tools_no_behat_circleci/composer.json index c3af25859..eea5c387d 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_behat_circleci/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_behat_circleci/composer.json @@ -1,4 +1,4 @@ -@@ -33,15 +33,9 @@ +@@ -34,15 +34,9 @@ "webflo/drupal-finder": "__VERSION__" }, "require-dev": { diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_behat_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/tools_no_behat_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php index aa1deaed6..9da8fd249 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_behat_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_behat_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php @@ -1,4 +1,4 @@ -@@ -280,9 +280,9 @@ +@@ -292,9 +292,9 @@ } /** diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_eslint_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/tools_no_eslint_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php index aa1deaed6..9da8fd249 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_eslint_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_eslint_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php @@ -1,4 +1,4 @@ -@@ -280,9 +280,9 @@ +@@ -292,9 +292,9 @@ } /** diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_jest_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/tools_no_jest_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php index aa1deaed6..9da8fd249 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_jest_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_jest_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php @@ -1,4 +1,4 @@ -@@ -280,9 +280,9 @@ +@@ -292,9 +292,9 @@ } /** diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs/composer.json b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs/composer.json index 04e447f5a..38c821298 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs/composer.json @@ -1,4 +1,4 @@ -@@ -35,12 +35,9 @@ +@@ -36,12 +36,9 @@ "require-dev": { "behat/behat": "__VERSION__", "dantleech/gherkin-lint": "__VERSION__", @@ -11,7 +11,7 @@ "drupal/drupal-extension": "__VERSION__", "ergebnis/composer-normalize": "__VERSION__", "lullabot/mink-selenium2-driver": "__VERSION__", -@@ -48,7 +45,6 @@ +@@ -49,7 +46,6 @@ "mglaman/phpstan-drupal": "__VERSION__", "mikey179/vfsstream": "__VERSION__", "palantirnet/drupal-rector": "__VERSION__", @@ -19,7 +19,7 @@ "phpmd/phpmd": "__VERSION__", "phpspec/prophecy-phpunit": "__VERSION__", "phpstan/extension-installer": "__VERSION__", -@@ -83,7 +79,6 @@ +@@ -84,7 +80,6 @@ "allow-plugins": { "composer/installers": true, "cweagans/composer-patches": true, diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs_circleci/composer.json b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs_circleci/composer.json index 04e447f5a..38c821298 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs_circleci/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs_circleci/composer.json @@ -1,4 +1,4 @@ -@@ -35,12 +35,9 @@ +@@ -36,12 +36,9 @@ "require-dev": { "behat/behat": "__VERSION__", "dantleech/gherkin-lint": "__VERSION__", @@ -11,7 +11,7 @@ "drupal/drupal-extension": "__VERSION__", "ergebnis/composer-normalize": "__VERSION__", "lullabot/mink-selenium2-driver": "__VERSION__", -@@ -48,7 +45,6 @@ +@@ -49,7 +46,6 @@ "mglaman/phpstan-drupal": "__VERSION__", "mikey179/vfsstream": "__VERSION__", "palantirnet/drupal-rector": "__VERSION__", @@ -19,7 +19,7 @@ "phpmd/phpmd": "__VERSION__", "phpspec/prophecy-phpunit": "__VERSION__", "phpstan/extension-installer": "__VERSION__", -@@ -83,7 +79,6 @@ +@@ -84,7 +80,6 @@ "allow-plugins": { "composer/installers": true, "cweagans/composer-patches": true, diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php index 1e3b86ec5..a6cbc7ce5 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php @@ -9,7 +9,7 @@ */ #[Group('drupal_settings')] class EnvironmentSettingsTest extends SettingsTestCase { -@@ -280,9 +276,9 @@ +@@ -292,9 +288,9 @@ } /** diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpmd/composer.json b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpmd/composer.json index cc7103d8d..ba0aa9757 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpmd/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpmd/composer.json @@ -1,4 +1,4 @@ -@@ -49,7 +49,6 @@ +@@ -50,7 +50,6 @@ "mikey179/vfsstream": "__VERSION__", "palantirnet/drupal-rector": "__VERSION__", "phpcompatibility/php-compatibility": "__VERSION__", diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpmd_circleci/composer.json b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpmd_circleci/composer.json index cc7103d8d..ba0aa9757 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpmd_circleci/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpmd_circleci/composer.json @@ -1,4 +1,4 @@ -@@ -49,7 +49,6 @@ +@@ -50,7 +50,6 @@ "mikey179/vfsstream": "__VERSION__", "palantirnet/drupal-rector": "__VERSION__", "phpcompatibility/php-compatibility": "__VERSION__", diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpmd_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpmd_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php index aa1deaed6..9da8fd249 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpmd_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpmd_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php @@ -1,4 +1,4 @@ -@@ -280,9 +280,9 @@ +@@ -292,9 +292,9 @@ } /** diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan/composer.json b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan/composer.json index 33fbc2eb8..564fdbf73 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan/composer.json @@ -1,4 +1,4 @@ -@@ -45,14 +45,11 @@ +@@ -46,14 +46,11 @@ "ergebnis/composer-normalize": "__VERSION__", "lullabot/mink-selenium2-driver": "__VERSION__", "lullabot/php-webdriver": "__VERSION__", @@ -13,7 +13,7 @@ "phpunit/phpunit": "__VERSION__", "pyrech/composer-changelogs": "__VERSION__", "rector/rector": "__VERSION__", -@@ -88,7 +85,6 @@ +@@ -89,7 +86,6 @@ "ergebnis/composer-normalize": true, "oomphinc/composer-installers-extender": true, "php-http/discovery": true, diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan_circleci/composer.json b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan_circleci/composer.json index 33fbc2eb8..564fdbf73 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan_circleci/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan_circleci/composer.json @@ -1,4 +1,4 @@ -@@ -45,14 +45,11 @@ +@@ -46,14 +46,11 @@ "ergebnis/composer-normalize": "__VERSION__", "lullabot/mink-selenium2-driver": "__VERSION__", "lullabot/php-webdriver": "__VERSION__", @@ -13,7 +13,7 @@ "phpunit/phpunit": "__VERSION__", "pyrech/composer-changelogs": "__VERSION__", "rector/rector": "__VERSION__", -@@ -88,7 +85,6 @@ +@@ -89,7 +86,6 @@ "ergebnis/composer-normalize": true, "oomphinc/composer-installers-extender": true, "php-http/discovery": true, diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php index aa1deaed6..9da8fd249 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php @@ -1,4 +1,4 @@ -@@ -280,9 +280,9 @@ +@@ -292,9 +292,9 @@ } /** diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit/composer.json b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit/composer.json index 39b8a8401..563c0e495 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit/composer.json @@ -1,4 +1,4 @@ -@@ -50,10 +50,8 @@ +@@ -51,10 +51,8 @@ "palantirnet/drupal-rector": "__VERSION__", "phpcompatibility/php-compatibility": "__VERSION__", "phpmd/phpmd": "__VERSION__", @@ -9,7 +9,7 @@ "pyrech/composer-changelogs": "__VERSION__", "rector/rector": "__VERSION__", "vincentlanglet/twig-cs-fixer": "__VERSION__" -@@ -72,11 +70,6 @@ +@@ -73,11 +71,6 @@ "autoload": { "classmap": [ "scripts/composer/ScriptHandler.php" diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit_circleci/composer.json b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit_circleci/composer.json index 39b8a8401..563c0e495 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit_circleci/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit_circleci/composer.json @@ -1,4 +1,4 @@ -@@ -50,10 +50,8 @@ +@@ -51,10 +51,8 @@ "palantirnet/drupal-rector": "__VERSION__", "phpcompatibility/php-compatibility": "__VERSION__", "phpmd/phpmd": "__VERSION__", @@ -9,7 +9,7 @@ "pyrech/composer-changelogs": "__VERSION__", "rector/rector": "__VERSION__", "vincentlanglet/twig-cs-fixer": "__VERSION__" -@@ -72,11 +70,6 @@ +@@ -73,11 +71,6 @@ "autoload": { "classmap": [ "scripts/composer/ScriptHandler.php" diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_rector/composer.json b/.vortex/installer/tests/Fixtures/handler_process/tools_no_rector/composer.json index 9f642ed76..9ecb483a1 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_rector/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_rector/composer.json @@ -1,4 +1,4 @@ -@@ -47,7 +47,6 @@ +@@ -48,7 +48,6 @@ "lullabot/php-webdriver": "__VERSION__", "mglaman/phpstan-drupal": "__VERSION__", "mikey179/vfsstream": "__VERSION__", @@ -6,7 +6,7 @@ "phpcompatibility/php-compatibility": "__VERSION__", "phpmd/phpmd": "__VERSION__", "phpspec/prophecy-phpunit": "__VERSION__", -@@ -55,7 +54,6 @@ +@@ -56,7 +55,6 @@ "phpstan/phpstan": "__VERSION__", "phpunit/phpunit": "__VERSION__", "pyrech/composer-changelogs": "__VERSION__", diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_rector_circleci/composer.json b/.vortex/installer/tests/Fixtures/handler_process/tools_no_rector_circleci/composer.json index 9f642ed76..9ecb483a1 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_rector_circleci/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_rector_circleci/composer.json @@ -1,4 +1,4 @@ -@@ -47,7 +47,6 @@ +@@ -48,7 +48,6 @@ "lullabot/php-webdriver": "__VERSION__", "mglaman/phpstan-drupal": "__VERSION__", "mikey179/vfsstream": "__VERSION__", @@ -6,7 +6,7 @@ "phpcompatibility/php-compatibility": "__VERSION__", "phpmd/phpmd": "__VERSION__", "phpspec/prophecy-phpunit": "__VERSION__", -@@ -55,7 +54,6 @@ +@@ -56,7 +55,6 @@ "phpstan/phpstan": "__VERSION__", "phpunit/phpunit": "__VERSION__", "pyrech/composer-changelogs": "__VERSION__", diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_rector_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/tools_no_rector_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php index aa1deaed6..9da8fd249 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_rector_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_rector_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php @@ -1,4 +1,4 @@ -@@ -280,9 +280,9 @@ +@@ -292,9 +292,9 @@ } /** diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_stylelint_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php b/.vortex/installer/tests/Fixtures/handler_process/tools_no_stylelint_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php index aa1deaed6..9da8fd249 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_stylelint_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_stylelint_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php @@ -1,4 +1,4 @@ -@@ -280,9 +280,9 @@ +@@ -292,9 +292,9 @@ } /** diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_none/composer.json b/.vortex/installer/tests/Fixtures/handler_process/tools_none/composer.json index 17004b946..cf36ef0a7 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_none/composer.json +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_none/composer.json @@ -1,4 +1,4 @@ -@@ -33,29 +33,11 @@ +@@ -34,29 +34,11 @@ "webflo/drupal-finder": "__VERSION__" }, "require-dev": { @@ -28,7 +28,7 @@ "vincentlanglet/twig-cs-fixer": "__VERSION__" }, "conflict": { -@@ -74,21 +56,14 @@ +@@ -75,21 +57,14 @@ "scripts/composer/ScriptHandler.php" ] }, diff --git a/.vortex/installer/tests/Unit/Handlers/ModulesHandlerDiscoveryTest.php b/.vortex/installer/tests/Unit/Handlers/ModulesHandlerDiscoveryTest.php index 6d1638a9d..331b4512c 100644 --- a/.vortex/installer/tests/Unit/Handlers/ModulesHandlerDiscoveryTest.php +++ b/.vortex/installer/tests/Unit/Handlers/ModulesHandlerDiscoveryTest.php @@ -45,6 +45,7 @@ function (AbstractHandlerDiscoveryTestCase $test, Config $config): void { 'drupal/environment_indicator' => '^4.0.25', 'drupal/pathauto' => '^1.14', 'drupal/redirect' => '^1.12', + 'drupal/reroute_email' => '^2.3@RC', 'drupal/robotstxt' => '^1.6', 'drupal/seckit' => '^2.0.3', 'drupal/shield' => '^1.8', diff --git a/.vortex/tests/bats/unit/provision.bats b/.vortex/tests/bats/unit/provision.bats index c26ad75d5..6656a3803 100644 --- a/.vortex/tests/bats/unit/provision.bats +++ b/.vortex/tests/bats/unit/provision.bats @@ -147,7 +147,7 @@ assert_provision_info() { " > Setting site name." "@drush -y php:eval \Drupal::service('config.factory')->getEditable('system.site')->set('name', 'YOURSITE')->save();" " > Installing contrib modules." - "@drush -y pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap" + "@drush -y pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap" " > Installing Redis module." "@drush -y pm:install redis" " > Installing and configuring ClamAV." @@ -283,7 +283,7 @@ assert_provision_info() { " > Setting site name." "@drush -y php:eval \Drupal::service('config.factory')->getEditable('system.site')->set('name', 'YOURSITE')->save();" " > Installing contrib modules." - "@drush -y pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap" + "@drush -y pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap" " > Installing Redis module." "@drush -y pm:install redis" " > Installing and configuring ClamAV." @@ -428,7 +428,7 @@ assert_provision_info() { " > Setting site name." "@drush -y php:eval \Drupal::service('config.factory')->getEditable('system.site')->set('name', 'YOURSITE')->save();" " > Installing contrib modules." - "@drush -y pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap" + "@drush -y pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap" " > Installing Redis module." "@drush -y pm:install redis" " > Installing and configuring ClamAV." @@ -585,7 +585,7 @@ assert_provision_info() { " > Setting site name." "@drush -y php:eval \Drupal::service('config.factory')->getEditable('system.site')->set('name', 'YOURSITE')->save();" " > Installing contrib modules." - "@drush -y pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap" + "@drush -y pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap" " > Installing Redis module." "@drush -y pm:install redis" " > Installing and configuring ClamAV." @@ -730,7 +730,7 @@ assert_provision_info() { " > Setting site name." "@drush -y php:eval \Drupal::service('config.factory')->getEditable('system.site')->set('name', 'YOURSITE')->save();" " > Installing contrib modules." - "@drush -y pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap" + "@drush -y pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap" " > Installing Redis module." "@drush -y pm:install redis" " > Installing and configuring ClamAV." @@ -869,7 +869,7 @@ assert_provision_info() { " > Setting site name." "@drush -y php:eval \Drupal::service('config.factory')->getEditable('system.site')->set('name', 'YOURSITE')->save();" " > Installing contrib modules." - "@drush -y pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap" + "@drush -y pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap" " > Installing Redis module." "@drush -y pm:install redis" " > Installing and configuring ClamAV." @@ -1015,7 +1015,7 @@ assert_provision_info() { " > Setting site name." "@drush -y php:eval \Drupal::service('config.factory')->getEditable('system.site')->set('name', 'YOURSITE')->save();" " > Installing contrib modules." - "@drush -y pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap" + "@drush -y pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap" " > Installing Redis module." "@drush -y pm:install redis" " > Installing and configuring ClamAV." @@ -1329,7 +1329,7 @@ assert_provision_info() { " > Setting site name." "@drush -y php:eval \Drupal::service('config.factory')->getEditable('system.site')->set('name', 'YOURSITE')->save();" " > Installing contrib modules." - "@drush -y pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap" + "@drush -y pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap" " > Installing Redis module." "@drush -y pm:install redis" " > Installing and configuring ClamAV." @@ -1472,7 +1472,7 @@ assert_provision_info() { " > Setting site name." "@drush -y php:eval \Drupal::service('config.factory')->getEditable('system.site')->set('name', 'YOURSITE')->save();" " > Installing contrib modules." - "@drush -y pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap" + "@drush -y pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap" " > Installing Redis module." "@drush -y pm:install redis" " > Installing and configuring ClamAV." @@ -1733,7 +1733,7 @@ assert_provision_info() { " > Setting site name." "@drush -y php:eval \Drupal::service('config.factory')->getEditable('system.site')->set('name', 'YOURSITE')->save();" " > Installing contrib modules." - "@drush -y pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap" + "@drush -y pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap" " > Installing Redis module." "@drush -y pm:install redis" " > Installing and configuring ClamAV." @@ -1894,7 +1894,7 @@ assert_provision_info() { " > Setting site name." "@drush -y php:eval \Drupal::service('config.factory')->getEditable('system.site')->set('name', 'YOURSITE')->save();" " > Installing contrib modules." - "@drush -y pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap" + "@drush -y pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap" " > Installing Redis module." "@drush -y pm:install redis" " > Installing and configuring ClamAV." @@ -2106,7 +2106,7 @@ assert_provision_info() { " > Setting site name." "@drush -y php:eval \Drupal::service('config.factory')->getEditable('system.site')->set('name', 'YOURSITE')->save();" " > Installing contrib modules." - "@drush -y pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap" + "@drush -y pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap" " > Installing Redis module." "@drush -y pm:install redis" " > Installing and configuring ClamAV." diff --git a/composer.json b/composer.json index 7d25667e3..5db4cfda9 100644 --- a/composer.json +++ b/composer.json @@ -22,6 +22,7 @@ "drupal/pathauto": "^1.14", "drupal/redirect": "^1.12", "drupal/redis": "^1.11", + "drupal/reroute_email": "^2.3@RC", "drupal/robotstxt": "^1.6", "drupal/search_api": "^1.40", "drupal/search_api_solr": "^4.3.10", diff --git a/scripts/custom/provision-10-example.sh b/scripts/custom/provision-10-example.sh index 52abacf7b..1cd12d7d3 100755 --- a/scripts/custom/provision-10-example.sh +++ b/scripts/custom/provision-10-example.sh @@ -39,7 +39,7 @@ if echo "${environment}" | grep -q -e dev -e stage -e ci -e local; then #;< MODULES task "Installing contrib modules." - drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect robotstxt shield stage_file_proxy xmlsitemap + drush pm:install admin_toolbar coffee config_split config_update media environment_indicator pathauto redirect reroute_email robotstxt shield stage_file_proxy xmlsitemap #;> MODULES #;< SERVICE_REDIS diff --git a/tests/phpunit/Drupal/EnvironmentSettingsTest.php b/tests/phpunit/Drupal/EnvironmentSettingsTest.php index 9191c5f84..7fbcb8e59 100644 --- a/tests/phpunit/Drupal/EnvironmentSettingsTest.php +++ b/tests/phpunit/Drupal/EnvironmentSettingsTest.php @@ -307,6 +307,9 @@ public function testEnvironmentNoOverrides(): void { $config['shield.settings']['shield_enable'] = TRUE; $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; + $config['reroute_email.settings']['enable'] = TRUE; + $config['reroute_email.settings']['address'] = 'webmaster@your-site-domain.example'; + $config['reroute_email.settings']['allowed'] = '*@your-site-domain.example'; $config['system.performance']['cache']['page']['max_age'] = 900; $this->assertConfig($config); @@ -390,6 +393,9 @@ public function testEnvironmentOverrides(): void { $config['shield.settings']['shield_enable'] = TRUE; $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; + $config['reroute_email.settings']['enable'] = TRUE; + $config['reroute_email.settings']['address'] = 'webmaster@your-site-domain.example'; + $config['reroute_email.settings']['allowed'] = '*@your-site-domain.example'; $config['system.performance']['cache']['page']['max_age'] = 1800; $this->assertConfig($config); @@ -439,6 +445,9 @@ public function testEnvironmentLocal(): void { $config['xmlsitemap_engines.settings']['submit'] = FALSE; $config['system.logging']['error_level'] = 'all'; $config['system.performance']['cache']['page']['max_age'] = 900; + $config['reroute_email.settings']['enable'] = FALSE; + $config['reroute_email.settings']['address'] = 'webmaster@your-site-domain.example'; + $config['reroute_email.settings']['allowed'] = '*@your-site-domain.example'; $config['seckit.settings']['seckit_xss']['csp']['checkbox'] = FALSE; $config['seckit.settings']['seckit_xss']['csp']['upgrade-req'] = FALSE; $this->assertConfig($config); @@ -489,6 +498,9 @@ public function testEnvironmentLocalContainer(): void { $config['xmlsitemap_engines.settings']['submit'] = FALSE; $config['system.logging']['error_level'] = 'all'; $config['system.performance']['cache']['page']['max_age'] = 900; + $config['reroute_email.settings']['enable'] = FALSE; + $config['reroute_email.settings']['address'] = 'webmaster@your-site-domain.example'; + $config['reroute_email.settings']['allowed'] = '*@your-site-domain.example'; $config['seckit.settings']['seckit_xss']['csp']['checkbox'] = FALSE; $config['seckit.settings']['seckit_xss']['csp']['upgrade-req'] = FALSE; $this->assertConfig($config); @@ -542,6 +554,9 @@ public function testEnvironmentCircleCi(): void { $config['xmlsitemap_engines.settings']['submit'] = FALSE; $config['system.logging']['error_level'] = 'all'; $config['system.performance']['cache']['page']['max_age'] = 900; + $config['reroute_email.settings']['enable'] = FALSE; + $config['reroute_email.settings']['address'] = 'webmaster@your-site-domain.example'; + $config['reroute_email.settings']['allowed'] = '*@your-site-domain.example'; $config['seckit.settings']['seckit_xss']['csp']['checkbox'] = FALSE; $config['seckit.settings']['seckit_xss']['csp']['upgrade-req'] = FALSE; $this->assertConfig($config); @@ -594,6 +609,9 @@ public function testEnvironmentGha(): void { $config['xmlsitemap_engines.settings']['submit'] = FALSE; $config['system.logging']['error_level'] = 'all'; $config['system.performance']['cache']['page']['max_age'] = 900; + $config['reroute_email.settings']['enable'] = FALSE; + $config['reroute_email.settings']['address'] = 'webmaster@your-site-domain.example'; + $config['reroute_email.settings']['allowed'] = '*@your-site-domain.example'; $config['seckit.settings']['seckit_xss']['csp']['checkbox'] = FALSE; $config['seckit.settings']['seckit_xss']['csp']['upgrade-req'] = FALSE; $this->assertConfig($config); @@ -641,6 +659,9 @@ public function testEnvironmentAcquiaDynamic(): void { $config['environment_indicator.settings']['favicon'] = TRUE; $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; $config['robotstxt.settings']['content'] = "User-agent: *\nDisallow: /"; + $config['reroute_email.settings']['enable'] = TRUE; + $config['reroute_email.settings']['address'] = 'webmaster@your-site-domain.example'; + $config['reroute_email.settings']['allowed'] = '*@your-site-domain.example'; $config['shield.settings']['shield_enable'] = TRUE; $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; @@ -686,6 +707,9 @@ public function testEnvironmentAcquiaDev(): void { $config['environment_indicator.settings']['favicon'] = TRUE; $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; $config['robotstxt.settings']['content'] = "User-agent: *\nDisallow: /"; + $config['reroute_email.settings']['enable'] = TRUE; + $config['reroute_email.settings']['address'] = 'webmaster@your-site-domain.example'; + $config['reroute_email.settings']['allowed'] = '*@your-site-domain.example'; $config['shield.settings']['shield_enable'] = TRUE; $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; @@ -731,6 +755,9 @@ public function testEnvironmentAcquiaStage(): void { $config['environment_indicator.settings']['favicon'] = TRUE; $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; $config['robotstxt.settings']['content'] = "User-agent: *\nDisallow: /"; + $config['reroute_email.settings']['enable'] = FALSE; + $config['reroute_email.settings']['address'] = 'webmaster@your-site-domain.example'; + $config['reroute_email.settings']['allowed'] = '*@your-site-domain.example'; $config['shield.settings']['shield_enable'] = TRUE; $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; @@ -774,6 +801,9 @@ public function testEnvironmentAcquiaProd(): void { $config['environment_indicator.indicator']['name'] = self::ENVIRONMENT_PROD; $config['environment_indicator.settings']['favicon'] = TRUE; $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; + $config['reroute_email.settings']['enable'] = FALSE; + $config['reroute_email.settings']['address'] = 'webmaster@your-site-domain.example'; + $config['reroute_email.settings']['allowed'] = '*@your-site-domain.example'; $config['system.performance']['cache']['page']['max_age'] = 900; $config['system.performance']['css']['preprocess'] = TRUE; $config['system.performance']['js']['preprocess'] = TRUE; @@ -819,6 +849,9 @@ public function testEnvironmentAcquiaConfigPathOverride(): void { $config['environment_indicator.settings']['favicon'] = TRUE; $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; $config['robotstxt.settings']['content'] = "User-agent: *\nDisallow: /"; + $config['reroute_email.settings']['enable'] = TRUE; + $config['reroute_email.settings']['address'] = 'webmaster@your-site-domain.example'; + $config['reroute_email.settings']['allowed'] = '*@your-site-domain.example'; $config['shield.settings']['shield_enable'] = TRUE; $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; @@ -872,6 +905,9 @@ public function testEnvironmentAcquiaConfigVcsDirectoryFallback(): void { $config['environment_indicator.settings']['favicon'] = TRUE; $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; $config['robotstxt.settings']['content'] = "User-agent: *\nDisallow: /"; + $config['reroute_email.settings']['enable'] = TRUE; + $config['reroute_email.settings']['address'] = 'webmaster@your-site-domain.example'; + $config['reroute_email.settings']['allowed'] = '*@your-site-domain.example'; $config['shield.settings']['shield_enable'] = TRUE; $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; @@ -924,6 +960,9 @@ public function testEnvironmentLagoonPreview(): void { $config['environment_indicator.settings']['favicon'] = TRUE; $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; $config['robotstxt.settings']['content'] = "User-agent: *\nDisallow: /"; + $config['reroute_email.settings']['enable'] = TRUE; + $config['reroute_email.settings']['address'] = 'webmaster@your-site-domain.example'; + $config['reroute_email.settings']['allowed'] = '*@your-site-domain.example'; $config['shield.settings']['shield_enable'] = TRUE; $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; @@ -979,6 +1018,9 @@ public function testEnvironmentLagoonDev(): void { $config['environment_indicator.settings']['favicon'] = TRUE; $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; $config['robotstxt.settings']['content'] = "User-agent: *\nDisallow: /"; + $config['reroute_email.settings']['enable'] = TRUE; + $config['reroute_email.settings']['address'] = 'webmaster@your-site-domain.example'; + $config['reroute_email.settings']['allowed'] = '*@your-site-domain.example'; $config['shield.settings']['shield_enable'] = TRUE; $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; @@ -1034,6 +1076,9 @@ public function testEnvironmentLagoonTest(): void { $config['environment_indicator.settings']['favicon'] = TRUE; $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; $config['robotstxt.settings']['content'] = "User-agent: *\nDisallow: /"; + $config['reroute_email.settings']['enable'] = FALSE; + $config['reroute_email.settings']['address'] = 'webmaster@your-site-domain.example'; + $config['reroute_email.settings']['allowed'] = '*@your-site-domain.example'; $config['shield.settings']['shield_enable'] = TRUE; $config['xmlsitemap.settings']['disable_cron_regeneration'] = TRUE; $config['xmlsitemap_engines.settings']['submit'] = FALSE; @@ -1088,6 +1133,9 @@ public function testEnvironmentLagoonProd(): void { $config['environment_indicator.indicator']['name'] = self::ENVIRONMENT_PROD; $config['environment_indicator.settings']['favicon'] = TRUE; $config['environment_indicator.settings']['toolbar_integration'] = [TRUE]; + $config['reroute_email.settings']['enable'] = FALSE; + $config['reroute_email.settings']['address'] = 'webmaster@your-site-domain.example'; + $config['reroute_email.settings']['allowed'] = '*@your-site-domain.example'; $config['system.performance']['cache']['page']['max_age'] = 900; $config['system.performance']['css']['preprocess'] = TRUE; $config['system.performance']['js']['preprocess'] = TRUE; diff --git a/tests/phpunit/Drupal/SwitchableSettingsTest.php b/tests/phpunit/Drupal/SwitchableSettingsTest.php index 1719fbc39..a646e6ef0 100644 --- a/tests/phpunit/Drupal/SwitchableSettingsTest.php +++ b/tests/phpunit/Drupal/SwitchableSettingsTest.php @@ -680,6 +680,148 @@ public static function dataProviderShield(): \Iterator { } // phpcs:ignore #;> MODULE_SHIELD + // phpcs:ignore #;< MODULE_REROUTE_EMAIL + + /** + * Test Reroute Email config. + */ + #[DataProvider('dataProviderRerouteEmail')] + public function testRerouteEmail(string $env, array $vars, array $expected_present, array $expected_absent = []): void { + $this->setEnvVars($vars + ['DRUPAL_ENVIRONMENT' => $env]); + + $this->requireSettingsFile(); + + $this->assertConfigContains($expected_present); + $this->assertConfigNotContains($expected_absent); + } + + /** + * Data provider for testRerouteEmail(). + */ + public static function dataProviderRerouteEmail(): \Iterator { + // Local: disabled by default. + yield [ + self::ENVIRONMENT_LOCAL, + [], + [ + 'reroute_email.settings' => ['enable' => FALSE, 'address' => 'webmaster@your-site-domain.example', 'allowed' => '*@your-site-domain.example'], + ], + ]; + + // CI: disabled by default. + yield [ + self::ENVIRONMENT_CI, + [], + [ + 'reroute_email.settings' => ['enable' => FALSE, 'address' => 'webmaster@your-site-domain.example', 'allowed' => '*@your-site-domain.example'], + ], + ]; + + // Dev: enabled by default. + yield [ + self::ENVIRONMENT_DEV, + [], + [ + 'reroute_email.settings' => ['enable' => TRUE, 'address' => 'webmaster@your-site-domain.example', 'allowed' => '*@your-site-domain.example'], + ], + ]; + + // SUT: enabled by default. + yield [ + self::ENVIRONMENT_SUT, + [], + [ + 'reroute_email.settings' => ['enable' => TRUE, 'address' => 'webmaster@your-site-domain.example', 'allowed' => '*@your-site-domain.example'], + ], + ]; + + // Stage: disabled by default. + yield [ + self::ENVIRONMENT_STAGE, + [], + [ + 'reroute_email.settings' => ['enable' => FALSE, 'address' => 'webmaster@your-site-domain.example', 'allowed' => '*@your-site-domain.example'], + ], + ]; + + // Prod: disabled by default. + yield [ + self::ENVIRONMENT_PROD, + [], + [ + 'reroute_email.settings' => ['enable' => FALSE, 'address' => 'webmaster@your-site-domain.example', 'allowed' => '*@your-site-domain.example'], + ], + ]; + + // Dev with DRUPAL_REROUTE_EMAIL_DISABLED: forced off. + yield [ + self::ENVIRONMENT_DEV, + [ + 'DRUPAL_REROUTE_EMAIL_DISABLED' => 1, + ], + [ + 'reroute_email.settings' => ['enable' => FALSE], + ], + ]; + + // SUT with DRUPAL_REROUTE_EMAIL_DISABLED: forced off. + yield [ + self::ENVIRONMENT_SUT, + [ + 'DRUPAL_REROUTE_EMAIL_DISABLED' => 1, + ], + [ + 'reroute_email.settings' => ['enable' => FALSE], + ], + ]; + + // Custom address and allowed list. + yield [ + self::ENVIRONMENT_DEV, + [ + 'DRUPAL_REROUTE_EMAIL_ADDRESS' => 'dev@example.com', + 'DRUPAL_REROUTE_EMAIL_ALLOWED' => '*@example.com', + ], + [ + 'reroute_email.settings' => ['enable' => TRUE, 'address' => 'dev@example.com', 'allowed' => '*@example.com'], + ], + ]; + + // DRUPAL_REROUTE_EMAIL_DISABLED with empty value: not disabled. + yield [ + self::ENVIRONMENT_DEV, + [ + 'DRUPAL_REROUTE_EMAIL_DISABLED' => '', + ], + [ + 'reroute_email.settings' => ['enable' => TRUE], + ], + ]; + + // DRUPAL_REROUTE_EMAIL_DISABLED with 0: not disabled. + yield [ + self::ENVIRONMENT_DEV, + [ + 'DRUPAL_REROUTE_EMAIL_DISABLED' => 0, + ], + [ + 'reroute_email.settings' => ['enable' => TRUE], + ], + ]; + + // DRUPAL_REROUTE_EMAIL_DISABLED with string '1': disabled. + yield [ + self::ENVIRONMENT_DEV, + [ + 'DRUPAL_REROUTE_EMAIL_DISABLED' => '1', + ], + [ + 'reroute_email.settings' => ['enable' => FALSE], + ], + ]; + } + + // phpcs:ignore #;> MODULE_REROUTE_EMAIL // phpcs:ignore #;< MODULE_STAGE_FILE_PROXY /** diff --git a/web/sites/default/includes/modules/settings.reroute_email.php b/web/sites/default/includes/modules/settings.reroute_email.php new file mode 100644 index 000000000..1b431c173 --- /dev/null +++ b/web/sites/default/includes/modules/settings.reroute_email.php @@ -0,0 +1,26 @@ +