3 namespace Drupal\Tests\migrate_upgrade\Unit;
5 use Drupal\migrate_upgrade\MigrateUpgradeDrushRunner;
6 use Drupal\Tests\migrate\Unit\MigrateTestCase;
9 * Tests for the MigrateUpgradeDrushRunner class.
11 * @group migrate_upgrade
12 * @coversDefaultClass \Drupal\migrate_upgrade\MigrateUpgradeDrushRunner
14 class MigrateUpgradeDrushRunnerTest extends MigrateTestCase {
17 * Test the id substitution functions.
19 * @param array $source
21 * @param array $expected
22 * The expected results.
24 * @covers ::substituteIds
25 * @covers ::substituteMigrationIds
27 * @dataProvider getData
29 public function testIdSubstitution(array $source, array $expected) {
30 $runner = new TestMigrateUpgradeDrushRunner();
31 $results = $runner->substituteIds($source);
32 $this->assertArrayEquals($expected, $results);
36 * Returns test data for the test.
41 public function getData() {
43 'Single Migration Lookup' => [
45 'id' => 'my_migration',
48 'plugin' => 'migration_lookup',
49 'migration' => 'my_previous_migration',
53 'migration_dependencies' => [
55 'my_previous_migration',
56 'required_dependency',
58 'optional' => ['optional_dependency'],
61 'expected_result' => [
62 'id' => 'upgrade_my_migration',
65 'plugin' => 'migration_lookup',
66 'migration' => 'upgrade_my_previous_migration',
70 'migration_dependencies' => [
72 'upgrade_my_previous_migration',
73 'upgrade_required_dependency',
75 'optional' => ['upgrade_optional_dependency'],
79 'Dual Migration Lookup' => [
81 'id' => 'my_migration',
84 'plugin' => 'migration_lookup',
86 'my_previous_migration_1',
87 'my_previous_migration_2',
90 'my_previous_migration_1' => ['source_1'],
91 'my_previous_migration_2' => ['source_2'],
96 'migration_dependencies' => [
98 'my_previous_migration_1',
99 'required_dependency',
102 'my_previous_migration_2',
103 'optional_dependency',
107 'expected_result' => [
108 'id' => 'upgrade_my_migration',
111 'plugin' => 'migration_lookup',
113 'upgrade_my_previous_migration_1',
114 'upgrade_my_previous_migration_2',
117 'upgrade_my_previous_migration_1' => ['source_1'],
118 'upgrade_my_previous_migration_2' => ['source_2'],
123 'migration_dependencies' => [
125 'upgrade_my_previous_migration_1',
126 'upgrade_required_dependency',
129 'upgrade_my_previous_migration_2',
130 'upgrade_optional_dependency',
141 * Test class to expose protected methods.
143 class TestMigrateUpgradeDrushRunner extends MigrateUpgradeDrushRunner {
148 public function substituteIds($entity_array) {
149 return parent::substituteIds($entity_array);
154 namespace Drupal\migrate_upgrade;
156 if (!function_exists('drush_get_option')) {
159 * Override for called function.
161 * @param mixed $option
163 * @param mixed $default
167 * The default, for this override.
169 function drush_get_option($option, $default) {