Skip to content

Commit 345fe29

Browse files
committed
MQE-741: two steps with same step key, the later step will overwrite the previous step.
1 parent c3d7356 commit 345fe29

File tree

9 files changed

+33
-222
lines changed

9 files changed

+33
-222
lines changed

etc/di.xml

Lines changed: 21 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -153,8 +153,7 @@
153153
<argument name="schemaLocator" xsi:type="object">Magento\FunctionalTestingFramework\Config\SchemaLocator\DataProfile</argument>
154154
<argument name="idAttributes" xsi:type="array">
155155
<item name="/entities/entity" xsi:type="string">name</item>
156-
<item name="/entities/entity/data" xsi:type="string">key</item>
157-
<item name="/entities/entity/array" xsi:type="string">key</item>
156+
<item name="/entities/entity/(data|array)" xsi:type="string">key</item>
158157
<item name="/entities/entity/requiredEntity" xsi:type="string">name</item>
159158
</argument>
160159
<argument name="fileName" xsi:type="string">*Data.xml</argument>
@@ -186,9 +185,7 @@
186185
<argument name="schemaLocator" xsi:type="object">Magento\FunctionalTestingFramework\Config\SchemaLocator\Metadata</argument>
187186
<argument name="idAttributes" xsi:type="array">
188187
<item name="/operations/operation" xsi:type="string">name</item>
189-
<item name="/operations/operation/field" xsi:type="string">key</item>
190-
<item name="/operations/operation/array" xsi:type="string">key</item>
191-
<item name="/operations/operation/object" xsi:type="string">key</item>
188+
<item name="/operations/operation/(field|array|object)" xsi:type="string">key</item>
192189
</argument>
193190
<argument name="fileName" xsi:type="string">*-meta.xml</argument>
194191
<argument name="defaultScope" xsi:type="string">Metadata</argument>
@@ -203,21 +200,19 @@
203200
<argument name="perFileSchema" xsi:type="string">Magento/FunctionalTestingFramework/Test/etc/testSchema.xsd</argument>
204201
</arguments>
205202
</virtualType>
206-
<virtualType name="Magento\FunctionalTestingFramework\Config\Reader\TestData" type="Magento\FunctionalTestingFramework\Config\Reader\TestFilesystem">
203+
<virtualType name="Magento\FunctionalTestingFramework\Config\Reader\TestData" type="Magento\FunctionalTestingFramework\Config\Reader\Filesystem">
207204
<arguments>
208205
<argument name="fileResolver" xsi:type="object">Magento\FunctionalTestingFramework\Config\FileResolver\Module</argument>
209206
<argument name="converter" xsi:type="object">Magento\FunctionalTestingFramework\Config\TestDataConverter</argument>
210207
<argument name="schemaLocator" xsi:type="object">Magento\FunctionalTestingFramework\Config\SchemaLocator\TestData</argument>
211208
<argument name="idAttributes" xsi:type="array">
212209
<item name="/tests/test" xsi:type="string">name</item>
213-
<item name="/tests/test/actionGroup/argument" xsi:type="string">name</item>
214-
<item name="/tests/test/createData/required-entity" xsi:type="string">createDataKey</item>
215-
<item name="/tests/test/updateData/required-entity" xsi:type="string">createDataKey</item>
216-
<item name="/tests/test/getData/required-entity" xsi:type="string">createDataKey</item>
217-
<item name="/tests/test/(actionGroup|&commonTestActions;)" xsi:type="string">stepKey</item>
218210
<item name="/tests/test/remove" xsi:type="string">keyForRemoval</item>
219-
<item name="/tests/test/before/remove" xsi:type="string">keyForRemoval</item>
220-
<item name="/tests/test/after/remove" xsi:type="string">keyForRemoval</item>
211+
<item name="/tests/test/(actionGroup|&commonTestActions;)" xsi:type="string">stepKey</item>
212+
<item name="/tests/test/actionGroup/argument" xsi:type="string">name</item>
213+
<item name="/tests/test/(createData|updateData|getData)/requiredEntity" xsi:type="string">createDataKey</item>
214+
<item name="/tests/test/(before|after)/(createData|updateData|getData)/requiredEntity" xsi:type="string">createDataKey</item>
215+
<item name="/tests/test/(before|after)/remove" xsi:type="string">keyForRemoval</item>
221216
<item name="/tests/test/annotations(/group)+" xsi:type="string">value</item>
222217
</argument>
223218
<argument name="fileName" xsi:type="string">*.xml</argument>
@@ -228,23 +223,14 @@
228223
<virtualType name="Magento\FunctionalTestingFramework\Test\Config\Dom\ArrayNodeConfig" type="Magento\FunctionalTestingFramework\Config\Dom\ArrayNodeConfig">
229224
<arguments>
230225
<argument name="assocArrayAttributes" xsi:type="array">
231-
<item name="/tests/test/(actionGroup|&commonTestActions;)" xsi:type="string">stepKey</item>
232-
<item name="/tests/test/before/(actionGroup|&commonTestActions;)" xsi:type="string">stepKey</item>
233-
<item name="/tests/test/after/(actionGroup|&commonTestActions;)" xsi:type="string">stepKey</item>
234-
<item name="/tests/test/remove" xsi:type="string">keyForRemoval</item>
235-
<item name="/tests/test/before/remove" xsi:type="string">keyForRemoval</item>
236-
<item name="/tests/test/after/remove" xsi:type="string">keyForRemoval</item>
237226
<item name="/tests/test" xsi:type="string">name</item>
238-
<item name="/tests/test/createData/requiredEntity" xsi:type="string">createDataKey</item>
239-
<item name="/tests/test/before/createData/requiredEntity" xsi:type="string">createDataKey</item>
240-
<item name="/tests/test/after/createData/requiredEntity" xsi:type="string">createDataKey</item>
241-
<item name="/tests/test/updateData/requiredEntity" xsi:type="string">createDataKey</item>
242-
<item name="/tests/test/before/updateData/requiredEntity" xsi:type="string">createDataKey</item>
243-
<item name="/tests/test/after/updateData/requiredEntity" xsi:type="string">createDataKey</item>
244-
<item name="/tests/test/getData/requiredEntity" xsi:type="string">createDataKey</item>
245-
<item name="/tests/test/before/getData/requiredEntity" xsi:type="string">createDataKey</item>
246-
<item name="/tests/test/after/getData/requiredEntity" xsi:type="string">createDataKey</item>
227+
<item name="/tests/test/remove" xsi:type="string">keyForRemoval</item>
247228
<item name="/tests/test/actionGroup/argument" xsi:type="string">name</item>
229+
<item name="/tests/test/(actionGroup|&commonTestActions;)" xsi:type="string">stepKey</item>
230+
<item name="/tests/test/(before|after)/(actionGroup|&commonTestActions;)" xsi:type="string">stepKey</item>
231+
<item name="/tests/test/(before|after)/remove" xsi:type="string">keyForRemoval</item>
232+
<item name="/tests/test/(createData|updateData|getData)/requiredEntity" xsi:type="string">createDataKey</item>
233+
<item name="/tests/test/(before|after)/(createData|updateData|getData)/requiredEntity" xsi:type="string">createDataKey</item>
248234
</argument>
249235
<argument name="numericArrays" xsi:type="array">
250236
<item name="/tests/test/annotations/features" xsi:type="string">/tests/test/annotations/features</item>
@@ -282,7 +268,7 @@
282268

