From 9273076d01e7c65c8e7ee8337cc904e09a226dd3 Mon Sep 17 00:00:00 2001 From: Alex Pott <alex.a.pott@googlemail.com> Date: Fri, 10 Aug 2018 22:29:14 +0100 Subject: [PATCH] Issue #2991710 by jcnventura, maxocub, heddn, quietone, phenaproxima, effulgentsia: Migrate system broken if content_translation enabled --- .../migrations/d6_entity_reference_translation.yml | 3 +++ .../migrations/d7_entity_reference_translation.yml | 3 +++ .../src/Kernel/Plugin/MigrationPluginListTest.php | 14 ++++++++++++++ 3 files changed, 20 insertions(+) diff --git a/core/modules/content_translation/migrations/d6_entity_reference_translation.yml b/core/modules/content_translation/migrations/d6_entity_reference_translation.yml index 74a586b82349..87150ec3957b 100644 --- a/core/modules/content_translation/migrations/d6_entity_reference_translation.yml +++ b/core/modules/content_translation/migrations/d6_entity_reference_translation.yml @@ -5,6 +5,9 @@ migration_tags: - Multilingual - Follow-up migration deriver: Drupal\migrate_drupal\Plugin\migrate\EntityReferenceTranslationDeriver +provider: + - content_translation + - migrate_drupal # Supported target types for entity reference translation migrations. The array # keys are the supported target types and the values are arrays of migrations # to lookup for the translated entity IDs. diff --git a/core/modules/content_translation/migrations/d7_entity_reference_translation.yml b/core/modules/content_translation/migrations/d7_entity_reference_translation.yml index af5bef9490ff..2e8d548f0a08 100644 --- a/core/modules/content_translation/migrations/d7_entity_reference_translation.yml +++ b/core/modules/content_translation/migrations/d7_entity_reference_translation.yml @@ -5,6 +5,9 @@ migration_tags: - Multilingual - Follow-up migration deriver: Drupal\migrate_drupal\Plugin\migrate\EntityReferenceTranslationDeriver +provider: + - content_translation + - migrate_drupal # Supported target types for entity reference translation migrations. The array # keys are the supported target types and the values are arrays of migrations # to lookup for the translated entity IDs. diff --git a/core/modules/migrate/tests/src/Kernel/Plugin/MigrationPluginListTest.php b/core/modules/migrate/tests/src/Kernel/Plugin/MigrationPluginListTest.php index 3a3487f69ace..7bfba70f27a1 100644 --- a/core/modules/migrate/tests/src/Kernel/Plugin/MigrationPluginListTest.php +++ b/core/modules/migrate/tests/src/Kernel/Plugin/MigrationPluginListTest.php @@ -3,6 +3,7 @@ namespace Drupal\Tests\migrate\Kernel\Plugin; use Drupal\Core\Database\Database; +use Drupal\field\Tests\EntityReference\EntityReferenceTestTrait; use Drupal\KernelTests\KernelTestBase; use Drupal\migrate\Exception\RequirementsException; use Drupal\migrate\Plugin\migrate\source\SqlBase; @@ -16,6 +17,8 @@ */ class MigrationPluginListTest extends KernelTestBase { + use EntityReferenceTestTrait; + /** * {@inheritdoc} */ @@ -30,6 +33,7 @@ class MigrationPluginListTest extends KernelTestBase { 'book', 'comment', 'contact', + 'content_translation', 'dblog', 'field', 'file', @@ -60,6 +64,11 @@ class MigrationPluginListTest extends KernelTestBase { * @covers ::getDefinitions */ public function testGetDefinitions() { + // Create an entity reference field to make sure that migrations derived by + // EntityReferenceTranslationDeriver do not get discovered without + // migrate_drupal enabled. + $this->createEntityReferenceField('user', 'user', 'field_entity_reference', 'Entity Reference', 'node'); + // Make sure retrieving all the core migration plugins does not throw any // errors. $migration_plugins = $this->container->get('plugin.manager.migration')->getDefinitions(); @@ -132,6 +141,11 @@ public function testGetDefinitions() { $migration_plugins = $this->container->get('plugin.manager.migration')->getDefinitions(); // All the plugins provided by core depend on migrate_drupal. $this->assertNotEmpty($migration_plugins); + + // Test that migrations derived by EntityReferenceTranslationDeriver are + // discovered now that migrate_drupal is enabled. + $this->assertArrayHasKey('d6_entity_reference_translation:user__user', $migration_plugins); + $this->assertArrayHasKey('d7_entity_reference_translation:user__user', $migration_plugins); } } -- GitLab