diff --git a/tests/fixtures/StagedProjectsValidatorTest/new_project_added/vendor/composer/installed.json b/tests/fixtures/StagedProjectsValidatorTest/new_project_added/vendor/composer/installed.json deleted file mode 100644 index 04a32148992590f2f779e2500769c1d7f8b159bd..0000000000000000000000000000000000000000 --- a/tests/fixtures/StagedProjectsValidatorTest/new_project_added/vendor/composer/installed.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "_readme": [ - "This file simulates a list of packages installed in the active directory of a virtual project.", - "It will be compared against staged.installed.json.", - "See \\Drupal\\Tests\\automatic_updates\\Kernel\\StatusCheck\\StagedProjectsValidatorTest::testErrors()" - ], - "packages": [ - { - "name": "drupal/core", - "version": "9.8.0", - "type": "drupal-core", - "extra": { - "drupal-scaffold": { - "file-mapping": {} - } - } - }, - { - "name": "drupal/test_module", - "version": "1.3.0", - "type": "drupal-module" - }, - { - "name": "other/removed", - "description": "This project is removed but there should be no error because it is not a Drupal project.", - "version": "1.3.1", - "type": "library" - }, - { - "name": "drupal/dev-test_module", - "version": "1.3.0", - "type": "drupal-module" - }, - { - "name": "other/dev-removed", - "description": "This project is removed but there should be no error because it is not a Drupal project.", - "version": "1.3.1", - "type": "library" - } - ], - "dev": true, - "dev-package-names": [ - "drupal/dev-test_module", - "other/dev-removed" - ] -} diff --git a/tests/fixtures/StagedProjectsValidatorTest/new_project_added/vendor/composer/installed.php b/tests/fixtures/StagedProjectsValidatorTest/new_project_added/vendor/composer/installed.php deleted file mode 100644 index 0111e9a997ed25cb6f8a8738a90d5b2d80111a44..0000000000000000000000000000000000000000 --- a/tests/fixtures/StagedProjectsValidatorTest/new_project_added/vendor/composer/installed.php +++ /dev/null @@ -1,18 +0,0 @@ -<?php - -/** - * @file - */ - -return [ - 'versions' => [ - 'drupal/test_module' => [ - 'type' => 'drupal-module', - 'install_path' => '../../modules/test_module', - ], - 'drupal/dev-test_module' => [ - 'type' => 'drupal-module', - 'install_path' => '../../modules/dev-test_module', - ], - ], -]; diff --git a/tests/fixtures/StagedProjectsValidatorTest/no_errors/vendor/composer/installed.json b/tests/fixtures/StagedProjectsValidatorTest/no_errors/vendor/composer/installed.json deleted file mode 100644 index 95c7c4d9c74547f7afc0601af4a5a501ad4dd1e0..0000000000000000000000000000000000000000 --- a/tests/fixtures/StagedProjectsValidatorTest/no_errors/vendor/composer/installed.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "_readme": [ - "This file simulates a list of packages installed in the active directory of a virtual project.", - "It will be compared against staged.installed.json.", - "See \\Drupal\\Tests\\automatic_updates\\Kernel\\StatusCheck\\StagedProjectsValidatorTest::testErrors()" - ], - "packages": [ - { - "name": "drupal/core", - "version": "9.8.0", - "type": "drupal-core", - "extra": { - "drupal-scaffold": { - "file-mapping": {} - } - } - }, - { - "name": "drupal/test_module", - "version": "1.3.0", - "type": "drupal-module" - }, - { - "name": "other/removed", - "description": "This project is removed but there should be no error because it is not a Drupal project.", - "version": "1.3.1", - "type": "library" - }, - { - "name": "other/changed", - "description": "This project version is changed but there should be no error because it is not a Drupal project.", - "version": "1.3.1", - "type": "library" - }, - { - "name": "drupal/dev-test_module", - "version": "1.3.0", - "type": "drupal-module" - }, - { - "name": "other/dev-removed", - "description": "This project is removed but there should be no error because it is not a Drupal project.", - "version": "1.3.1", - "type": "library" - }, - { - "name": "other/dev-changed", - "description": "This project version is changed but there should be no error because it is not a Drupal project.", - "version": "1.3.1", - "type": "library" - } - ], - "dev": true, - "dev-package-names": [ - "drupal/dev-test_module", - "other/dev-removed", - "other/dev-changed" - ] -} diff --git a/tests/fixtures/StagedProjectsValidatorTest/project_removed/vendor/composer/installed.json b/tests/fixtures/StagedProjectsValidatorTest/project_removed/vendor/composer/installed.json deleted file mode 100644 index f9effe638d97c765d707fd3f368033a786ba1448..0000000000000000000000000000000000000000 --- a/tests/fixtures/StagedProjectsValidatorTest/project_removed/vendor/composer/installed.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "_readme": [ - "This file simulates a list of packages installed in the active directory of a virtual project.", - "It will be compared against staged.installed.json.", - "See \\Drupal\\Tests\\automatic_updates\\Kernel\\StatusCheck\\StagedProjectsValidatorTest::testErrors()" - ], - "packages": [ - { - "name": "drupal/core", - "version": "9.8.0", - "type": "drupal-core", - "extra": { - "drupal-scaffold": { - "file-mapping": {} - } - } - }, - { - "name": "drupal/test_theme", - "version": "1.3.0", - "type": "drupal-theme" - }, - { - "name": "drupal/test_module2", - "version": "1.3.1", - "type": "drupal-module" - }, - { - "name": "other/removed", - "description": "This project is removed but there should be no error because it is not a Drupal project.", - "version": "1.3.1", - "type": "library" - }, - { - "name": "drupal/dev-test_theme", - "version": "1.3.0", - "type": "drupal-custom-theme" - }, - { - "name": "drupal/dev-test_module2", - "version": "1.3.1", - "type": "drupal-module" - }, - { - "name": "other/dev-removed", - "description": "This project is removed but there should be no error because it is not a Drupal project.", - "version": "1.3.1", - "type": "library" - } - ], - "dev": true, - "dev-package-names": [ - "drupal/dev-test_theme", - "drupal/dev-test_module2", - "other/dev-removed" - ] -} diff --git a/tests/fixtures/StagedProjectsValidatorTest/version_changed/vendor/composer/installed.json b/tests/fixtures/StagedProjectsValidatorTest/version_changed/vendor/composer/installed.json deleted file mode 100644 index 05b1d9ddd1dbf9383581b2987e125b2f34499d50..0000000000000000000000000000000000000000 --- a/tests/fixtures/StagedProjectsValidatorTest/version_changed/vendor/composer/installed.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "_readme": [ - "This file simulates a list of packages installed in the active directory of a virtual project.", - "It will be compared against staged.installed.json.", - "See \\Drupal\\Tests\\automatic_updates\\Kernel\\StatusCheck\\StagedProjectsValidatorTest::testErrors()" - ], - "packages": [ - { - "name": "drupal/core", - "version": "9.8.0", - "type": "drupal-core", - "extra": { - "drupal-scaffold": { - "file-mapping": {} - } - } - }, - { - "name": "drupal/test_module", - "version": "1.3.0", - "type": "drupal-module" - }, - { - "name": "other/changed", - "description": "This project version is changed but there should be no error because it is not a Drupal project.", - "version": "1.3.1", - "type": "library" - }, - { - "name": "drupal/dev-test_module", - "version": "1.3.0", - "type": "drupal-module" - }, - { - "name": "other/dev-changed", - "description": "This project version is changed but there should be no error because it is not a Drupal project.", - "version": "1.3.1", - "type": "library" - } - ], - "dev": true, - "dev-package-names": [ - "drupal/dev-test_module", - "other/dev-changed" - ] -} diff --git a/tests/src/Kernel/StatusCheck/StagedProjectsValidatorTest.php b/tests/src/Kernel/StatusCheck/StagedProjectsValidatorTest.php index 13d7f2b6a99df7acd0bac6b5099be4c01061b07a..3c1fb6afb067f23275b4a1bfe1a02989e318954d 100644 --- a/tests/src/Kernel/StatusCheck/StagedProjectsValidatorTest.php +++ b/tests/src/Kernel/StatusCheck/StagedProjectsValidatorTest.php @@ -72,7 +72,30 @@ class StagedProjectsValidatorTest extends AutomaticUpdatesKernelTestBase { * Tests that an error is raised if Drupal extensions are unexpectedly added. */ public function testProjectsAdded(): void { - $this->copyFixtureFolderToActiveDirectory(__DIR__ . '/../../../fixtures/StagedProjectsValidatorTest/new_project_added'); + $active_dir = $this->container->get('package_manager.path_locator') + ->getProjectRoot(); + $this->addPackage($active_dir, [ + 'name' => 'drupal/test_module', + 'version' => '1.3.0', + 'type' => 'drupal_module', + ]); + $this->addPackage($active_dir, [ + 'name' => 'other/removed', + 'version' => '1.3.1', + 'type' => 'library', + ]); + $this->addPackage($active_dir, [ + 'name' => 'drupal/dev-test_module', + 'version' => '1.3.0', + 'type' => 'drupal_module', + 'dev_requirement' => TRUE, + ]); + $this->addPackage($active_dir, [ + 'name' => 'other/dev-removed', + 'version' => '1.3.1', + 'type' => 'library', + 'dev_requirement' => TRUE, + ]); $updater = $this->container->get('automatic_updates.updater'); $updater->begin(['drupal' => '9.8.1']); @@ -128,7 +151,41 @@ class StagedProjectsValidatorTest extends AutomaticUpdatesKernelTestBase { * Tests that errors are raised if Drupal extensions are unexpectedly removed. */ public function testProjectsRemoved(): void { - $this->copyFixtureFolderToActiveDirectory(__DIR__ . '/../../../fixtures/StagedProjectsValidatorTest/project_removed'); + $active_dir = $this->container->get('package_manager.path_locator') + ->getProjectRoot(); + $this->addPackage($active_dir, [ + 'name' => 'drupal/test_theme', + 'version' => '1.3.0', + 'type' => 'drupal-theme', + ]); + $this->addPackage($active_dir, [ + 'name' => 'drupal/test_module2', + 'version' => '1.3.1', + 'type' => 'drupal-module', + ]); + $this->addPackage($active_dir, [ + 'name' => 'other/removed', + 'version' => '1.3.1', + 'type' => 'library', + ]); + $this->addPackage($active_dir, [ + 'name' => 'drupal/dev-test_theme', + 'version' => '1.3.0', + 'type' => 'drupal-custom-theme', + 'dev_requirement' => TRUE, + ]); + $this->addPackage($active_dir, [ + 'name' => 'drupal/dev-test_module2', + 'version' => '1.3.1', + 'type' => 'drupal-module', + 'dev_requirement' => TRUE, + ]); + $this->addPackage($active_dir, [ + 'name' => 'other/dev-removed', + 'version' => '1.3.1', + 'type' => 'library', + 'dev_requirement' => TRUE, + ]); $updater = $this->container->get('automatic_updates.updater'); $updater->begin(['drupal' => '9.8.1']); @@ -160,7 +217,30 @@ class StagedProjectsValidatorTest extends AutomaticUpdatesKernelTestBase { * Tests that errors are raised if Drupal extensions are unexpectedly updated. */ public function testVersionsChanged(): void { - $this->copyFixtureFolderToActiveDirectory(__DIR__ . '/../../../fixtures/StagedProjectsValidatorTest/version_changed'); + $active_dir = $this->container->get('package_manager.path_locator') + ->getProjectRoot(); + $this->addPackage($active_dir, [ + 'name' => 'drupal/test_module', + 'version' => '1.3.0', + 'type' => 'drupal-module', + ]); + $this->addPackage($active_dir, [ + 'name' => 'other/changed', + 'version' => '1.3.1', + 'type' => 'library', + ]); + $this->addPackage($active_dir, [ + 'name' => 'drupal/dev-test_module', + 'version' => '1.3.0', + 'type' => 'drupal-module', + 'dev_requirement' => TRUE, + ]); + $this->addPackage($active_dir, [ + 'name' => 'other/dev-changed', + 'version' => '1.3.1', + 'type' => 'library', + 'dev_requirement' => TRUE, + ]); $updater = $this->container->get('automatic_updates.updater'); $updater->begin(['drupal' => '9.8.1']); @@ -200,7 +280,41 @@ class StagedProjectsValidatorTest extends AutomaticUpdatesKernelTestBase { * Tests that no errors occur if only core and its dependencies are updated. */ public function testNoErrors(): void { - $this->copyFixtureFolderToActiveDirectory(__DIR__ . '/../../../fixtures/StagedProjectsValidatorTest/no_errors'); + $active_dir = $this->container->get('package_manager.path_locator') + ->getProjectRoot(); + $this->addPackage($active_dir, [ + 'name' => 'drupal/test_module', + 'version' => '1.3.0', + 'type' => 'drupal-module', + ]); + $this->addPackage($active_dir, [ + 'name' => 'other/removed', + 'version' => '1.3.1', + 'type' => 'library', + ]); + $this->addPackage($active_dir, [ + 'name' => 'other/changed', + 'version' => '1.3.1', + 'type' => 'library', + ]); + $this->addPackage($active_dir, [ + 'name' => 'drupal/dev-test_module', + 'version' => '1.3.0', + 'type' => 'drupal-module', + 'dev_requirement' => TRUE, + ]); + $this->addPackage($active_dir, [ + 'name' => 'other/dev-removed', + 'version' => '1.3.1', + 'type' => 'library', + 'dev_requirement' => TRUE, + ]); + $this->addPackage($active_dir, [ + 'name' => 'other/dev-changed', + 'version' => '1.3.1', + 'type' => 'library', + 'dev_requirement' => TRUE, + ]); $updater = $this->container->get('automatic_updates.updater'); $updater->begin(['drupal' => '9.8.1']);