283269
<virtualType name="Magento\FunctionalTestingFramework\Config\SchemaLocator\ActionGroup" type="Magento\FunctionalTestingFramework\Config\SchemaLocator">
284270
<arguments>
285-
<argument name="schemaPath" xsi:type="string">Magento/FunctionalTestingFramework/Test/etc/actionGroup.xsd</argument>
271+
<argument name="schemaPath" xsi:type="string">Magento/FunctionalTestingFramework/Test/etc/actionGroupSchema.xsd</argument>
286272
</arguments>
287273
</virtualType>
288274

@@ -354,12 +340,8 @@
354340
<argument name="schemaLocator" xsi:type="object">Magento\FunctionalTestingFramework\Config\SchemaLocator\SuiteData</argument>
355341
<argument name="idAttributes" xsi:type="array">
356342
<item name="/suites/suite" xsi:type="string">name</item>
357-
<item name="/suites/suite/include/group" xsi:type="string">name</item>
358-
<item name="/suites/suite/include/test" xsi:type="string">name</item>
359-
<item name="/suites/suite/include/module" xsi:type="string">name</item>
360-
<item name="/suites/suite/exclude/group" xsi:type="string">name</item>
361-
<item name="/suites/suite/exclude/test" xsi:type="string">name</item>
362-
<item name="/suites/suite/exclude/module" xsi:type="string">name</item>
343+
<item name="/suites/suite/include/(group|test|module)" xsi:type="string">name</item>
344+
<item name="/suites/suite/exclude/(group|test|module)" xsi:type="string">name</item>
363345
</argument>
364346
<argument name="fileName" xsi:type="string">*.xml</argument>
365347
<argument name="defaultScope" xsi:type="string">_suite</argument>
@@ -370,16 +352,10 @@
370352
<arguments>
371353
<argument name="assocArrayAttributes" xsi:type="array">
372354
<item name="/suites/suite" xsi:type="string">name</item>
373-
<item name="/suites/suite/before/(createData|deleteData)" xsi:type="string">stepKey</item>
374-
<item name="/suites/suite/after/(createData|deleteData)" xsi:type="string">stepKey</item>
375-
<item name="/suites/suite/before/createData/requiredEntity" xsi:type="string">createDataKey</item>
376-
<item name="/suites/suite/after/createData/requiredEntity" xsi:type="string">createDataKey</item>
377-
<item name="/suites/suite/include/group" xsi:type="string">name</item>
378-
<item name="/suites/suite/include/test" xsi:type="string">name</item>
379-
<item name="/suites/suite/include/module" xsi:type="string">name</item>
380-
<item name="/suites/suite/exclude/group" xsi:type="string">name</item>
381-
<item name="/suites/suite/exclude/test" xsi:type="string">name</item>
382-
<item name="/suites/suite/exclude/module" xsi:type="string">name</item>
355+
<item name="/suites/suite/(before|after)/(createData|deleteData)" xsi:type="string">stepKey</item>
356+
<item name="/suites/suite/(before|after)/createData/requiredEntity" xsi:type="string">createDataKey</item>
357+
<item name="/suites/suite/include/(group|test|module)" xsi:type="string">name</item>
358+
<item name="/suites/suite/exclude/(group|test|module)" xsi:type="string">name</item>
383359
</argument>
384360
</arguments>
385361
</virtualType>

