diff --git a/automatic_updates.services.yml b/automatic_updates.services.yml index ba461c980c55784a45dfbd30f29ef480d33052a7..808ae6e7afc45426707695c27524d97b958027b2 100644 --- a/automatic_updates.services.yml +++ b/automatic_updates.services.yml @@ -17,6 +17,7 @@ services: - 24 tags: - { name: event_subscriber } + Drupal\automatic_updates\Validation\StatusChecker: '@automatic_updates.status_checker' automatic_updates.status_check_mailer: class: Drupal\automatic_updates\StatusCheckMailer arguments: @@ -39,6 +40,7 @@ services: - '@package_manager.failure_marker' calls: - ['setLogger', ['@logger.channel.automatic_updates']] + Drupal\automatic_updates\Updater: '@automatic_updates.updater' automatic_updates.cron_updater: class: Drupal\automatic_updates\CronUpdater arguments: @@ -60,6 +62,7 @@ services: - '@package_manager.failure_marker' calls: - ['setLogger', ['@logger.channel.automatic_updates']] + Drupal\automatic_updates\CronUpdater: '@automatic_updates.cron_updater' automatic_updates.requested_update_validator: class: Drupal\automatic_updates\Validator\RequestedUpdateValidator tags: @@ -71,10 +74,12 @@ services: - '@package_manager.composer_inspector' tags: - { name: event_subscriber } + Drupal\automatic_updates\Validator\StagedProjectsValidator: '@automatic_updates.staged_projects_validator' automatic_updates.release_chooser: class: Drupal\automatic_updates\ReleaseChooser arguments: - '@automatic_updates.validator.version_policy' + Drupal\automatic_updates\ReleaseChooser: '@automatic_updates.release_chooser' automatic_updates.cron_frequency_validator: class: Drupal\automatic_updates\Validator\CronFrequencyValidator arguments: @@ -107,6 +112,7 @@ services: class: Drupal\automatic_updates\Validator\ScaffoldFilePermissionsValidator tags: - { name: event_subscriber } + Drupal\automatic_updates\Validator\ScaffoldFilePermissionsValidator: '@automatic_updates.validator.scaffold_file_permissions' automatic_updates.validator.cron_server: class: Drupal\automatic_updates\Validator\CronServerValidator arguments: diff --git a/automatic_updates_extensions/automatic_updates_extensions.services.yml b/automatic_updates_extensions/automatic_updates_extensions.services.yml index 307e38bd1603b35b52a78d7706bea11c4c1044aa..7c40972b389edbc61da18b55a87995917ae82ea3 100644 --- a/automatic_updates_extensions/automatic_updates_extensions.services.yml +++ b/automatic_updates_extensions/automatic_updates_extensions.services.yml @@ -16,6 +16,7 @@ services: - '@datetime.time' - '@PhpTuf\ComposerStager\Infrastructure\Factory\Path\PathFactoryInterface' - '@package_manager.failure_marker' + Drupal\automatic_updates_extensions\ExtensionUpdater: '@automatic_updates_extensions.updater' automatic_updates_extensions.validator.target_release: class: Drupal\automatic_updates_extensions\Validator\UpdateReleaseValidator tags: diff --git a/automatic_updates_extensions/tests/src/Functional/UpdaterFormTestBase.php b/automatic_updates_extensions/tests/src/Functional/UpdaterFormTestBase.php index 061781f28838e376a78a05a1b3641b819bc4b804..42e14f315844cebe9fa81cb78cd7013121fafcfa 100644 --- a/automatic_updates_extensions/tests/src/Functional/UpdaterFormTestBase.php +++ b/automatic_updates_extensions/tests/src/Functional/UpdaterFormTestBase.php @@ -5,6 +5,7 @@ declare(strict_types = 1); namespace Drupal\Tests\automatic_updates_extensions\Functional; use Drupal\fixture_manipulator\ActiveFixtureManipulator; +use Drupal\package_manager\PathLocator; use Drupal\Tests\automatic_updates_extensions\Traits\FormTestTrait; use Drupal\Tests\automatic_updates\Functional\UpdaterFormTestBase as UpdaterFormFunctionalTestBase; @@ -40,7 +41,7 @@ abstract class UpdaterFormTestBase extends UpdaterFormFunctionalTestBase { protected function setUp(): void { parent::setUp(); - $this->activeDir = $this->container->get('package_manager.path_locator')->getProjectRoot(); + $this->activeDir = $this->container->get(PathLocator::class)->getProjectRoot(); (new ActiveFixtureManipulator()) ->addPackage([ 'name' => 'drupal/semver_test', diff --git a/automatic_updates_extensions/tests/src/Kernel/ExtensionUpdaterTest.php b/automatic_updates_extensions/tests/src/Kernel/ExtensionUpdaterTest.php index c0241ee51ab8c5b0f02d7edf540ae0d2e8c5bee7..9c5bf5937f2505b39b803a63e09dff4062d117b5 100644 --- a/automatic_updates_extensions/tests/src/Kernel/ExtensionUpdaterTest.php +++ b/automatic_updates_extensions/tests/src/Kernel/ExtensionUpdaterTest.php @@ -4,6 +4,7 @@ declare(strict_types = 1); namespace Drupal\Tests\automatic_updates_extensions\Kernel; +use Drupal\automatic_updates_extensions\ExtensionUpdater; use Drupal\Tests\user\Traits\UserCreationTrait; /** @@ -45,7 +46,7 @@ class ExtensionUpdaterTest extends AutomaticUpdatesExtensionsKernelTestBase { * Tests that correct versions are staged after calling ::begin(). */ public function testCorrectVersionsStaged(): void { - $id = $this->container->get('automatic_updates_extensions.updater')->begin([ + $id = $this->container->get(ExtensionUpdater::class)->begin([ 'my_module' => '9.8.1', // Use a legacy version number to ensure they are converted to semantic // version numbers which will work with the drupal.org Composer facade. @@ -60,7 +61,7 @@ class ExtensionUpdaterTest extends AutomaticUpdatesExtensionsKernelTestBase { // Keep using the user account we created. $this->setCurrentUser($user); - $extension_updater = $this->container->get('automatic_updates_extensions.updater'); + $extension_updater = $this->container->get(ExtensionUpdater::class); // Ensure that the target package versions are what we expect. $expected_versions = [ @@ -119,7 +120,7 @@ class ExtensionUpdaterTest extends AutomaticUpdatesExtensionsKernelTestBase { $this->expectException(\InvalidArgumentException::class); $this->expectExceptionMessage("The project contrib_profile1 cannot be updated because updating install profiles is not supported."); - $this->container->get('automatic_updates_extensions.updater') + $this->container->get(ExtensionUpdater::class) ->begin([ 'contrib_profile1' => '1.1.0', ]); @@ -131,7 +132,7 @@ class ExtensionUpdaterTest extends AutomaticUpdatesExtensionsKernelTestBase { public function testNoProjectsInBegin(): void { $this->expectException(\InvalidArgumentException::class); $this->expectExceptionMessage('No projects to begin the update'); - $this->container->get('automatic_updates_extensions.updater')->begin([]); + $this->container->get(ExtensionUpdater::class)->begin([]); } /** @@ -140,7 +141,7 @@ class ExtensionUpdaterTest extends AutomaticUpdatesExtensionsKernelTestBase { public function testUnknownDrupalProject(): void { $this->expectException(\InvalidArgumentException::class); $this->expectExceptionMessage("The project my_module_unknown is not a Drupal project known to Composer and cannot be updated."); - $this->container->get('automatic_updates_extensions.updater')->begin([ + $this->container->get(ExtensionUpdater::class)->begin([ 'my_module_unknown' => '9.8.1', ]); } diff --git a/package_manager/package_manager.services.yml b/package_manager/package_manager.services.yml index 86a9916abaf8d8ed9ce8af1e8a805c618db1a0d6..04eedd84d03fe5131d4a9bc5de5bd264ca9d382a 100644 --- a/package_manager/package_manager.services.yml +++ b/package_manager/package_manager.services.yml @@ -55,6 +55,7 @@ services: class: Drupal\package_manager\Validator\EnvironmentSupportValidator tags: - { name: event_subscriber } + Drupal\package_manager\Validator\EnvironmentSupportValidator: '@package_manager.validator.environment_support' package_manager.validator.composer: class: Drupal\package_manager\Validator\ComposerValidator tags: @@ -63,6 +64,7 @@ services: class: Drupal\package_manager\Validator\DiskSpaceValidator tags: - { name: event_subscriber } + Drupal\package_manager\Validator\DiskSpaceValidator: '@package_manager.validator.disk_space' package_manager.validator.pending_updates: class: Drupal\package_manager\Validator\PendingUpdatesValidator arguments: @@ -80,6 +82,7 @@ services: class: Drupal\package_manager\Validator\WritableFileSystemValidator tags: - { name: event_subscriber } + Drupal\package_manager\Validator\WritableFileSystemValidator: '@package_manager.validator.file_system' package_manager.validator.composer_settings: class: Drupal\package_manager\Validator\ComposerSettingsValidator tags: @@ -128,6 +131,7 @@ services: class: Drupal\package_manager\PathExcluder\SqliteDatabaseExcluder tags: - { name: event_subscriber } + Drupal\package_manager\PathExcluder\SqliteDatabaseExcluder: '@package_manager.sqlite_excluder' package_manager.git_excluder: class: Drupal\package_manager\PathExcluder\GitExcluder tags: @@ -142,6 +146,7 @@ services: $sitePath: '%site.path%' tags: - { name: event_subscriber } + Drupal\package_manager\PathExcluder\SiteConfigurationExcluder: '@package_manager.site_configuration_excluder' package_manager.node_modules_excluder: class: Drupal\package_manager\PathExcluder\NodeModulesExcluder tags: @@ -170,6 +175,7 @@ services: class: Drupal\package_manager\Validator\BaseRequirementsFulfilledValidator tags: - { name: event_subscriber } + Drupal\package_manager\Validator\BaseRequirementsFulfilledValidator: '@package_manager.validator.base_requirements_fulfilled' package_manager.validator.supported_releases: class: Drupal\package_manager\Validator\SupportedReleaseValidator tags: diff --git a/package_manager/tests/src/Functional/FailureMarkerRequirementTest.php b/package_manager/tests/src/Functional/FailureMarkerRequirementTest.php index 27062ecbd1cf6b92109c6b29dfbcb3722768fb1d..c16fa178f4912930db6b9136b1ea28c935e6333e 100644 --- a/package_manager/tests/src/Functional/FailureMarkerRequirementTest.php +++ b/package_manager/tests/src/Functional/FailureMarkerRequirementTest.php @@ -5,6 +5,8 @@ declare(strict_types = 1); namespace Drupal\Tests\package_manager\Functional; use Drupal\Core\StringTranslation\StringTranslationTrait; +use Drupal\package_manager\FailureMarker; +use Drupal\package_manager\PathLocator; use Drupal\package_manager\Stage; use Drupal\Tests\BrowserTestBase; use Drupal\Tests\package_manager\Traits\AssertPreconditionsTrait; @@ -43,10 +45,10 @@ class FailureMarkerRequirementTest extends BrowserTestBase { $this->drupalLogin($account); $fake_project_root = $this->root . DIRECTORY_SEPARATOR . $this->publicFilesDirectory; - $this->container->get('package_manager.path_locator') + $this->container->get(PathLocator::class) ->setPaths($fake_project_root, NULL, NULL, NULL); - $failure_marker = $this->container->get('package_manager.failure_marker'); + $failure_marker = $this->container->get(FailureMarker::class); $message = $this->t('Package Manager is here to wreck your day.'); $failure_marker->write($this->createMock(Stage::class), $message); $path = $failure_marker->getPath(); diff --git a/package_manager/tests/src/Kernel/BaseRequirementsFulfilledValidatorTest.php b/package_manager/tests/src/Kernel/BaseRequirementsFulfilledValidatorTest.php index 474612bbeab3c10d5ba9040c39d89c16a7f3c003..a722b9c1c11ebd1d1a5937001b779ea25724a3be 100644 --- a/package_manager/tests/src/Kernel/BaseRequirementsFulfilledValidatorTest.php +++ b/package_manager/tests/src/Kernel/BaseRequirementsFulfilledValidatorTest.php @@ -7,6 +7,7 @@ use Drupal\package_manager\Event\PreCreateEvent; use Drupal\package_manager\Event\PreOperationStageEvent; use Drupal\package_manager\Event\StatusCheckEvent; use Drupal\package_manager\ValidationResult; +use Drupal\package_manager\Validator\BaseRequirementsFulfilledValidator; use Drupal\package_manager\Validator\BaseRequirementValidatorTrait; use Symfony\Component\EventDispatcher\EventSubscriberInterface; @@ -72,7 +73,7 @@ class BaseRequirementsFulfilledValidatorTest extends PackageManagerKernelTestBas public function testBaseRequirement(string $event_class): void { $this->eventClass = $event_class; - $validator = $this->container->get('package_manager.validator.base_requirements_fulfilled'); + $validator = $this->container->get(BaseRequirementsFulfilledValidator::class); $this->assertEventPropagationStopped($event_class, [$validator, 'validate']); $result = ValidationResult::createError([ diff --git a/package_manager/tests/src/Kernel/ComposerInspectorTest.php b/package_manager/tests/src/Kernel/ComposerInspectorTest.php index ff378cb9e708634844b41c98a75492df89b5be01..1dc3c7c27a16bc6ba9355c1f09567416ab7ca403 100644 --- a/package_manager/tests/src/Kernel/ComposerInspectorTest.php +++ b/package_manager/tests/src/Kernel/ComposerInspectorTest.php @@ -30,9 +30,9 @@ class ComposerInspectorTest extends PackageManagerKernelTestBase { * @covers ::getConfig */ public function testConfig(): void { - $dir = $this->container->get('package_manager.path_locator') + $dir = $this->container->get(PathLocator::class) ->getProjectRoot(); - $inspector = $this->container->get('package_manager.composer_inspector'); + $inspector = $this->container->get(ComposerInspector::class); $this->assertSame(1, Json::decode($inspector->getConfig('secure-http', $dir))); $this->assertSame([ @@ -66,9 +66,9 @@ class ComposerInspectorTest extends PackageManagerKernelTestBase { * @covers ::getConfig */ public function testConfigUndefinedKey(): void { - $project_root = $this->container->get('package_manager.path_locator') + $project_root = $this->container->get(PathLocator::class) ->getProjectRoot(); - $inspector = $this->container->get('package_manager.composer_inspector'); + $inspector = $this->container->get(ComposerInspector::class); // Overwrite the composer.json file and treat it as a $file = new JsonFile($project_root . '/composer.json'); @@ -91,11 +91,11 @@ class ComposerInspectorTest extends PackageManagerKernelTestBase { * @covers ::getInstalledPackagesList */ public function testGetInstalledPackagesList(): void { - $project_root = $this->container->get('package_manager.path_locator') + $project_root = $this->container->get(PathLocator::class) ->getProjectRoot(); /** @var \Drupal\package_manager\ComposerInspector $inspector */ - $inspector = $this->container->get('package_manager.composer_inspector'); + $inspector = $this->container->get(ComposerInspector::class); $list = $inspector->getInstalledPackagesList($project_root); $this->assertInstanceOf(InstalledPackage::class, $list['drupal/core']); @@ -150,10 +150,9 @@ class ComposerInspectorTest extends PackageManagerKernelTestBase { // be called once even though we call validate() twice. ->shouldBeCalledOnce(); - $project_root = $this->container->get('package_manager.path_locator') - ->getProjectRoot(); + $project_root = $this->container->get(PathLocator::class)->getProjectRoot(); /** @var \Drupal\package_manager\ComposerInspector $inspector */ - $inspector = $this->container->get('package_manager.composer_inspector'); + $inspector = $this->container->get(ComposerInspector::class); try { $inspector->validate($project_root); $this->fail('Expected an exception to be thrown, but it was not.'); @@ -182,14 +181,14 @@ class ComposerInspectorTest extends PackageManagerKernelTestBase { * ["composer.lock"] */ public function testComposerFilesDoNotExist(string $filename): void { - $project_root = $this->container->get('package_manager.path_locator') + $project_root = $this->container->get(PathLocator::class) ->getProjectRoot(); $file_path = $project_root . '/' . $filename; unlink($file_path); /** @var \Drupal\package_manager\ComposerInspector $inspector */ - $inspector = $this->container->get('package_manager.composer_inspector'); + $inspector = $this->container->get(ComposerInspector::class); try { $inspector->validate($project_root); } @@ -262,10 +261,10 @@ class ComposerInspectorTest extends PackageManagerKernelTestBase { $expected_message = "The detected Composer version, $reported_version, does not satisfy <code>" . ComposerInspector::SUPPORTED_VERSION . '</code>.'; } - $project_root = $this->container->get('package_manager.path_locator') + $project_root = $this->container->get(PathLocator::class) ->getProjectRoot(); /** @var \Drupal\package_manager\ComposerInspector $inspector */ - $inspector = $this->container->get('package_manager.composer_inspector'); + $inspector = $this->container->get(ComposerInspector::class); try { $inspector->validate($project_root); // If we expected the version check to succeed, ensure we did not expect @@ -288,7 +287,7 @@ class ComposerInspectorTest extends PackageManagerKernelTestBase { * @covers ::validate */ public function testComposerValidateIsCalled(): void { - $project_root = $this->container->get('package_manager.path_locator') + $project_root = $this->container->get(PathLocator::class) ->getProjectRoot(); // Put an invalid value into composer.json and ensure it gets surfaced as @@ -300,7 +299,7 @@ class ComposerInspectorTest extends PackageManagerKernelTestBase { $file->write($data); try { - $this->container->get('package_manager.composer_inspector') + $this->container->get(ComposerInspector::class) ->validate($project_root); $this->fail('Expected an exception to be thrown, but it was not.'); } @@ -315,10 +314,10 @@ class ComposerInspectorTest extends PackageManagerKernelTestBase { * @covers ::getRootPackageInfo */ public function testRootPackageInfo(): void { - $project_root = $this->container->get('package_manager.path_locator') + $project_root = $this->container->get(PathLocator::class) ->getProjectRoot(); - $info = $this->container->get('package_manager.composer_inspector') + $info = $this->container->get(ComposerInspector::class) ->getRootPackageInfo($project_root); $this->assertSame('fake/site', $info['name']); } diff --git a/package_manager/tests/src/Kernel/DiskSpaceValidatorTest.php b/package_manager/tests/src/Kernel/DiskSpaceValidatorTest.php index d0a21a88690a8ee8cd3060f2dd3f5d072cd97175..bf06f77dddfa496b6181402b6102f788748358a8 100644 --- a/package_manager/tests/src/Kernel/DiskSpaceValidatorTest.php +++ b/package_manager/tests/src/Kernel/DiskSpaceValidatorTest.php @@ -8,6 +8,7 @@ use Drupal\package_manager\Event\PreApplyEvent; use Drupal\package_manager\Event\PreCreateEvent; use Drupal\package_manager\ValidationResult; use Drupal\Component\Utility\Bytes; +use Drupal\package_manager\Validator\DiskSpaceValidator; /** * @covers \Drupal\package_manager\Validator\DiskSpaceValidator @@ -149,7 +150,7 @@ class DiskSpaceValidatorTest extends PackageManagerKernelTestBase { $free_space = array_flip($this->resolvePlaceholdersInArrayValuesWithRealPaths(array_flip($free_space))); /** @var \Drupal\Tests\package_manager\Kernel\TestDiskSpaceValidator $validator */ - $validator = $this->container->get('package_manager.validator.disk_space'); + $validator = $this->container->get(DiskSpaceValidator::class); $validator->sharedDisk = $shared_disk; $validator->freeSpace = array_map([Bytes::class, 'toNumber'], $free_space); @@ -177,7 +178,7 @@ class DiskSpaceValidatorTest extends PackageManagerKernelTestBase { $this->addEventTestListener(function () use ($shared_disk, $free_space): void { /** @var \Drupal\Tests\package_manager\Kernel\TestDiskSpaceValidator $validator */ - $validator = $this->container->get('package_manager.validator.disk_space'); + $validator = $this->container->get(DiskSpaceValidator::class); $validator->sharedDisk = $shared_disk; $validator->freeSpace = array_map([Bytes::class, 'toNumber'], $free_space); }); diff --git a/package_manager/tests/src/Kernel/DuplicateInfoFileValidatorTest.php b/package_manager/tests/src/Kernel/DuplicateInfoFileValidatorTest.php index 980eb5cdd8a005502afb257d8238cba45ac9fcc4..c17377524a64e06e1f4693d63cc2606bf421fc90 100644 --- a/package_manager/tests/src/Kernel/DuplicateInfoFileValidatorTest.php +++ b/package_manager/tests/src/Kernel/DuplicateInfoFileValidatorTest.php @@ -5,6 +5,7 @@ declare(strict_types = 1); namespace Drupal\Tests\package_manager\Kernel; use Drupal\package_manager\Exception\StageEventException; +use Drupal\package_manager\PathLocator; use Drupal\package_manager\ValidationResult; use Symfony\Component\Filesystem\Filesystem; @@ -201,8 +202,7 @@ class DuplicateInfoFileValidatorTest extends PackageManagerKernelTestBase { $stage->create(); $stage->require(['composer/semver:^3']); - $active_dir = $this->container->get('package_manager.path_locator') - ->getProjectRoot(); + $active_dir = $this->container->get(PathLocator::class)->getProjectRoot(); $stage_dir = $stage->getStageDirectory(); foreach ($active_info_files as $active_info_file) { $this->createFileAtPath($active_dir, $active_info_file); diff --git a/package_manager/tests/src/Kernel/EnvironmentSupportValidatorTest.php b/package_manager/tests/src/Kernel/EnvironmentSupportValidatorTest.php index 8707540cc276c7df3f56d83654e83672695827c2..328839bb95ab7833bdd6e4d44e4177c866d4a68e 100644 --- a/package_manager/tests/src/Kernel/EnvironmentSupportValidatorTest.php +++ b/package_manager/tests/src/Kernel/EnvironmentSupportValidatorTest.php @@ -27,7 +27,7 @@ class EnvironmentSupportValidatorTest extends PackageManagerKernelTestBase { t('Package Manager is not supported by your environment.'), ]); foreach ([PreCreateEvent::class, StatusCheckEvent::class] as $event_class) { - $this->assertEventPropagationStopped($event_class, [$this->container->get('package_manager.validator.environment_support'), 'validate']); + $this->assertEventPropagationStopped($event_class, [$this->container->get(EnvironmentSupportValidator::class), 'validate']); } $this->assertStatusCheckResults([$result]); $this->assertResults([$result], PreCreateEvent::class); @@ -45,7 +45,7 @@ class EnvironmentSupportValidatorTest extends PackageManagerKernelTestBase { 'Package Manager is not supported by your environment.', ]); - $this->assertEventPropagationStopped(PreApplyEvent::class, [$this->container->get('package_manager.validator.environment_support'), 'validate']); + $this->assertEventPropagationStopped(PreApplyEvent::class, [$this->container->get(EnvironmentSupportValidator::class), 'validate']); $this->assertResults([$result], PreApplyEvent::class); } diff --git a/package_manager/tests/src/Kernel/FailureMarkerTest.php b/package_manager/tests/src/Kernel/FailureMarkerTest.php index c9cfbd831b0e80802089578d8e3ab7ba8373149b..5e524543eb0e674c9b303d87b346d12e36c90078 100644 --- a/package_manager/tests/src/Kernel/FailureMarkerTest.php +++ b/package_manager/tests/src/Kernel/FailureMarkerTest.php @@ -6,6 +6,7 @@ namespace Drupal\Tests\package_manager\Kernel; use Drupal\Core\StringTranslation\StringTranslationTrait; use Drupal\package_manager\Exception\StageFailureMarkerException; +use Drupal\package_manager\FailureMarker; /** * @coversDefaultClass \Drupal\package_manager\FailureMarker @@ -19,7 +20,7 @@ class FailureMarkerTest extends PackageManagerKernelTestBase { * @covers ::assertNotExists */ public function testExceptionIfExists(): void { - $failure_marker = $this->container->get('package_manager.failure_marker'); + $failure_marker = $this->container->get(FailureMarker::class); $failure_marker->write($this->createStage(), $this->t('Disastrous catastrophe!')); $this->expectException(StageFailureMarkerException::class); @@ -33,7 +34,7 @@ class FailureMarkerTest extends PackageManagerKernelTestBase { * @covers ::assertNotExists */ public function testExceptionForInvalidJson(): void { - $failure_marker = $this->container->get('package_manager.failure_marker'); + $failure_marker = $this->container->get(FailureMarker::class); // Write the failure marker with invalid JSON. file_put_contents($failure_marker->getPath(), '{}}'); diff --git a/package_manager/tests/src/Kernel/FakeSiteFixtureTest.php b/package_manager/tests/src/Kernel/FakeSiteFixtureTest.php index f48efba8203a06fbe339b0f315f4b7fef4624f62..3dfb3c4eb23892b715f7d0f8ef914d165125b092 100644 --- a/package_manager/tests/src/Kernel/FakeSiteFixtureTest.php +++ b/package_manager/tests/src/Kernel/FakeSiteFixtureTest.php @@ -5,6 +5,8 @@ declare(strict_types = 1); namespace Drupal\Tests\package_manager\Kernel; use Drupal\fixture_manipulator\ActiveFixtureManipulator; +use Drupal\package_manager\ComposerInspector; +use Drupal\package_manager\PathLocator; use Symfony\Component\Process\Process; /** @@ -30,9 +32,9 @@ class FakeSiteFixtureTest extends PackageManagerKernelTestBase { * Tests calls to ComposerInspector class methods. */ public function testCallToComposerInspectorMethods(): void { - $active_dir = $this->container->get('package_manager.path_locator')->getProjectRoot(); + $active_dir = $this->container->get(PathLocator::class)->getProjectRoot(); /** @var \Drupal\package_manager\ComposerInspector $inspector */ - $inspector = $this->container->get('package_manager.composer_inspector'); + $inspector = $this->container->get(ComposerInspector::class); $list = $inspector->getInstalledPackagesList($active_dir); $this->assertNull($list->getPackageByDrupalProjectName('any_random_name')); $this->assertFalse(isset($list['drupal/any_random_name'])); @@ -45,8 +47,8 @@ class FakeSiteFixtureTest extends PackageManagerKernelTestBase { */ public function testCallToSetVersion(): void { /** @var \Drupal\package_manager\ComposerInspector $inspector */ - $inspector = $this->container->get('package_manager.composer_inspector'); - $active_dir = $this->container->get('package_manager.path_locator')->getProjectRoot(); + $inspector = $this->container->get(ComposerInspector::class); + $active_dir = $this->container->get(PathLocator::class)->getProjectRoot(); $installed_packages = $inspector->getInstalledPackagesList($active_dir); foreach (self::getExpectedFakeSitePackages() as $package_name) { $this->assertArrayHasKey($package_name, $installed_packages); @@ -66,8 +68,8 @@ class FakeSiteFixtureTest extends PackageManagerKernelTestBase { */ public function testCallToRemovePackage(): void { /** @var \Drupal\package_manager\ComposerInspector $inspector */ - $inspector = $this->container->get('package_manager.composer_inspector'); - $active_dir = $this->container->get('package_manager.path_locator')->getProjectRoot(); + $inspector = $this->container->get(ComposerInspector::class); + $active_dir = $this->container->get(PathLocator::class)->getProjectRoot(); $expected_packages = self::getExpectedFakeSitePackages(); $actual_packages = array_keys($inspector->getInstalledPackagesList($active_dir)->getArrayCopy()); sort($actual_packages); @@ -88,9 +90,9 @@ class FakeSiteFixtureTest extends PackageManagerKernelTestBase { * Checks that the expected packages are installed in the fake site fixture. */ public function testExpectedPackages(): void { - $project_root = $this->container->get('package_manager.path_locator') + $project_root = $this->container->get(PathLocator::class) ->getProjectRoot(); - $installed_packages = $this->container->get('package_manager.composer_inspector') + $installed_packages = $this->container->get(ComposerInspector::class) ->getInstalledPackagesList($project_root) ->getArrayCopy(); ksort($installed_packages); @@ -117,7 +119,7 @@ class FakeSiteFixtureTest extends PackageManagerKernelTestBase { * Tests that Composer show command can be used on the fixture. */ public function testComposerShow(): void { - $active_dir = $this->container->get('package_manager.path_locator')->getProjectRoot(); + $active_dir = $this->container->get(PathLocator::class)->getProjectRoot(); (new ActiveFixtureManipulator()) ->addPackage([ 'type' => 'package', @@ -134,7 +136,7 @@ class FakeSiteFixtureTest extends PackageManagerKernelTestBase { $package_names = array_map(fn (array $package) => $package['name'], $output['installed']); $this->assertTrue(asort($package_names)); $this->assertSame(['any-org/any-package', 'drupal/core', 'drupal/core-dev', 'drupal/core-recommended'], $package_names); - $list = $this->container->get('package_manager.composer_inspector')->getInstalledPackagesList($active_dir); + $list = $this->container->get(ComposerInspector::class)->getInstalledPackagesList($active_dir); $list_packages_names = array_keys($list->getArrayCopy()); $this->assertSame(['any-org/any-package', 'drupal/core', 'drupal/core-dev', 'drupal/core-recommended'], $list_packages_names); } @@ -143,7 +145,7 @@ class FakeSiteFixtureTest extends PackageManagerKernelTestBase { * Tests that the fixture passes `composer validate`. */ public function testComposerValidate(): void { - $active_dir = $this->container->get('package_manager.path_locator')->getProjectRoot(); + $active_dir = $this->container->get(PathLocator::class)->getProjectRoot(); $process = new Process([ 'composer', 'validate', diff --git a/package_manager/tests/src/Kernel/FixtureManipulatorTest.php b/package_manager/tests/src/Kernel/FixtureManipulatorTest.php index 941dd242cda08b58956437995577e89543a57e80..3cf7c208fea6ebfd317ac60d71e19ee142a364c4 100644 --- a/package_manager/tests/src/Kernel/FixtureManipulatorTest.php +++ b/package_manager/tests/src/Kernel/FixtureManipulatorTest.php @@ -6,6 +6,8 @@ namespace Drupal\Tests\package_manager\Kernel; use Drupal\fixture_manipulator\ActiveFixtureManipulator; use Drupal\fixture_manipulator\FixtureManipulator; +use Drupal\package_manager\ComposerInspector; +use Drupal\package_manager\PathLocator; /** * @coversDefaultClass \Drupal\fixture_manipulator\FixtureManipulator @@ -62,8 +64,7 @@ class FixtureManipulatorTest extends PackageManagerKernelTestBase { protected function setUp(): void { parent::setUp(); - $this->dir = $this->container->get('package_manager.path_locator') - ->getProjectRoot(); + $this->dir = $this->container->get(PathLocator::class)->getProjectRoot(); [, $this->originalInstalledPhp] = $this->getData(); @@ -187,7 +188,7 @@ class FixtureManipulatorTest extends PackageManagerKernelTestBase { * @covers ::modifyPackage */ public function testModifyPackageConfig(): void { - $inspector = $this->container->get('package_manager.composer_inspector'); + $inspector = $this->container->get(ComposerInspector::class); // Assert ::modifyPackage() works with a package in an existing fixture not // created by ::addPackage(). @@ -338,7 +339,7 @@ class FixtureManipulatorTest extends PackageManagerKernelTestBase { * @covers ::addDotGitFolder */ public function testAddDotGitFolder() { - $path_locator = $this->container->get('package_manager.path_locator'); + $path_locator = $this->container->get(PathLocator::class); $project_root = $path_locator->getProjectRoot(); $this->assertFalse(is_dir($project_root . "/relative/path/.git")); // We should not be able to add a git folder to a non-existing directory. diff --git a/package_manager/tests/src/Kernel/InstalledPackagesListTest.php b/package_manager/tests/src/Kernel/InstalledPackagesListTest.php index e741b551ab2fe8d687606085d7fa2f65ce9fb8b6..008d0a8934d7b95ca46a71f1163f090c200b57b3 100644 --- a/package_manager/tests/src/Kernel/InstalledPackagesListTest.php +++ b/package_manager/tests/src/Kernel/InstalledPackagesListTest.php @@ -5,6 +5,7 @@ namespace Drupal\Tests\package_manager\Kernel; use Drupal\fixture_manipulator\ActiveFixtureManipulator; use Drupal\package_manager\InstalledPackage; use Drupal\package_manager\InstalledPackagesList; +use Drupal\package_manager\PathLocator; /** * @coversDefaultClass \Drupal\package_manager\InstalledPackagesList @@ -23,7 +24,7 @@ class InstalledPackagesListTest extends PackageManagerKernelTestBase { // be in the `modules` directory, or themes will be the `themes` directory. // So, in this test, we ensure that flexibility works by just throwing all // the projects into a single `projects` directory. - $projects_path = $this->container->get('package_manager.path_locator') + $projects_path = $this->container->get(PathLocator::class) ->getProjectRoot() . '/projects'; // The project name does not match the package name, and the project diff --git a/package_manager/tests/src/Kernel/LockFileValidatorTest.php b/package_manager/tests/src/Kernel/LockFileValidatorTest.php index cac4d20452bfc78961f101025bd805ca8db8fba4..93ac74cdcfbc7d6eb06f661969dd236b65c87208 100644 --- a/package_manager/tests/src/Kernel/LockFileValidatorTest.php +++ b/package_manager/tests/src/Kernel/LockFileValidatorTest.php @@ -10,6 +10,7 @@ use Drupal\package_manager\Event\PreApplyEvent; use Drupal\package_manager\Event\PreCreateEvent; use Drupal\package_manager\Event\PreRequireEvent; use Drupal\package_manager\InstalledPackagesList; +use Drupal\package_manager\PathLocator; use Drupal\package_manager\Validator\LockFileValidator; use Drupal\package_manager\ValidationResult; use Drupal\package_manager_bypass\NoOpStager; @@ -34,7 +35,7 @@ class LockFileValidatorTest extends PackageManagerKernelTestBase { */ protected function setUp(): void { parent::setUp(); - $this->activeDir = $this->container->get('package_manager.path_locator') + $this->activeDir = $this->container->get(PathLocator::class) ->getProjectRoot(); } diff --git a/package_manager/tests/src/Kernel/MultisiteValidatorTest.php b/package_manager/tests/src/Kernel/MultisiteValidatorTest.php index b331ef4649ddc6deb8081d1a06204cae84b805d9..cb24ffad1cc4f91c3984f617957a9fb74806379b 100644 --- a/package_manager/tests/src/Kernel/MultisiteValidatorTest.php +++ b/package_manager/tests/src/Kernel/MultisiteValidatorTest.php @@ -6,6 +6,7 @@ namespace Drupal\Tests\package_manager\Kernel; use Drupal\package_manager\Event\PreApplyEvent; use Drupal\package_manager\Event\PreCreateEvent; +use Drupal\package_manager\PathLocator; use Drupal\package_manager\ValidationResult; /** @@ -75,7 +76,7 @@ PHP, */ public function testMultisite(?string $sites_php, array $expected_results = []): void { if ($sites_php) { - $project_root = $this->container->get('package_manager.path_locator')->getProjectRoot(); + $project_root = $this->container->get(PathLocator::class)->getProjectRoot(); file_put_contents($project_root . '/sites/sites.php', $sites_php); } $this->assertStatusCheckResults($expected_results); @@ -96,7 +97,7 @@ PHP, public function testMultisiteDuringPreApply(?string $sites_php, array $expected_results = []): void { $this->addEventTestListener(function () use ($sites_php): void { if ($sites_php) { - $project_root = $this->container->get('package_manager.path_locator')->getProjectRoot(); + $project_root = $this->container->get(PathLocator::class)->getProjectRoot(); file_put_contents($project_root . '/sites/sites.php', $sites_php); } }); diff --git a/package_manager/tests/src/Kernel/OverwriteExistingPackagesValidatorTest.php b/package_manager/tests/src/Kernel/OverwriteExistingPackagesValidatorTest.php index 0455627bd87cc4c51a153c90b4e51a1f8771411f..9b28481fdfdd8f9cc4453caca25dff225a0a58eb 100644 --- a/package_manager/tests/src/Kernel/OverwriteExistingPackagesValidatorTest.php +++ b/package_manager/tests/src/Kernel/OverwriteExistingPackagesValidatorTest.php @@ -5,8 +5,10 @@ declare(strict_types = 1); namespace Drupal\Tests\package_manager\Kernel; use Drupal\fixture_manipulator\ActiveFixtureManipulator; +use Drupal\package_manager\ComposerInspector; use Drupal\package_manager\Event\PostCreateEvent; use Drupal\package_manager\Event\PreApplyEvent; +use Drupal\package_manager\PathLocator; use Drupal\package_manager\ValidationResult; use Drupal\Tests\package_manager\Traits\ComposerInstallersTrait; @@ -28,7 +30,7 @@ class OverwriteExistingPackagesValidatorTest extends PackageManagerKernelTestBas $this->disableValidators[] = 'package_manager.validator.supported_releases'; parent::setUp(); - $this->installComposerInstallers($this->container->get('package_manager.path_locator')->getProjectRoot()); + $this->installComposerInstallers($this->container->get(PathLocator::class)->getProjectRoot()); } /** @@ -114,7 +116,7 @@ class OverwriteExistingPackagesValidatorTest extends PackageManagerKernelTestBas // Set the installer path config in the active directory this will be // copied to the stage directory where we install the packages. - $this->setInstallerPaths($installer_paths, $this->container->get('package_manager.path_locator')->getProjectRoot()); + $this->setInstallerPaths($installer_paths, $this->container->get(PathLocator::class)->getProjectRoot()); // Add a package without an install_path set which will not raise an error. // The most common example of this in the Drupal ecosystem is a submodule. @@ -127,7 +129,7 @@ class OverwriteExistingPackagesValidatorTest extends PackageManagerKernelTestBas FALSE, TRUE ); - $inspector = $this->container->get('package_manager.composer_inspector'); + $inspector = $this->container->get(ComposerInspector::class); $listener = function (PostCreateEvent $event) use ($inspector) { $list = $inspector->getInstalledPackagesList($event->stage->getStageDirectory()); $this->assertArrayHasKey('drupal/sub-module', $list->getArrayCopy()); diff --git a/package_manager/tests/src/Kernel/PackageManagerKernelTestBase.php b/package_manager/tests/src/Kernel/PackageManagerKernelTestBase.php index f0b1db995cee47ff634b181dc645a31747fb3daa..19aff68a9729a7d8810ddcedbe64a6e6b5f99dcf 100644 --- a/package_manager/tests/src/Kernel/PackageManagerKernelTestBase.php +++ b/package_manager/tests/src/Kernel/PackageManagerKernelTestBase.php @@ -13,6 +13,8 @@ use Drupal\package_manager\Event\PreApplyEvent; use Drupal\package_manager\Event\PreCreateEvent; use Drupal\package_manager\Event\PreOperationStageEvent; use Drupal\package_manager\Exception\StageEventException; +use Drupal\package_manager\FailureMarker; +use Drupal\package_manager\PathLocator; use Drupal\package_manager\StatusCheckTrait; use Drupal\package_manager\Validator\DiskSpaceValidator; use Drupal\package_manager\Stage; @@ -129,7 +131,7 @@ abstract class PackageManagerKernelTestBase extends KernelTestBase { */ protected function createStage(): TestStage { return new TestStage( - $this->container->get('package_manager.path_locator'), + $this->container->get(PathLocator::class), $this->container->get('package_manager.beginner'), $this->container->get('package_manager.stager'), $this->container->get('package_manager.committer'), @@ -138,7 +140,7 @@ abstract class PackageManagerKernelTestBase extends KernelTestBase { $this->container->get('tempstore.shared'), $this->container->get('datetime.time'), new PathFactory(), - $this->container->get('package_manager.failure_marker') + $this->container->get(FailureMarker::class) ); } @@ -263,7 +265,7 @@ abstract class PackageManagerKernelTestBase extends KernelTestBase { // Ensure the path locator points to the test project. We assume that is its // own web root and the vendor directory is at its top level. /** @var \Drupal\package_manager_bypass\MockPathLocator $path_locator */ - $path_locator = $this->container->get('package_manager.path_locator'); + $path_locator = $this->container->get(PathLocator::class); $path_locator->setPaths($active_dir, $active_dir . '/vendor', '', $staging_root); // This validator will persist through container rebuilds. diff --git a/package_manager/tests/src/Kernel/PathExcluder/GitExcluderTest.php b/package_manager/tests/src/Kernel/PathExcluder/GitExcluderTest.php index 03fe798773b091a0d79c28b173e5bdef7f95e67e..fc15ef2155631e4aaa0ef73bd781d3d84bc4d2bc 100644 --- a/package_manager/tests/src/Kernel/PathExcluder/GitExcluderTest.php +++ b/package_manager/tests/src/Kernel/PathExcluder/GitExcluderTest.php @@ -6,6 +6,7 @@ namespace Drupal\Tests\package_manager\Kernel\PathExcluder; use Drupal\Core\Serialization\Yaml; use Drupal\fixture_manipulator\ActiveFixtureManipulator; +use Drupal\package_manager\PathLocator; use Drupal\Tests\package_manager\Kernel\PackageManagerKernelTestBase; use Drupal\Tests\package_manager\Traits\ComposerInstallersTrait; use Symfony\Component\Filesystem\Filesystem; @@ -24,8 +25,7 @@ class GitExcluderTest extends PackageManagerKernelTestBase { */ protected function setUp(): void { parent::setUp(); - $path_locator = $this->container->get('package_manager.path_locator'); - $project_root = $path_locator->getProjectRoot(); + $project_root = $this->container->get(PathLocator::class)->getProjectRoot(); $this->installComposerInstallers($project_root); $active_manipulator = new ActiveFixtureManipulator(); $active_manipulator diff --git a/package_manager/tests/src/Kernel/PathExcluder/NodeModulesExcluderTest.php b/package_manager/tests/src/Kernel/PathExcluder/NodeModulesExcluderTest.php index 24c74eff6e8a60335046e3764c2890e6c2d53770..db5eada539f8d3d3cf2e68727c8a408c85da9fc1 100644 --- a/package_manager/tests/src/Kernel/PathExcluder/NodeModulesExcluderTest.php +++ b/package_manager/tests/src/Kernel/PathExcluder/NodeModulesExcluderTest.php @@ -4,6 +4,7 @@ declare(strict_types = 1); namespace Drupal\Tests\package_manager\Kernel\PathExcluder; +use Drupal\package_manager\PathLocator; use Drupal\Tests\package_manager\Kernel\PackageManagerKernelTestBase; /** @@ -23,7 +24,7 @@ class NodeModulesExcluderTest extends PackageManagerKernelTestBase { // Ensure we have an up-to-date container. $this->container = $this->container->get('kernel')->rebuildContainer(); - $active_dir = $this->container->get('package_manager.path_locator') + $active_dir = $this->container->get(PathLocator::class) ->getProjectRoot(); $stage = $this->createStage(); diff --git a/package_manager/tests/src/Kernel/PathExcluder/SiteConfigurationExcluderTest.php b/package_manager/tests/src/Kernel/PathExcluder/SiteConfigurationExcluderTest.php index fadcf455a05a1ef2d2a0277fcf66613bd5d9adb6..ae8838e783dc295ed6eee534b9c94bdeeee737e6 100644 --- a/package_manager/tests/src/Kernel/PathExcluder/SiteConfigurationExcluderTest.php +++ b/package_manager/tests/src/Kernel/PathExcluder/SiteConfigurationExcluderTest.php @@ -6,6 +6,7 @@ namespace Drupal\Tests\package_manager\Kernel\PathExcluder; use Drupal\Core\DependencyInjection\ContainerBuilder; use Drupal\package_manager\PathExcluder\SiteConfigurationExcluder; +use Drupal\package_manager\PathLocator; use Drupal\Tests\package_manager\Kernel\PackageManagerKernelTestBase; /** @@ -35,14 +36,12 @@ class SiteConfigurationExcluderTest extends PackageManagerKernelTestBase { // Ensure we have an up-to-date container. $this->container = $this->container->get('kernel')->rebuildContainer(); - $active_dir = $this->container->get('package_manager.path_locator') - ->getProjectRoot(); + $active_dir = $this->container->get(PathLocator::class)->getProjectRoot(); $site_path = 'sites/example.com'; // Update the event subscribers' dependencies. - /** @var \Drupal\Tests\package_manager\Kernel\PathExcluder\TestSiteConfigurationExcluder $site_configuration_excluder */ - $site_configuration_excluder = $this->container->get('package_manager.site_configuration_excluder'); + $site_configuration_excluder = $this->container->get(SiteConfigurationExcluder::class); $site_configuration_excluder->sitePath = $site_path; $stage = $this->createStage(); diff --git a/package_manager/tests/src/Kernel/PathExcluder/SiteFilesExcluderTest.php b/package_manager/tests/src/Kernel/PathExcluder/SiteFilesExcluderTest.php index 504fc3d34467f2e5e6c8b5c3b15ac5cdcb20b277..bc8d7002a3595c6cd800d4e9c58656095cf8b73a 100644 --- a/package_manager/tests/src/Kernel/PathExcluder/SiteFilesExcluderTest.php +++ b/package_manager/tests/src/Kernel/PathExcluder/SiteFilesExcluderTest.php @@ -4,6 +4,7 @@ declare(strict_types = 1); namespace Drupal\Tests\package_manager\Kernel\PathExcluder; +use Drupal\package_manager\PathLocator; use Drupal\Tests\package_manager\Kernel\PackageManagerKernelTestBase; /** @@ -27,8 +28,7 @@ class SiteFilesExcluderTest extends PackageManagerKernelTestBase { // Ensure we have an up-to-date container. $this->container = $this->container->get('kernel')->rebuildContainer(); - $active_dir = $this->container->get('package_manager.path_locator') - ->getProjectRoot(); + $active_dir = $this->container->get(PathLocator::class)->getProjectRoot(); // Ensure that we are using directories within the fake site fixture for // public and private files. diff --git a/package_manager/tests/src/Kernel/PathExcluder/SqliteDatabaseExcluderTest.php b/package_manager/tests/src/Kernel/PathExcluder/SqliteDatabaseExcluderTest.php index 1c00c03ddd22f82e2822ecc5932944d7bdda79c7..c4d291be6174fa484b8453981ae3f1a0c76fa877 100644 --- a/package_manager/tests/src/Kernel/PathExcluder/SqliteDatabaseExcluderTest.php +++ b/package_manager/tests/src/Kernel/PathExcluder/SqliteDatabaseExcluderTest.php @@ -8,6 +8,7 @@ use Drupal\Core\Database\Connection; use Drupal\Core\DependencyInjection\ContainerBuilder; use Drupal\package_manager\Event\CollectIgnoredPathsEvent; use Drupal\package_manager\PathExcluder\SqliteDatabaseExcluder; +use Drupal\package_manager\PathLocator; use Drupal\Tests\package_manager\Kernel\PackageManagerKernelTestBase; /** @@ -39,7 +40,7 @@ class SqliteDatabaseExcluderTest extends PackageManagerKernelTestBase { $database->getConnectionOptions()->willReturn($connection_options); /** @var \Drupal\Tests\package_manager\Kernel\PathExcluder\TestSiteConfigurationExcluder $sqlite_excluder */ - $sqlite_excluder = $this->container->get('package_manager.sqlite_excluder'); + $sqlite_excluder = $this->container->get(SqliteDatabaseExcluder::class); $sqlite_excluder->database = $database->reveal(); } @@ -53,8 +54,7 @@ class SqliteDatabaseExcluderTest extends PackageManagerKernelTestBase { // Ensure we have an up-to-date container. $this->container = $this->container->get('kernel')->rebuildContainer(); - $active_dir = $this->container->get('package_manager.path_locator') - ->getProjectRoot(); + $active_dir = $this->container->get(PathLocator::class)->getProjectRoot(); // Mock a SQLite database connection to a file in the active directory. The // file should not be staged. @@ -147,7 +147,7 @@ class SqliteDatabaseExcluderTest extends PackageManagerKernelTestBase { // If the database path should be treated as absolute, prefix it with the // path of the active directory. if (str_starts_with($database_path, '/')) { - $database_path = $this->container->get('package_manager.path_locator')->getProjectRoot() . $database_path; + $database_path = $this->container->get(PathLocator::class)->getProjectRoot() . $database_path; } $this->mockDatabase([ 'database' => $database_path, @@ -156,7 +156,7 @@ class SqliteDatabaseExcluderTest extends PackageManagerKernelTestBase { $event = new CollectIgnoredPathsEvent($this->createStage()); // Invoke the event subscriber directly, so we can check that the database // was correctly excluded. - $this->container->get('package_manager.sqlite_excluder') + $this->container->get(SqliteDatabaseExcluder::class) ->excludeDatabaseFiles($event); // All of the expected exclusions should be flagged. $this->assertEmpty(array_diff($expected_exclusions, $event->getAll())); diff --git a/package_manager/tests/src/Kernel/PathExcluder/TestSiteExcluderTest.php b/package_manager/tests/src/Kernel/PathExcluder/TestSiteExcluderTest.php index 4ea954e05b63671526cac58e9346d6a90b2d5733..7f25d573f2852ce87c7758eb12a4d0958c184800 100644 --- a/package_manager/tests/src/Kernel/PathExcluder/TestSiteExcluderTest.php +++ b/package_manager/tests/src/Kernel/PathExcluder/TestSiteExcluderTest.php @@ -4,6 +4,7 @@ declare(strict_types = 1); namespace Drupal\Tests\package_manager\Kernel\PathExcluder; +use Drupal\package_manager\PathLocator; use Drupal\Tests\package_manager\Kernel\PackageManagerKernelTestBase; /** @@ -23,8 +24,7 @@ class TestSiteExcluderTest extends PackageManagerKernelTestBase { // Ensure we have an up-to-date container. $this->container = $this->container->get('kernel')->rebuildContainer(); - $active_dir = $this->container->get('package_manager.path_locator') - ->getProjectRoot(); + $active_dir = $this->container->get(PathLocator::class)->getProjectRoot(); $stage = $this->createStage(); $stage->create(); diff --git a/package_manager/tests/src/Kernel/PathExcluder/UnknownPathExcluderTest.php b/package_manager/tests/src/Kernel/PathExcluder/UnknownPathExcluderTest.php index 642047efddf0ee7d23eaf94313f463d7cbe6fedb..d18bde6164042b59d20d72f02a20321b3f352c0f 100644 --- a/package_manager/tests/src/Kernel/PathExcluder/UnknownPathExcluderTest.php +++ b/package_manager/tests/src/Kernel/PathExcluder/UnknownPathExcluderTest.php @@ -5,6 +5,7 @@ declare(strict_types = 1); namespace Drupal\Tests\package_manager\Kernel\PathExcluder; use Drupal\Component\FileSystem\FileSystem as DrupalFileSystem; +use Drupal\package_manager\PathLocator; use Drupal\Tests\package_manager\Kernel\PackageManagerKernelTestBase; use Symfony\Component\Filesystem\Filesystem; @@ -65,7 +66,7 @@ class UnknownPathExcluderTest extends PackageManagerKernelTestBase { // We need to reset the test paths with our new webroot. /** @var \Drupal\package_manager_bypass\MockPathLocator $path_locator */ - $path_locator = $this->container->get('package_manager.path_locator'); + $path_locator = $this->container->get(PathLocator::class); $path_locator->setPaths( $path_locator->getProjectRoot(), @@ -142,7 +143,7 @@ class UnknownPathExcluderTest extends PackageManagerKernelTestBase { public function testUnknownPath(bool $use_nested_webroot, ?string $unknown_dir, array $unknown_files): void { $this->createTestProjectForTemplate($use_nested_webroot); - $active_dir = $this->container->get('package_manager.path_locator') + $active_dir = $this->container->get(PathLocator::class) ->getProjectRoot(); if ($unknown_dir) { mkdir("$active_dir/$unknown_dir"); diff --git a/package_manager/tests/src/Kernel/PathExcluder/VendorHardeningExcluderTest.php b/package_manager/tests/src/Kernel/PathExcluder/VendorHardeningExcluderTest.php index fee7884a372e2b4d3d72ba92d89736e82096a58b..ce17e0dae8f74d729aebfc02cd253d0388a024fb 100644 --- a/package_manager/tests/src/Kernel/PathExcluder/VendorHardeningExcluderTest.php +++ b/package_manager/tests/src/Kernel/PathExcluder/VendorHardeningExcluderTest.php @@ -4,6 +4,7 @@ declare(strict_types = 1); namespace Drupal\Tests\package_manager\Kernel\PathExcluder; +use Drupal\package_manager\PathLocator; use Drupal\Tests\package_manager\Kernel\PackageManagerKernelTestBase; /** @@ -23,8 +24,7 @@ class VendorHardeningExcluderTest extends PackageManagerKernelTestBase { // Ensure we have an up-to-date container. $this->container = $this->container->get('kernel')->rebuildContainer(); - $active_dir = $this->container->get('package_manager.path_locator') - ->getProjectRoot(); + $active_dir = $this->container->get(PathLocator::class)->getProjectRoot(); $stage = $this->createStage(); $stage->create(); diff --git a/package_manager/tests/src/Kernel/StageTest.php b/package_manager/tests/src/Kernel/StageTest.php index de336bae5f95c39159da58e254d0a80a7c650c43..4ffe94665a6cd2d794ed4a2e00b08f5f3ff19245 100644 --- a/package_manager/tests/src/Kernel/StageTest.php +++ b/package_manager/tests/src/Kernel/StageTest.php @@ -17,6 +17,9 @@ use Drupal\package_manager\Event\StageEvent; use Drupal\package_manager\Exception\ApplyFailedException; use Drupal\package_manager\Exception\StageException; use Drupal\package_manager\Exception\StageFailureMarkerException; +use Drupal\package_manager\FailureMarker; +use Drupal\package_manager\PathLocator; +use Drupal\package_manager\Validator\WritableFileSystemValidator; use Drupal\package_manager_bypass\LoggingBeginner; use Drupal\package_manager_bypass\LoggingCommitter; use Drupal\package_manager_bypass\NoOpStager; @@ -61,11 +64,11 @@ class StageTest extends PackageManagerKernelTestBase { // In this test, we're working with paths that (probably) don't exist in // the file system at all, so we don't want to validate that the file system // is writable when creating stages. - $validator = $this->container->get('package_manager.validator.file_system'); + $validator = $this->container->get(WritableFileSystemValidator::class); $this->container->get('event_dispatcher')->removeSubscriber($validator); /** @var \Drupal\package_manager_bypass\MockPathLocator $path_locator */ - $path_locator = $this->container->get('package_manager.path_locator'); + $path_locator = $this->container->get(PathLocator::class); $stage = $this->createStage(); $id = $stage->create(); @@ -345,7 +348,7 @@ class StageTest extends PackageManagerKernelTestBase { $this->assertSame($thrown_message, $exception->getMessage()); $this->assertSame(123, $exception->getCode()); - $failure_marker = $this->container->get('package_manager.failure_marker'); + $failure_marker = $this->container->get(FailureMarker::class); if ($exception instanceof ApplyFailedException) { $this->assertFileExists($failure_marker->getPath()); $this->assertFalse($stage->isApplying()); @@ -392,7 +395,7 @@ class StageTest extends PackageManagerKernelTestBase { // If the failure marker is cleared, we should be able to create the stage // without issue. - $this->container->get('package_manager.failure_marker')->clear(); + $this->container->get(FailureMarker::class)->clear(); $stage->create(); } @@ -407,7 +410,7 @@ class StageTest extends PackageManagerKernelTestBase { $stage->require(['ext-json:*']); $stage->apply(); - $this->container->get('package_manager.failure_marker') + $this->container->get(FailureMarker::class) ->assertNotExists(); } @@ -629,8 +632,7 @@ class StageTest extends PackageManagerKernelTestBase { * Tests that if a stage fails to get ignored paths, throws a stage exception. */ public function testFailureCollectIgnoredPaths(): void { - $project_root = $this->container->get('package_manager.path_locator') - ->getProjectRoot(); + $project_root = $this->container->get(PathLocator::class)->getProjectRoot(); unlink($project_root . '/composer.json'); $this->expectException(StageException::class); $this->expectExceptionMessage("composer.json not found."); diff --git a/package_manager/tests/src/Kernel/StagedDBUpdateValidatorTest.php b/package_manager/tests/src/Kernel/StagedDBUpdateValidatorTest.php index 5755d4ff2a2e6938c8b0750d67c93f0c6b36085e..052cb321fbf6b9ea333d184959390f1204c48a75 100644 --- a/package_manager/tests/src/Kernel/StagedDBUpdateValidatorTest.php +++ b/package_manager/tests/src/Kernel/StagedDBUpdateValidatorTest.php @@ -4,6 +4,7 @@ declare(strict_types = 1); namespace Drupal\Tests\package_manager\Kernel; +use Drupal\package_manager\PathLocator; use Drupal\package_manager\ValidationResult; /** @@ -44,8 +45,7 @@ class StagedDBUpdateValidatorTest extends PackageManagerKernelTestBase { // Ensure that all the extensions we're testing with have database update // files in the active directory. - $active_dir = $this->container->get('package_manager.path_locator') - ->getProjectRoot(); + $active_dir = $this->container->get(PathLocator::class)->getProjectRoot(); foreach ($this->extensions as $extension_name => $extension_path) { $extension_path = $active_dir . '/' . $extension_path; @@ -133,8 +133,7 @@ class StagedDBUpdateValidatorTest extends PackageManagerKernelTestBase { $stage = $this->createStage(); $stage->create(); - $active_dir = $this->container->get('package_manager.path_locator') - ->getProjectRoot(); + $active_dir = $this->container->get(PathLocator::class)->getProjectRoot(); foreach ($this->extensions as $name => $path) { unlink("$active_dir/$path/$name.$suffix"); } diff --git a/package_manager/tests/src/Kernel/SymlinkValidatorTest.php b/package_manager/tests/src/Kernel/SymlinkValidatorTest.php index 11d027ace1a75f77994c808a02811249225936d8..730ea663195ee08cd8444b7b317113eb462888a5 100644 --- a/package_manager/tests/src/Kernel/SymlinkValidatorTest.php +++ b/package_manager/tests/src/Kernel/SymlinkValidatorTest.php @@ -158,7 +158,7 @@ class SymlinkValidatorTest extends PackageManagerKernelTestBase { * @dataProvider providerSymlinkToDirectory */ public function testSymlinkToDirectory(string $file_syncer, array $expected_results): void { - $project_root = $this->container->get('package_manager.path_locator') + $project_root = $this->container->get(PathLocator::class) ->getProjectRoot(); mkdir($project_root . '/modules/custom'); diff --git a/package_manager/tests/src/Kernel/WritableFileSystemValidatorTest.php b/package_manager/tests/src/Kernel/WritableFileSystemValidatorTest.php index b73a5227bbe907f3960630fd9a1a4088677e6ff2..3b31104e18a0e47ff615bada15501113e632af14 100644 --- a/package_manager/tests/src/Kernel/WritableFileSystemValidatorTest.php +++ b/package_manager/tests/src/Kernel/WritableFileSystemValidatorTest.php @@ -6,6 +6,7 @@ namespace Drupal\Tests\package_manager\Kernel; use Drupal\package_manager\Event\PreApplyEvent; use Drupal\package_manager\Event\PreCreateEvent; +use Drupal\package_manager\PathLocator; use Drupal\package_manager\ValidationResult; use Symfony\Component\Filesystem\Filesystem; @@ -80,7 +81,7 @@ class WritableFileSystemValidatorTest extends PackageManagerKernelTestBase { * @dataProvider providerWritable */ public function testWritable(int $root_permissions, int $vendor_permissions, array $expected_results): void { - $path_locator = $this->container->get('package_manager.path_locator'); + $path_locator = $this->container->get(PathLocator::class); // We need to set the vendor directory's permissions first because, in the // test project, it's located inside the project root. @@ -106,7 +107,7 @@ class WritableFileSystemValidatorTest extends PackageManagerKernelTestBase { public function testWritableDuringPreApply(int $root_permissions, int $vendor_permissions, array $expected_results): void { $this->addEventTestListener( function () use ($root_permissions, $vendor_permissions): void { - $path_locator = $this->container->get('package_manager.path_locator'); + $path_locator = $this->container->get(PathLocator::class); // We need to set the vendor directory's permissions first because, in // the test project, it's located inside the project root. @@ -168,7 +169,7 @@ class WritableFileSystemValidatorTest extends PackageManagerKernelTestBase { * @dataProvider providerStagingRootPermissions */ public function testStagingRootPermissions(int $permissions, array $expected_results, bool $delete_staging_root): void { - $dir = $this->container->get('package_manager.path_locator') + $dir = $this->container->get(PathLocator::class) ->getStagingRoot(); if ($delete_staging_root) { diff --git a/tests/src/Functional/AutomaticUpdatesFunctionalTestBase.php b/tests/src/Functional/AutomaticUpdatesFunctionalTestBase.php index 6416c96e43f3d2de0a974fcdb6e727d5ad682b98..8e1b54051bae20319cd5a90d6ad1637d89051c58 100644 --- a/tests/src/Functional/AutomaticUpdatesFunctionalTestBase.php +++ b/tests/src/Functional/AutomaticUpdatesFunctionalTestBase.php @@ -6,6 +6,7 @@ namespace Drupal\Tests\automatic_updates\Functional; use Drupal\automatic_updates\CronUpdater; use Drupal\fixture_manipulator\StageFixtureManipulator; +use Drupal\package_manager\PathLocator; use Drupal\Tests\BrowserTestBase; use Drupal\Tests\package_manager\Traits\AssertPreconditionsTrait; use Drupal\Tests\package_manager\Traits\FixtureManipulatorTrait; @@ -157,7 +158,7 @@ abstract class AutomaticUpdatesFunctionalTestBase extends BrowserTestBase { // unique for each test run. This will enable changing files in the // directory and not affect other tests. $active_dir = $this->copyFixtureToTempDirectory($fixture_directory); - $this->container->get('package_manager.path_locator') + $this->container->get(PathLocator::class) ->setPaths($active_dir, $active_dir . '/vendor', '', NULL); } diff --git a/tests/src/Functional/ErrorMessageOnStageDestroyTest.php b/tests/src/Functional/ErrorMessageOnStageDestroyTest.php index 2391560d823bd393d0116be5614ca38c43241332..5a57e22f4836e3de42575705962dcd92170d518b 100644 --- a/tests/src/Functional/ErrorMessageOnStageDestroyTest.php +++ b/tests/src/Functional/ErrorMessageOnStageDestroyTest.php @@ -4,6 +4,8 @@ declare(strict_types = 1); namespace Drupal\Tests\automatic_updates\Functional; +use Drupal\automatic_updates\Updater; + /** * Tests error message when the stage the user is interacting with is destroyed. * @@ -52,7 +54,7 @@ class ErrorMessageOnStageDestroyTest extends AutomaticUpdatesFunctionalTestBase $page->pressButton('Update to 9.8.1'); $this->checkForMetaRefresh(); $this->assertUpdateReady('9.8.1'); - $updater = $this->container->get('automatic_updates.updater'); + $updater = $this->container->get(Updater::class); $random_message = $this->randomString(); // @see \Drupal\Tests\package_manager\Kernel\StageTest::testStoreDestroyInfo() // @see \Drupal\automatic_updates\CronUpdater::performUpdate() diff --git a/tests/src/Kernel/CronUpdaterTest.php b/tests/src/Kernel/CronUpdaterTest.php index 6eafdc8c38faf2b5adcbcdf74bc52390b6a4ce46..84216b38b2e6b4b8c58513817a4ed551392b1ac0 100644 --- a/tests/src/Kernel/CronUpdaterTest.php +++ b/tests/src/Kernel/CronUpdaterTest.php @@ -273,7 +273,7 @@ class CronUpdaterTest extends AutomaticUpdatesKernelTestBase { ->addLogger($cron_logger); /** @var \Drupal\automatic_updates\CronUpdater $updater */ - $updater = $this->container->get('automatic_updates.cron_updater'); + $updater = $this->container->get(CronUpdater::class); // When the event specified by $event_class is dispatched, either throw an // exception directly from the event subscriber, or prepare a @@ -427,7 +427,7 @@ class CronUpdaterTest extends AutomaticUpdatesKernelTestBase { */ public function testBeginThrowsException(): void { $this->expectExceptionMessage(CronUpdater::class . '::begin() cannot be called directly.'); - $this->container->get('automatic_updates.cron_updater') + $this->container->get(CronUpdater::class) ->begin(['drupal' => '9.8.1']); } @@ -495,7 +495,7 @@ END; $error = ValidationResult::createError([ t('Error while updating!'), ]); - $exception = $this->createStageEventExceptionFromResults([$error], $event_class, $this->container->get('automatic_updates.cron_updater')); + $exception = $this->createStageEventExceptionFromResults([$error], $event_class, $this->container->get(CronUpdater::class)); TestSubscriber1::setTestResult($exception->event->getResults(), $event_class); $this->container->get('cron')->run(); @@ -537,7 +537,7 @@ END; t('Error while updating!'), ]); TestSubscriber1::setTestResult([$error], $event_class); - $exception = $this->createStageEventExceptionFromResults([$error], $event_class, $this->container->get('automatic_updates.cron_updater')); + $exception = $this->createStageEventExceptionFromResults([$error], $event_class, $this->container->get(CronUpdater::class)); $this->container->get('cron')->run(); diff --git a/tests/src/Kernel/ReleaseChooserTest.php b/tests/src/Kernel/ReleaseChooserTest.php index c6a720bf155f934293c918d24c37860f08527cb1..d8d6d4ee7dae7391f64bc66c48daf4fa5a5e73fa 100644 --- a/tests/src/Kernel/ReleaseChooserTest.php +++ b/tests/src/Kernel/ReleaseChooserTest.php @@ -4,6 +4,9 @@ declare(strict_types = 1); namespace Drupal\Tests\automatic_updates\Kernel; +use Drupal\automatic_updates\CronUpdater; +use Drupal\automatic_updates\ReleaseChooser; +use Drupal\automatic_updates\Updater; use Drupal\Core\Extension\ExtensionVersion; use Drupal\update\ProjectRelease; @@ -38,84 +41,84 @@ class ReleaseChooserTest extends AutomaticUpdatesKernelTestBase { public function providerReleases(): array { return [ 'installed 9.8.0, no minor support' => [ - 'updater' => 'automatic_updates.updater', + 'updater' => Updater::class, 'minor_support' => FALSE, 'installed_version' => '9.8.0', 'current_minor' => '9.8.2', 'next_minor' => NULL, ], 'installed 9.8.0, minor support' => [ - 'updater' => 'automatic_updates.updater', + 'updater' => Updater::class, 'minor_support' => TRUE, 'installed_version' => '9.8.0', 'current_minor' => '9.8.2', 'next_minor' => NULL, ], 'installed 9.7.0, no minor support' => [ - 'updater' => 'automatic_updates.updater', + 'updater' => Updater::class, 'minor_support' => FALSE, 'installed_version' => '9.7.0', 'current_minor' => '9.7.1', 'next_minor' => NULL, ], 'installed 9.7.0, minor support' => [ - 'updater' => 'automatic_updates.updater', + 'updater' => Updater::class, 'minor_support' => TRUE, 'installed_version' => '9.7.0', 'current_minor' => '9.7.1', 'next_minor' => '9.8.2', ], 'installed 9.7.2, no minor support' => [ - 'updater' => 'automatic_updates.updater', + 'updater' => Updater::class, 'minor_support' => FALSE, 'installed_version' => '9.7.2', 'current_minor' => NULL, 'next_minor' => NULL, ], 'installed 9.7.2, minor support' => [ - 'updater' => 'automatic_updates.updater', + 'updater' => Updater::class, 'minor_support' => TRUE, 'installed_version' => '9.7.2', 'current_minor' => NULL, 'next_minor' => '9.8.2', ], 'cron, installed 9.8.0, no minor support' => [ - 'updater' => 'automatic_updates.cron_updater', + 'updater' => CronUpdater::class, 'minor_support' => FALSE, 'installed_version' => '9.8.0', 'current_minor' => '9.8.1', 'next_minor' => NULL, ], 'cron, installed 9.8.0, minor support' => [ - 'updater' => 'automatic_updates.cron_updater', + 'updater' => CronUpdater::class, 'minor_support' => TRUE, 'installed_version' => '9.8.0', 'current_minor' => '9.8.1', 'next_minor' => NULL, ], 'cron, installed 9.7.0, no minor support' => [ - 'updater' => 'automatic_updates.cron_updater', + 'updater' => CronUpdater::class, 'minor_support' => FALSE, 'installed_version' => '9.7.0', 'current_minor' => '9.7.1', 'next_minor' => NULL, ], 'cron, installed 9.7.0, minor support' => [ - 'updater' => 'automatic_updates.cron_updater', + 'updater' => CronUpdater::class, 'minor_support' => TRUE, 'installed_version' => '9.7.0', 'current_minor' => '9.7.1', 'next_minor' => NULL, ], 'cron, installed 9.7.2, no minor support' => [ - 'updater' => 'automatic_updates.cron_updater', + 'updater' => CronUpdater::class, 'minor_support' => FALSE, 'installed_version' => '9.7.2', 'current_minor' => NULL, 'next_minor' => NULL, ], 'cron, installed 9.7.2, minor support' => [ - 'updater' => 'automatic_updates.cron_updater', + 'updater' => CronUpdater::class, 'minor_support' => TRUE, 'installed_version' => '9.7.2', 'current_minor' => NULL, @@ -148,9 +151,7 @@ class ReleaseChooserTest extends AutomaticUpdatesKernelTestBase { public function testReleases(string $updater_service, bool $minor_support, string $installed_version, ?string $current_minor, ?string $next_minor): void { $this->setCoreVersion($installed_version); $this->config('automatic_updates.settings')->set('allow_core_minor_updates', $minor_support)->save(); - /** @var \Drupal\automatic_updates\ReleaseChooser $chooser */ - $chooser = $this->container->get('automatic_updates.release_chooser'); - /** @var \Drupal\automatic_updates\Updater $updater */ + $chooser = $this->container->get(ReleaseChooser::class); $updater = $this->container->get($updater_service); $this->assertReleaseVersion($current_minor, $chooser->getLatestInInstalledMinor($updater)); $this->assertReleaseVersion($next_minor, $chooser->getLatestInNextMinor($updater)); diff --git a/tests/src/Kernel/StatusCheck/CronFrequencyValidatorTest.php b/tests/src/Kernel/StatusCheck/CronFrequencyValidatorTest.php index 762e326c2dde1f5d1ebe405d670d54e541e974f3..cf3c459c84c18994ed97ea3b589f22ae22f6ef2c 100644 --- a/tests/src/Kernel/StatusCheck/CronFrequencyValidatorTest.php +++ b/tests/src/Kernel/StatusCheck/CronFrequencyValidatorTest.php @@ -49,7 +49,7 @@ class CronFrequencyValidatorTest extends AutomaticUpdatesKernelTestBase { $this->container->get('module_handler'), $this->container->get('state'), $this->container->get('datetime.time'), - $this->container->get('automatic_updates.cron_updater'), + $this->container->get(CronUpdater::class), $this->container->get('lock') ) extends CronFrequencyValidator { diff --git a/tests/src/Kernel/StatusCheck/RequestedUpdateValidatorTest.php b/tests/src/Kernel/StatusCheck/RequestedUpdateValidatorTest.php index c75800ac54d464709eba4c5996789225fab93948..c412f4c92ddfa052b5953cd9f5e7d0b7e41c3963 100644 --- a/tests/src/Kernel/StatusCheck/RequestedUpdateValidatorTest.php +++ b/tests/src/Kernel/StatusCheck/RequestedUpdateValidatorTest.php @@ -4,6 +4,7 @@ declare(strict_types = 1); namespace Drupal\Tests\automatic_updates\Kernel\StatusCheck; +use Drupal\automatic_updates\Updater; use Drupal\package_manager\Exception\StageEventException; use Drupal\package_manager\ValidationResult; use Drupal\Tests\automatic_updates\Kernel\AutomaticUpdatesKernelTestBase; @@ -39,8 +40,7 @@ class RequestedUpdateValidatorTest extends AutomaticUpdatesKernelTestBase { ]); $this->container->get('module_installer')->install(['automatic_updates']); - /** @var \Drupal\automatic_updates\Updater $updater */ - $updater = $this->container->get('automatic_updates.updater'); + $updater = $this->container->get(Updater::class); $updater->begin(['drupal' => '9.8.1']); $updater->stage(); @@ -72,8 +72,7 @@ class RequestedUpdateValidatorTest extends AutomaticUpdatesKernelTestBase { ]); $this->container->get('module_installer')->install(['automatic_updates']); - /** @var \Drupal\automatic_updates\Updater $updater */ - $updater = $this->container->get('automatic_updates.updater'); + $updater = $this->container->get(Updater::class); $updater->begin(['drupal' => '9.8.1']); $updater->stage(); $this->expectException(StageEventException::class); diff --git a/tests/src/Kernel/StatusCheck/ScaffoldFilePermissionsValidatorTest.php b/tests/src/Kernel/StatusCheck/ScaffoldFilePermissionsValidatorTest.php index 0c3ce3bfa6ecd3406fe9519d7c53f8b7857c4cf9..4fad51177181a2602ea90b803fb3dec8076772e7 100644 --- a/tests/src/Kernel/StatusCheck/ScaffoldFilePermissionsValidatorTest.php +++ b/tests/src/Kernel/StatusCheck/ScaffoldFilePermissionsValidatorTest.php @@ -4,6 +4,7 @@ declare(strict_types = 1); namespace Drupal\Tests\automatic_updates\Kernel\StatusCheck; +use Drupal\automatic_updates\Updater; use Drupal\fixture_manipulator\ActiveFixtureManipulator; use Drupal\package_manager\Exception\ApplyFailedException; use Drupal\package_manager\Exception\StageEventException; @@ -36,7 +37,7 @@ class ScaffoldFilePermissionsValidatorTest extends AutomaticUpdatesKernelTestBas protected function setUp(): void { parent::setUp(); - $this->activeDir = $this->container->get('package_manager.path_locator') + $this->activeDir = $this->container->get(PathLocator::class) ->getProjectRoot(); } @@ -120,7 +121,7 @@ class ScaffoldFilePermissionsValidatorTest extends AutomaticUpdatesKernelTestBas $this->assertCheckerResultsFromManager($expected_results, TRUE); try { - $this->container->get('automatic_updates.updater') + $this->container->get(Updater::class) ->begin(['drupal' => '9.8.1']); // If no exception was thrown, ensure that we weren't expecting an error. @@ -328,7 +329,7 @@ class ScaffoldFilePermissionsValidatorTest extends AutomaticUpdatesKernelTestBas touch($this->activeDir . '/sites/default/deleted.txt'); touch($this->activeDir . '/foo.txt'); - $updater = $this->container->get('automatic_updates.updater'); + $updater = $this->container->get(Updater::class); $updater->begin(['drupal' => '9.8.1']); $updater->stage(); diff --git a/tests/src/Kernel/StatusCheck/StagedDatabaseUpdateValidatorTest.php b/tests/src/Kernel/StatusCheck/StagedDatabaseUpdateValidatorTest.php index 5cf5b43f349c059e0fe01286b5a00a3058243399..2bffc504a9059b528e5aaa7d476a47d757ec17f4 100644 --- a/tests/src/Kernel/StatusCheck/StagedDatabaseUpdateValidatorTest.php +++ b/tests/src/Kernel/StatusCheck/StagedDatabaseUpdateValidatorTest.php @@ -6,6 +6,7 @@ namespace Drupal\Tests\automatic_updates\Kernel\StatusCheck; use Drupal\Core\Logger\RfcLogLevel; use Drupal\package_manager\Event\PreApplyEvent; +use Drupal\package_manager\PathLocator; use Drupal\Tests\automatic_updates\Kernel\AutomaticUpdatesKernelTestBase; use ColinODell\PsrTestLogger\TestLogger; @@ -59,8 +60,7 @@ class StagedDatabaseUpdateValidatorTest extends AutomaticUpdatesKernelTestBase { // Ensure that all the extensions we're testing with have database update // files in the active directory. - $active_dir = $this->container->get('package_manager.path_locator') - ->getProjectRoot(); + $active_dir = $this->container->get(PathLocator::class)->getProjectRoot(); foreach ($this->extensions as $extension_name => $extension_path) { $extension_path = $active_dir . '/' . $extension_path; @@ -155,7 +155,7 @@ class StagedDatabaseUpdateValidatorTest extends AutomaticUpdatesKernelTestBase { public function testFileAdded(string $suffix): void { $this->getStageFixtureManipulator()->setCorePackageVersion('9.8.1'); $listener = function () use ($suffix): void { - $active_dir = $this->container->get('package_manager.path_locator') + $active_dir = $this->container->get(PathLocator::class) ->getProjectRoot(); foreach ($this->extensions as $name => $path) { diff --git a/tests/src/Kernel/StatusCheck/StagedProjectsValidatorTest.php b/tests/src/Kernel/StatusCheck/StagedProjectsValidatorTest.php index bf92f74c33b34121dfa08fe794b676eaeb68ef0c..b7abd13bbfd19326b6eeb0f7ca8e6a360ab3bbf5 100644 --- a/tests/src/Kernel/StatusCheck/StagedProjectsValidatorTest.php +++ b/tests/src/Kernel/StatusCheck/StagedProjectsValidatorTest.php @@ -4,9 +4,12 @@ declare(strict_types = 1); namespace Drupal\Tests\automatic_updates\Kernel\StatusCheck; +use Drupal\automatic_updates\Updater; +use Drupal\automatic_updates\Validator\StagedProjectsValidator; use Drupal\fixture_manipulator\ActiveFixtureManipulator; use Drupal\package_manager\Event\PreApplyEvent; use Drupal\package_manager\Exception\StageEventException; +use Drupal\package_manager\PathLocator; use Drupal\package_manager\ValidationResult; use Drupal\Tests\automatic_updates\Kernel\AutomaticUpdatesKernelTestBase; @@ -36,7 +39,7 @@ class StagedProjectsValidatorTest extends AutomaticUpdatesKernelTestBase { * Tests that exceptions are turned into validation errors. */ public function testEventConsumesExceptionResults(): void { - $composer_json = $this->container->get('package_manager.path_locator') + $composer_json = $this->container->get(PathLocator::class) ->getProjectRoot(); $composer_json .= '/composer.json'; @@ -44,7 +47,7 @@ class StagedProjectsValidatorTest extends AutomaticUpdatesKernelTestBase { unlink($composer_json); // Directly invoke the validator under test, which should raise a // validation error. - $this->container->get('automatic_updates.staged_projects_validator') + $this->container->get(StagedProjectsValidator::class) ->validateStagedProjects($event); // Prevent any other event subscribers from running, since they might try // to read the file we just deleted. @@ -52,8 +55,7 @@ class StagedProjectsValidatorTest extends AutomaticUpdatesKernelTestBase { }; $this->addEventTestListener($listener); - /** @var \Drupal\automatic_updates\Updater $updater */ - $updater = $this->container->get('automatic_updates.updater'); + $updater = $this->container->get(Updater::class); $updater->begin(['drupal' => '9.8.1']); $updater->stage(); @@ -140,7 +142,7 @@ class StagedProjectsValidatorTest extends AutomaticUpdatesKernelTestBase { ]; $error = ValidationResult::createError($messages, t('The update cannot proceed because the following Drupal projects were installed during the update.')); - $updater = $this->container->get('automatic_updates.updater'); + $updater = $this->container->get(Updater::class); $updater->begin(['drupal' => '9.8.1']); $updater->stage(); try { @@ -212,7 +214,7 @@ class StagedProjectsValidatorTest extends AutomaticUpdatesKernelTestBase { t("theme 'drupal/test_theme' removed."), ]; $error = ValidationResult::createError($messages, t('The update cannot proceed because the following Drupal projects were removed during the update.')); - $updater = $this->container->get('automatic_updates.updater'); + $updater = $this->container->get(Updater::class); $updater->begin(['drupal' => '9.8.1']); $updater->stage(); try { @@ -271,7 +273,7 @@ class StagedProjectsValidatorTest extends AutomaticUpdatesKernelTestBase { t("module 'drupal/test-module' from 1.3.0 to 1.3.1."), ]; $error = ValidationResult::createError($messages, t('The update cannot proceed because the following Drupal projects were unexpectedly updated. Only Drupal Core updates are currently supported.')); - $updater = $this->container->get('automatic_updates.updater'); + $updater = $this->container->get(Updater::class); $updater->begin(['drupal' => '9.8.1']); $updater->stage(); @@ -352,7 +354,7 @@ class StagedProjectsValidatorTest extends AutomaticUpdatesKernelTestBase { ->removePackage('other/removed') ->removePackage('other/dev-removed', TRUE); - $updater = $this->container->get('automatic_updates.updater'); + $updater = $this->container->get(Updater::class); $updater->begin(['drupal' => '9.8.1']); $updater->stage(); $updater->apply(); diff --git a/tests/src/Kernel/StatusCheck/StatusCheckerTest.php b/tests/src/Kernel/StatusCheck/StatusCheckerTest.php index 89a7e583a87e19316bbe9e2264707d4c428616f8..3d0e4ec99558b3aa8be377e8268f38fc992d6373 100644 --- a/tests/src/Kernel/StatusCheck/StatusCheckerTest.php +++ b/tests/src/Kernel/StatusCheck/StatusCheckerTest.php @@ -6,6 +6,9 @@ namespace Drupal\Tests\automatic_updates\Kernel\StatusCheck; use Drupal\automatic_updates\CronUpdater; use Drupal\automatic_updates\Updater; +use Drupal\automatic_updates\Validation\StatusChecker; +use Drupal\automatic_updates\Validator\ScaffoldFilePermissionsValidator; +use Drupal\automatic_updates\Validator\StagedProjectsValidator; use Drupal\automatic_updates_test\EventSubscriber\TestSubscriber1; use Drupal\automatic_updates_test2\EventSubscriber\TestSubscriber2; use Drupal\package_manager\Event\StatusCheckEvent; @@ -173,7 +176,7 @@ class StatusCheckerTest extends AutomaticUpdatesKernelTestBase { $unexpected_results = [$this->createValidationResult(SystemManager::REQUIREMENT_ERROR)]; TestSubscriber1::setTestResult($unexpected_results, StatusCheckEvent::class); - $manager = $this->container->get('automatic_updates.status_checker'); + $manager = $this->container->get(StatusChecker::class); // Confirm that the new results will not be returned because the checkers // will not be run. $manager->runIfNoStoredResults(); @@ -205,13 +208,13 @@ class StatusCheckerTest extends AutomaticUpdatesKernelTestBase { $stage = $event->stage; }; $this->addEventTestListener($listener, StatusCheckEvent::class); - $this->container->get('automatic_updates.status_checker')->run(); + $this->container->get(StatusChecker::class)->run(); // By default, updates will be enabled on cron. $this->assertInstanceOf(CronUpdater::class, $stage); $this->config('automatic_updates.settings') ->set('cron', CronUpdater::DISABLED) ->save(); - $this->container->get('automatic_updates.status_checker')->run(); + $this->container->get(StatusChecker::class)->run(); $this->assertInstanceOf(Updater::class, $stage); } @@ -232,8 +235,7 @@ class StatusCheckerTest extends AutomaticUpdatesKernelTestBase { TestSubscriber1::setTestResult($results, StatusCheckEvent::class); // Ensure that the validation manager collects the warning. - /** @var \Drupal\automatic_updates\Validation\StatusChecker $manager */ - $manager = $this->container->get('automatic_updates.status_checker') + $manager = $this->container->get(StatusChecker::class) ->run(); $this->assertValidationResultsEqual($results, $manager->getResults()); TestSubscriber1::setTestResult(NULL, StatusCheckEvent::class); @@ -246,14 +248,13 @@ class StatusCheckerTest extends AutomaticUpdatesKernelTestBase { // will make these validators complain that there is no actual Composer data // for them to inspect. $validators = array_map([$this->container, 'get'], [ - 'automatic_updates.staged_projects_validator', - 'automatic_updates.validator.scaffold_file_permissions', + StagedProjectsValidator::class, + ScaffoldFilePermissionsValidator::class, ]); $event_dispatcher = $this->container->get('event_dispatcher'); array_walk($validators, [$event_dispatcher, 'removeSubscriber']); - /** @var \Drupal\automatic_updates\Updater $updater */ - $updater = $this->container->get('automatic_updates.updater'); + $updater = $this->container->get(Updater::class); $updater->begin(['drupal' => '9.8.1']); $updater->stage(); $updater->apply(); diff --git a/tests/src/Kernel/StatusCheck/VersionPolicyValidatorTest.php b/tests/src/Kernel/StatusCheck/VersionPolicyValidatorTest.php index 8b9e3d23ccce36146bc67ae67e1ee6cca9722489..280e1a49ceb52666fd1596015543d9ad958a9105 100644 --- a/tests/src/Kernel/StatusCheck/VersionPolicyValidatorTest.php +++ b/tests/src/Kernel/StatusCheck/VersionPolicyValidatorTest.php @@ -5,6 +5,7 @@ declare(strict_types = 1); namespace Drupal\Tests\automatic_updates\Kernel\StatusCheck; use Drupal\automatic_updates\CronUpdater; +use Drupal\automatic_updates\Updater; use Drupal\fixture_manipulator\ActiveFixtureManipulator; use Drupal\package_manager\Event\PreCreateEvent; use Drupal\package_manager\Exception\StageEventException; @@ -306,8 +307,7 @@ class VersionPolicyValidatorTest extends AutomaticUpdatesKernelTestBase { ->set('allow_core_minor_updates', $allow_minor_updates) ->save(); - /** @var \Drupal\automatic_updates\Updater $updater */ - $updater = $this->container->get('automatic_updates.updater'); + $updater = $this->container->get(Updater::class); try { $updater->begin($project_versions); @@ -408,7 +408,7 @@ class VersionPolicyValidatorTest extends AutomaticUpdatesKernelTestBase { $this->expectException(StageException::class); $this->expectExceptionMessage('The target version of Drupal core could not be determined.'); - $this->container->get('automatic_updates.updater') + $this->container->get(Updater::class) ->begin(['drupal' => '9.8.1']); } diff --git a/tests/src/Kernel/UpdaterTest.php b/tests/src/Kernel/UpdaterTest.php index f6cc0710caa4ec5ec87d434e6b7abb21fb67e6bb..9fd86b441f39e2f991d1307e9947aa0be61d4dd0 100644 --- a/tests/src/Kernel/UpdaterTest.php +++ b/tests/src/Kernel/UpdaterTest.php @@ -4,6 +4,7 @@ declare(strict_types = 1); namespace Drupal\Tests\automatic_updates\Kernel; +use Drupal\automatic_updates\Updater; use Drupal\package_manager\Exception\ApplyFailedException; use Drupal\package_manager\Exception\StageException; use Drupal\package_manager_bypass\LoggingCommitter; @@ -51,7 +52,7 @@ class UpdaterTest extends AutomaticUpdatesKernelTestBase { $user = $this->createUser([], NULL, TRUE, ['uid' => 2]); $this->setCurrentUser($user); - $id = $this->container->get('automatic_updates.updater')->begin([ + $id = $this->container->get(Updater::class)->begin([ 'drupal' => '9.8.1', ]); // Rebuild the container to ensure the package versions are persisted. @@ -62,8 +63,7 @@ class UpdaterTest extends AutomaticUpdatesKernelTestBase { // Keep using the user account we created. $this->setCurrentUser($user); - /** @var \Drupal\automatic_updates\Updater $updater */ - $updater = $this->container->get('automatic_updates.updater'); + $updater = $this->container->get(Updater::class); // Ensure that the target package versions are what we expect. $expected_versions = [ @@ -123,7 +123,7 @@ class UpdaterTest extends AutomaticUpdatesKernelTestBase { public function testInvalidProjectVersions(array $project_versions): void { $this->expectException(\InvalidArgumentException::class); $this->expectExceptionMessage('Currently only updates to Drupal core are supported.'); - $this->container->get('automatic_updates.updater')->begin($project_versions); + $this->container->get(Updater::class)->begin($project_versions); } /** @@ -176,7 +176,7 @@ class UpdaterTest extends AutomaticUpdatesKernelTestBase { public function testCommitException(string $thrown_class, string $expected_class = NULL): void { $this->getStageFixtureManipulator()->setCorePackageVersion('9.8.1'); - $updater = $this->container->get('automatic_updates.updater'); + $updater = $this->container->get(Updater::class); $updater->begin([ 'drupal' => '9.8.1', ]);