From 6ea019e84898fe858fb9908ad2219cbd88877b6c Mon Sep 17 00:00:00 2001 From: phenaproxima <phenaproxima@205645.no-reply.drupal.org> Date: Fri, 4 Feb 2022 17:58:33 +0000 Subject: [PATCH] Issue #3262542 by phenaproxima: Make AutomaticUpdatesKernelTestBase extend PackageManagerKernelTestBase --- .../Kernel/AutomaticUpdatesKernelTestBase.php | 30 +++++-------------- tests/src/Kernel/CronUpdaterTest.php | 2 -- .../CronFrequencyValidatorTest.php | 6 +--- .../ReadinessValidationManagerTest.php | 2 -- .../SettingsValidatorTest.php | 6 +--- .../StagedDatabaseUpdateValidatorTest.php | 8 ++--- .../StagedProjectsValidatorTest.php | 6 +--- .../UpdateVersionValidatorTest.php | 6 +--- tests/src/Kernel/UpdaterTest.php | 3 -- 9 files changed, 13 insertions(+), 56 deletions(-) diff --git a/tests/src/Kernel/AutomaticUpdatesKernelTestBase.php b/tests/src/Kernel/AutomaticUpdatesKernelTestBase.php index f5a54a676d..2721388e30 100644 --- a/tests/src/Kernel/AutomaticUpdatesKernelTestBase.php +++ b/tests/src/Kernel/AutomaticUpdatesKernelTestBase.php @@ -4,9 +4,9 @@ namespace Drupal\Tests\automatic_updates\Kernel; use Drupal\automatic_updates\CronUpdater; use Drupal\Core\DependencyInjection\ContainerBuilder; -use Drupal\KernelTests\KernelTestBase; use Drupal\package_manager\Exception\StageValidationException; use Drupal\Tests\automatic_updates\Traits\ValidationTestTrait; +use Drupal\Tests\package_manager\Kernel\PackageManagerKernelTestBase; use GuzzleHttp\Client; use GuzzleHttp\Handler\MockHandler; use GuzzleHttp\HandlerStack; @@ -16,7 +16,7 @@ use GuzzleHttp\Psr7\Utils; /** * Base class for kernel tests of the Automatic Updates module. */ -abstract class AutomaticUpdatesKernelTestBase extends KernelTestBase { +abstract class AutomaticUpdatesKernelTestBase extends PackageManagerKernelTestBase { use ValidationTestTrait; @@ -25,21 +25,6 @@ abstract class AutomaticUpdatesKernelTestBase extends KernelTestBase { */ protected static $modules = ['system', 'update', 'update_test']; - /** - * The service IDs of any validators to disable. - * - * @var string[] - */ - protected $disableValidators = [ - // Disable the filesystem permissions validator, since we cannot guarantee - // that the current code base will be writable in all testing situations. - // We test this validator functionally in our build tests, since those do - // give us control over the filesystem permissions. - // @see \Drupal\Tests\automatic_updates\Build\CoreUpdateTest::assertReadOnlyFileSystemError() - 'automatic_updates.validator.file_system_permissions', - 'package_manager.validator.file_system', - ]; - /** * The mocked HTTP client that returns metadata about available updates. * @@ -56,6 +41,11 @@ abstract class AutomaticUpdatesKernelTestBase extends KernelTestBase { * {@inheritdoc} */ protected function setUp(): void { + // If Package Manager's file system permissions validator is disabled, also + // disable the Automatic Updates validator which wraps it. + if (in_array('package_manager.validator.file_system', $this->disableValidators, TRUE)) { + $this->disableValidators[] = 'automatic_updates.validator.file_system_permissions'; + } parent::setUp(); // The Update module's default configuration must be installed for our @@ -107,12 +97,6 @@ abstract class AutomaticUpdatesKernelTestBase extends KernelTestBase { if ($this->client) { $container->set('http_client', $this->client); } - - foreach ($this->disableValidators as $service_id) { - if ($container->hasDefinition($service_id)) { - $container->getDefinition($service_id)->clearTag('event_subscriber'); - } - } } /** diff --git a/tests/src/Kernel/CronUpdaterTest.php b/tests/src/Kernel/CronUpdaterTest.php index 4166e7ba5d..9dd1e07cce 100644 --- a/tests/src/Kernel/CronUpdaterTest.php +++ b/tests/src/Kernel/CronUpdaterTest.php @@ -28,8 +28,6 @@ class CronUpdaterTest extends AutomaticUpdatesKernelTestBase { */ protected static $modules = [ 'automatic_updates', - 'package_manager', - 'package_manager_bypass', 'automatic_updates_test', ]; diff --git a/tests/src/Kernel/ReadinessValidation/CronFrequencyValidatorTest.php b/tests/src/Kernel/ReadinessValidation/CronFrequencyValidatorTest.php index 25026fba17..e44cc77e34 100644 --- a/tests/src/Kernel/ReadinessValidation/CronFrequencyValidatorTest.php +++ b/tests/src/Kernel/ReadinessValidation/CronFrequencyValidatorTest.php @@ -19,11 +19,7 @@ class CronFrequencyValidatorTest extends AutomaticUpdatesKernelTestBase { /** * {@inheritdoc} */ - protected static $modules = [ - 'automatic_updates', - 'package_manager', - 'package_manager_bypass', - ]; + protected static $modules = ['automatic_updates']; /** * Tests that nothing is validated if updates are disabled during cron. diff --git a/tests/src/Kernel/ReadinessValidation/ReadinessValidationManagerTest.php b/tests/src/Kernel/ReadinessValidation/ReadinessValidationManagerTest.php index 9957919234..dc86408949 100644 --- a/tests/src/Kernel/ReadinessValidation/ReadinessValidationManagerTest.php +++ b/tests/src/Kernel/ReadinessValidation/ReadinessValidationManagerTest.php @@ -22,8 +22,6 @@ class ReadinessValidationManagerTest extends AutomaticUpdatesKernelTestBase { */ protected static $modules = [ 'automatic_updates_test', - 'package_manager', - 'package_manager_bypass', 'user', ]; diff --git a/tests/src/Kernel/ReadinessValidation/SettingsValidatorTest.php b/tests/src/Kernel/ReadinessValidation/SettingsValidatorTest.php index 90612a6b8b..5358fbdc9c 100644 --- a/tests/src/Kernel/ReadinessValidation/SettingsValidatorTest.php +++ b/tests/src/Kernel/ReadinessValidation/SettingsValidatorTest.php @@ -16,11 +16,7 @@ class SettingsValidatorTest extends AutomaticUpdatesKernelTestBase { /** * {@inheritdoc} */ - protected static $modules = [ - 'automatic_updates', - 'package_manager', - 'package_manager_bypass', - ]; + protected static $modules = ['automatic_updates']; /** * Data provider for ::testSettingsValidation(). diff --git a/tests/src/Kernel/ReadinessValidation/StagedDatabaseUpdateValidatorTest.php b/tests/src/Kernel/ReadinessValidation/StagedDatabaseUpdateValidatorTest.php index 80ae5fb602..248dbca5e1 100644 --- a/tests/src/Kernel/ReadinessValidation/StagedDatabaseUpdateValidatorTest.php +++ b/tests/src/Kernel/ReadinessValidation/StagedDatabaseUpdateValidatorTest.php @@ -18,11 +18,7 @@ class StagedDatabaseUpdateValidatorTest extends AutomaticUpdatesKernelTestBase { /** * {@inheritdoc} */ - protected static $modules = [ - 'automatic_updates', - 'package_manager', - 'package_manager_bypass', - ]; + protected static $modules = ['automatic_updates']; /** * The suffixes of the files that can contain database updates. @@ -60,7 +56,7 @@ class StagedDatabaseUpdateValidatorTest extends AutomaticUpdatesKernelTestBase { $module_list = $this->container->get('module_handler')->getModuleList(); foreach ($module_list as $name => $module) { $path = $module->getPath(); - mkdir("$stage_dir/$path", 0777, TRUE); + @mkdir("$stage_dir/$path", 0777, TRUE); foreach (static::SUFFIXES as $suffix) { // If the source file doesn't exist, silence the warning it raises. diff --git a/tests/src/Kernel/ReadinessValidation/StagedProjectsValidatorTest.php b/tests/src/Kernel/ReadinessValidation/StagedProjectsValidatorTest.php index 1298f45791..8390b8294a 100644 --- a/tests/src/Kernel/ReadinessValidation/StagedProjectsValidatorTest.php +++ b/tests/src/Kernel/ReadinessValidation/StagedProjectsValidatorTest.php @@ -21,11 +21,7 @@ class StagedProjectsValidatorTest extends AutomaticUpdatesKernelTestBase { /** * {@inheritdoc} */ - protected static $modules = [ - 'automatic_updates', - 'package_manager', - 'package_manager_bypass', - ]; + protected static $modules = ['automatic_updates']; /** * {@inheritdoc} diff --git a/tests/src/Kernel/ReadinessValidation/UpdateVersionValidatorTest.php b/tests/src/Kernel/ReadinessValidation/UpdateVersionValidatorTest.php index 625799b9ca..45cabcfb6b 100644 --- a/tests/src/Kernel/ReadinessValidation/UpdateVersionValidatorTest.php +++ b/tests/src/Kernel/ReadinessValidation/UpdateVersionValidatorTest.php @@ -23,11 +23,7 @@ class UpdateVersionValidatorTest extends AutomaticUpdatesKernelTestBase { /** * {@inheritdoc} */ - protected static $modules = [ - 'automatic_updates', - 'package_manager', - 'package_manager_bypass', - ]; + protected static $modules = ['automatic_updates']; /** * The logger for cron updates. diff --git a/tests/src/Kernel/UpdaterTest.php b/tests/src/Kernel/UpdaterTest.php index 70fc49e42e..aabf82e587 100644 --- a/tests/src/Kernel/UpdaterTest.php +++ b/tests/src/Kernel/UpdaterTest.php @@ -20,9 +20,6 @@ class UpdaterTest extends AutomaticUpdatesKernelTestBase { protected static $modules = [ 'automatic_updates', 'automatic_updates_test', - 'package_manager', - 'package_manager_bypass', - 'system', 'user', ]; -- GitLab