3 namespace Drupal\Tests\migrate\Kernel\Plugin;
5 use Drupal\KernelTests\KernelTestBase;
8 * Tests the migration plugin manager.
10 * @coversDefaultClass \Drupal\migrate\Plugin\MigratePluginManager
13 class MigrationPluginConfigurationTest extends KernelTestBase {
18 public static $modules = [
21 // Test with a simple migration.
26 * Test merging configuration into a plugin through the plugin manager.
28 * @dataProvider mergeProvider
30 public function testConfigurationMerge($configuration, $expected) {
31 /** @var \Drupal\migrate\Plugin\MigrationInterface $migration */
32 $migration = $this->container->get('plugin.manager.migration')->createInstance('d7_blocked_ips', $configuration);
33 $source_configuration = $migration->getSourceConfiguration();
34 $this->assertEquals($expected, $source_configuration);
38 * Provide configuration data for testing.
40 public function mergeProvider() {
42 // Tests adding new configuration to a migration.
48 'added_setting' => 'Ban them all!',
52 // Expected final source configuration.
54 'plugin' => 'd7_blocked_ips',
56 'added_setting' => 'Ban them all!',
60 // Tests overriding pre-existing configuration in a migration.
65 'plugin' => 'a_different_plugin',
68 // Expected final source configuration.
70 'plugin' => 'a_different_plugin',