Chris@0
|
1 <?php
|
Chris@0
|
2
|
Chris@0
|
3 namespace Drupal\Tests\migrate_upgrade\Unit;
|
Chris@0
|
4
|
Chris@0
|
5 use Drupal\migrate_upgrade\MigrateUpgradeDrushRunner;
|
Chris@0
|
6 use Drupal\Tests\migrate\Unit\MigrateTestCase;
|
Chris@0
|
7
|
Chris@0
|
8 /**
|
Chris@0
|
9 * Tests for the MigrateUpgradeDrushRunner class.
|
Chris@0
|
10 *
|
Chris@0
|
11 * @group migrate_upgrade
|
Chris@0
|
12 * @coversDefaultClass \Drupal\migrate_upgrade\MigrateUpgradeDrushRunner
|
Chris@0
|
13 */
|
Chris@0
|
14 class MigrateUpgradeDrushRunnerTest extends MigrateTestCase {
|
Chris@0
|
15
|
Chris@0
|
16 /**
|
Chris@0
|
17 * Test the id substitution functions.
|
Chris@0
|
18 *
|
Chris@0
|
19 * @param array $source
|
Chris@0
|
20 * The source data.
|
Chris@0
|
21 * @param array $expected
|
Chris@0
|
22 * The expected results.
|
Chris@0
|
23 *
|
Chris@0
|
24 * @covers ::substituteIds
|
Chris@0
|
25 * @covers ::substituteMigrationIds
|
Chris@0
|
26 *
|
Chris@0
|
27 * @dataProvider getData
|
Chris@0
|
28 */
|
Chris@0
|
29 public function testIdSubstitution(array $source, array $expected) {
|
Chris@0
|
30 $runner = new TestMigrateUpgradeDrushRunner();
|
Chris@0
|
31 $results = $runner->substituteIds($source);
|
Chris@0
|
32 $this->assertArrayEquals($expected, $results);
|
Chris@0
|
33 }
|
Chris@0
|
34
|
Chris@0
|
35 /**
|
Chris@0
|
36 * Returns test data for the test.
|
Chris@0
|
37 *
|
Chris@0
|
38 * @return array
|
Chris@0
|
39 * The test data.
|
Chris@0
|
40 */
|
Chris@0
|
41 public function getData() {
|
Chris@0
|
42 return [
|
Chris@0
|
43 'Single Migration Lookup' => [
|
Chris@0
|
44 'source_data' => [
|
Chris@0
|
45 'id' => 'my_migration',
|
Chris@0
|
46 'process' => [
|
Chris@0
|
47 'element' => [
|
Chris@0
|
48 'plugin' => 'migration_lookup',
|
Chris@0
|
49 'migration' => 'my_previous_migration',
|
Chris@0
|
50 'source' => 'value',
|
Chris@0
|
51 ],
|
Chris@0
|
52 ],
|
Chris@0
|
53 'migration_dependencies' => [
|
Chris@0
|
54 'required' => [
|
Chris@0
|
55 'my_previous_migration',
|
Chris@0
|
56 'required_dependency',
|
Chris@0
|
57 ],
|
Chris@0
|
58 'optional' => ['optional_dependency'],
|
Chris@0
|
59 ],
|
Chris@0
|
60 ],
|
Chris@0
|
61 'expected_result' => [
|
Chris@0
|
62 'id' => 'upgrade_my_migration',
|
Chris@0
|
63 'process' => [
|
Chris@0
|
64 'element' => [
|
Chris@0
|
65 'plugin' => 'migration_lookup',
|
Chris@0
|
66 'migration' => 'upgrade_my_previous_migration',
|
Chris@0
|
67 'source' => 'value',
|
Chris@0
|
68 ],
|
Chris@0
|
69 ],
|
Chris@0
|
70 'migration_dependencies' => [
|
Chris@0
|
71 'required' => [
|
Chris@0
|
72 'upgrade_my_previous_migration',
|
Chris@0
|
73 'upgrade_required_dependency',
|
Chris@0
|
74 ],
|
Chris@0
|
75 'optional' => ['upgrade_optional_dependency'],
|
Chris@0
|
76 ],
|
Chris@0
|
77 ],
|
Chris@0
|
78 ],
|
Chris@0
|
79 'Dual Migration Lookup' => [
|
Chris@0
|
80 'source_data' => [
|
Chris@0
|
81 'id' => 'my_migration',
|
Chris@0
|
82 'process' => [
|
Chris@0
|
83 'element' => [
|
Chris@0
|
84 'plugin' => 'migration_lookup',
|
Chris@0
|
85 'migration' => [
|
Chris@0
|
86 'my_previous_migration_1',
|
Chris@0
|
87 'my_previous_migration_2',
|
Chris@0
|
88 ],
|
Chris@0
|
89 'source_ids' => [
|
Chris@0
|
90 'my_previous_migration_1' => ['source_1'],
|
Chris@0
|
91 'my_previous_migration_2' => ['source_2'],
|
Chris@0
|
92 ],
|
Chris@0
|
93 'source' => 'value',
|
Chris@0
|
94 ],
|
Chris@0
|
95 ],
|
Chris@0
|
96 'migration_dependencies' => [
|
Chris@0
|
97 'required' => [
|
Chris@0
|
98 'my_previous_migration_1',
|
Chris@0
|
99 'required_dependency',
|
Chris@0
|
100 ],
|
Chris@0
|
101 'optional' => [
|
Chris@0
|
102 'my_previous_migration_2',
|
Chris@0
|
103 'optional_dependency',
|
Chris@0
|
104 ],
|
Chris@0
|
105 ],
|
Chris@0
|
106 ],
|
Chris@0
|
107 'expected_result' => [
|
Chris@0
|
108 'id' => 'upgrade_my_migration',
|
Chris@0
|
109 'process' => [
|
Chris@0
|
110 'element' => [
|
Chris@0
|
111 'plugin' => 'migration_lookup',
|
Chris@0
|
112 'migration' => [
|
Chris@0
|
113 'upgrade_my_previous_migration_1',
|
Chris@0
|
114 'upgrade_my_previous_migration_2',
|
Chris@0
|
115 ],
|
Chris@0
|
116 'source_ids' => [
|
Chris@0
|
117 'upgrade_my_previous_migration_1' => ['source_1'],
|
Chris@0
|
118 'upgrade_my_previous_migration_2' => ['source_2'],
|
Chris@0
|
119 ],
|
Chris@0
|
120 'source' => 'value',
|
Chris@0
|
121 ],
|
Chris@0
|
122 ],
|
Chris@0
|
123 'migration_dependencies' => [
|
Chris@0
|
124 'required' => [
|
Chris@0
|
125 'upgrade_my_previous_migration_1',
|
Chris@0
|
126 'upgrade_required_dependency',
|
Chris@0
|
127 ],
|
Chris@0
|
128 'optional' => [
|
Chris@0
|
129 'upgrade_my_previous_migration_2',
|
Chris@0
|
130 'upgrade_optional_dependency',
|
Chris@0
|
131 ],
|
Chris@0
|
132 ],
|
Chris@0
|
133 ],
|
Chris@0
|
134 ],
|
Chris@4
|
135 'Derivative Migration Lookup' => [
|
Chris@4
|
136 'source_data' => [
|
Chris@4
|
137 'id' => 'my_migration',
|
Chris@4
|
138 'process' => [
|
Chris@4
|
139 'element' => [
|
Chris@4
|
140 'plugin' => 'migration_lookup',
|
Chris@4
|
141 'migration' => 'derivable_migration',
|
Chris@4
|
142 'source' => 'value',
|
Chris@4
|
143 ],
|
Chris@4
|
144 ],
|
Chris@4
|
145 'migration_dependencies' => [
|
Chris@4
|
146 'required' => [
|
Chris@4
|
147 'derivable_migration',
|
Chris@4
|
148 'required_dependency',
|
Chris@4
|
149 ],
|
Chris@4
|
150 'optional' => ['optional_dependency'],
|
Chris@4
|
151 ],
|
Chris@4
|
152 ],
|
Chris@4
|
153 'expected_result' => [
|
Chris@4
|
154 'id' => 'upgrade_my_migration',
|
Chris@4
|
155 'process' => [
|
Chris@4
|
156 'element' => [
|
Chris@4
|
157 'plugin' => 'migration_lookup',
|
Chris@4
|
158 'migration' => [
|
Chris@4
|
159 'upgrade_derivable_migration_derivitive_1',
|
Chris@4
|
160 'upgrade_derivable_migration_derivitive_2',
|
Chris@4
|
161
|
Chris@4
|
162 ],
|
Chris@4
|
163 'source' => 'value',
|
Chris@4
|
164 ],
|
Chris@4
|
165 ],
|
Chris@4
|
166 'migration_dependencies' => [
|
Chris@4
|
167 'required' => [
|
Chris@4
|
168 'upgrade_derivable_migration_derivitive_1',
|
Chris@4
|
169 'upgrade_derivable_migration_derivitive_2',
|
Chris@4
|
170 'upgrade_required_dependency',
|
Chris@4
|
171 ],
|
Chris@4
|
172 'optional' => ['upgrade_optional_dependency'],
|
Chris@4
|
173 ],
|
Chris@4
|
174 ],
|
Chris@4
|
175 ],
|
Chris@0
|
176 ];
|
Chris@0
|
177 }
|
Chris@0
|
178
|
Chris@0
|
179 }
|
Chris@0
|
180
|
Chris@0
|
181 /**
|
Chris@0
|
182 * Test class to expose protected methods.
|
Chris@0
|
183 */
|
Chris@0
|
184 class TestMigrateUpgradeDrushRunner extends MigrateUpgradeDrushRunner {
|
Chris@0
|
185
|
Chris@0
|
186 /**
|
Chris@0
|
187 * {@inheritdoc}
|
Chris@0
|
188 */
|
Chris@4
|
189 public function __construct(array $options = []) {
|
Chris@4
|
190 parent::__construct($options);
|
Chris@4
|
191 $this->migrationList = [
|
Chris@4
|
192 'my_previous_migration' => [],
|
Chris@4
|
193 'my_previous_migration_1' => [],
|
Chris@4
|
194 'my_previous_migration_2' => [],
|
Chris@4
|
195 'derivable_migration:derivitive_1' => [],
|
Chris@4
|
196 'derivable_migration:derivitive_2' => [],
|
Chris@4
|
197 'required_dependency' => [],
|
Chris@4
|
198 'optional_dependency' => [],
|
Chris@4
|
199 ];
|
Chris@4
|
200 }
|
Chris@4
|
201
|
Chris@4
|
202 // @codingStandardsIgnoreStart
|
Chris@4
|
203 /**
|
Chris@4
|
204 * {@inheritdoc}
|
Chris@4
|
205 *
|
Chris@4
|
206 */
|
Chris@4
|
207 public function substituteIds(array $entity_array) {
|
Chris@0
|
208 return parent::substituteIds($entity_array);
|
Chris@0
|
209 }
|
Chris@4
|
210 // @codingStandardsIgnoreEnd
|
Chris@0
|
211
|
Chris@0
|
212 }
|
Chris@0
|
213
|
Chris@0
|
214 namespace Drupal\migrate_upgrade;
|
Chris@0
|
215
|
Chris@0
|
216 if (!function_exists('drush_get_option')) {
|
Chris@0
|
217
|
Chris@0
|
218 /**
|
Chris@0
|
219 * Override for called function.
|
Chris@0
|
220 *
|
Chris@0
|
221 * @param mixed $option
|
Chris@4
|
222 * The name of the option to get.
|
Chris@0
|
223 * @param mixed $default
|
Chris@4
|
224 * Optional. The value to return if the option has not been set.
|
Chris@0
|
225 * @param mixed $context
|
Chris@4
|
226 * Optional. The context to check for the option. If this is set, only this
|
Chris@4
|
227 * context will be searched.
|
Chris@0
|
228 *
|
Chris@0
|
229 * @return mixed
|
Chris@0
|
230 * The default, for this override.
|
Chris@0
|
231 */
|
Chris@0
|
232 function drush_get_option($option, $default = NULL, $context = NULL) {
|
Chris@0
|
233 return $default;
|
Chris@0
|
234 }
|
Chris@0
|
235
|
Chris@0
|
236 }
|