src/Magento/FunctionalTestingFramework/Config/Dom/TestDom.php

Lines changed: 0 additions & 76 deletions
This file was deleted.

src/Magento/FunctionalTestingFramework/Config/FileResolverInterface.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ interface FileResolverInterface
1515
*
1616
* @param string $filename
1717
* @param string $scope
18-
* @return array
18+
* @return array|\Magento\FunctionalTestingFramework\Util\Iterator\File
1919
*/
2020
public function get($filename, $scope);
2121
}

src/Magento/FunctionalTestingFramework/Config/Reader/Filesystem.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ public function read($scope = null)
135135
/**
136136
* Read configuration files
137137
*
138-
* @param array $fileList
138+
* @param \Magento\FunctionalTestingFramework\Util\Iterator\File $fileList
139139
* @return array
140140
* @throws \Exception
141141
*/
@@ -151,7 +151,7 @@ protected function readFiles($fileList)
151151
$configMerger->merge($content);
152152
}
153153
} catch (\Magento\FunctionalTestingFramework\Config\Dom\ValidationException $e) {
154-
throw new \Exception("Invalid XML in file " . $key . ":\n" . $e->getMessage());
154+
throw new \Exception("Invalid XML in file " . $fileList->getFilename() . ":\n" . $e->getMessage());
155155
}
156156
}
157157
if ($this->validationState->isValidationRequired()) {

src/Magento/FunctionalTestingFramework/Config/Reader/TestFilesystem.php

Lines changed: 0 additions & 75 deletions
This file was deleted.

src/Magento/FunctionalTestingFramework/Config/ValidationState.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ public function __construct($appMode)
3737
*/
3838
public function isValidationRequired()
3939
{
40-
//return $this->appMode == 'developer'; // @todo
41-
return false;
40+
return $this->appMode == 'developer'; // @todo
4241
}
4342
}

src/Magento/FunctionalTestingFramework/Test/Objects/TestHookObject.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ class TestHookObject
3737
/**
3838
* Array of Hook-defined data.
3939
* @var array|null
40+
* @deprecated because no usage of property exist. Will be removed next major release.
4041
*/
4142
private $customData = [];
4243

@@ -71,12 +72,14 @@ public function getType()
7172
public function getActions()
7273
{
7374
$mergeUtil = new ActionMergeUtil($this->parentName, $this->getType());
75+
7476
return $mergeUtil->resolveActionSteps($this->actions);
7577
}
7678

7779
/**
7880
* Returns an array of customData to be interperpreted by the generator.
7981
* @return array|null
82+
* @deprecated because no usages where found. Will be removed next major release.
8083
*/
8184
public function getCustomData()
8285
{

src/Magento/FunctionalTestingFramework/Test/Objects/TestObject.php

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,6 @@ class TestObject
4343
*/
4444
private $hooks = [];
4545

46-
/**
47-
* Full path to xml file from which test was read.
48-
* @var string
49-
*/
50-
private $xmlFileSource;
51-
5246
/**
5347
* TestObject constructor.
5448
*
@@ -64,7 +58,6 @@ public function __construct($name, $parsedSteps, $annotations, $hooks, $xmlFileS
6458
$this->parsedSteps = $parsedSteps;
6559
$this->annotations = $annotations;
6660
$this->hooks = $hooks;
67-
$this->xmlFileSource = $xmlFileSource;
6861
}
6962

7063
/**
@@ -129,6 +122,7 @@ public function getAnnotationByName($name)
129122
/**
130123
* Getter for the custom data
131124
* @return array|null
125+
* @deprecated because no usages where found and property does not exist. Will be removed next major release.
132126
*/
133127
public function getCustomData()
134128
{

0 commit comments

Comments
 (0)