Skip to content

Commit e0583e8

Browse files
committed
MQE-2016: Add warning for test materials that violate naming convention
1 parent 6a6e3ce commit e0583e8

File tree

7 files changed

+160
-88
lines changed

7 files changed

+160
-88
lines changed

src/Magento/FunctionalTestingFramework/DataGenerator/Handlers/DataObjectHandler.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,14 @@ class DataObjectHandler implements ObjectHandlerInterface
6060
private $extendUtil;
6161

6262
/**
63-
* Validates and keeps track of entity name violations. Entity names should be PascalCase.
63+
* Validates and keeps track of entity name violations.
6464
*
6565
* @var NameValidationUtil
6666
*/
6767
private $entityNameValidator;
6868

6969
/**
70-
* Validates and keeps track of entity key violations. Entity keys should be camelCase.
70+
* Validates and keeps track of entity key violations.
7171
*
7272
* @var NameValidationUtil
7373
*/
@@ -83,8 +83,8 @@ private function __construct()
8383
if (!$parserOutput) {
8484
return;
8585
}
86-
$this->entityNameValidator = new NameValidationUtil(NameValidationUtil::TYPE_DATA_ENTITY_NAME);
87-
$this->entityKeyValidator = new NameValidationUtil(NameValidationUtil::TYPE_DATA_ENTITY_KEY);
86+
$this->entityNameValidator = new NameValidationUtil();
87+
$this->entityKeyValidator = new NameValidationUtil();
8888
$this->entityDataObjects = $this->processParserOutput($parserOutput);
8989
$this->extendUtil = new DataExtensionUtil();
9090
}
@@ -150,7 +150,7 @@ private function processParserOutput($parserOutput)
150150
}
151151

152152
$filename = $rawEntity[self::_FILENAME] ?? null;
153-
$this->entityNameValidator->validatePascalCase($name, $filename);
153+
$this->entityNameValidator->validateDataEntityName($name, $filename);
154154
$type = $rawEntity[self::_TYPE] ?? null;
155155
$data = [];
156156
$deprecated = null;
@@ -206,8 +206,8 @@ private function processParserOutput($parserOutput)
206206

207207
$entityDataObjects[$entityDataObject->getName()] = $entityDataObject;
208208
}
209-
$this->entityNameValidator->logCountPascalCase();
210-
$this->entityKeyValidator->logCountCamelCase();
209+
$this->entityNameValidator->summarize("data entity name");
210+
$this->entityKeyValidator->summarize("data entity key");
211211
return $entityDataObjects;
212212
}
213213

@@ -241,7 +241,7 @@ private function processDataElements($entityData)
241241
foreach ($entityData[self::_DATA] as $dataElement) {
242242
$originalDataElementKey = $dataElement[self::_KEY];
243243
$filename = $entityData[self::_FILENAME] ?? null;
244-
$this->entityKeyValidator->validateCamelCase($originalDataElementKey, $filename);
244+
$this->entityKeyValidator->validateDataEntityKey($originalDataElementKey, $filename);
245245
$dataElementKey = strtolower($originalDataElementKey);
246246
$dataElementValue = $dataElement[self::_VALUE] ?? "";
247247
$dataValues[$dataElementKey] = $dataElementValue;

src/Magento/FunctionalTestingFramework/DataGenerator/Handlers/OperationDefinitionObjectHandler.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -138,9 +138,9 @@ private function initialize()
138138
$parser = $objectManager->create(OperationDefinitionParser::class);
139139
$parserOutput = $parser->readOperationMetadata()[OperationDefinitionObjectHandler::ENTITY_OPERATION_ROOT_TAG];
140140

141-
$operationNameValidator = new NameValidationUtil(NameValidationUtil::TYPE_METADATA_OPERATION_NAME);
141+
$operationNameValidator = new NameValidationUtil();
142142
foreach ($parserOutput as $dataDefName => $opDefArray) {
143-
$operationNameValidator->validatePascalCase($dataDefName);
143+
$operationNameValidator->validateMetadataOperationName($dataDefName);
144144

145145
$operation = $opDefArray[OperationDefinitionObjectHandler::ENTITY_OPERATION_TYPE];
146146
$dataType = $opDefArray[OperationDefinitionObjectHandler::ENTITY_OPERATION_DATA_TYPE];
@@ -235,7 +235,7 @@ private function initialize()
235235
$deprecated
236236
);
237237
}
238-
$operationNameValidator->logCountPascalCase();
238+
$operationNameValidator->summarize("metadata operation name");
239239
}
240240

241241
/**

src/Magento/FunctionalTestingFramework/Page/Handlers/PageObjectHandler.php

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,16 +55,14 @@ private function __construct()
5555
return;
5656
}
5757

58-
$pageNameCaseValidator = new NameValidationUtil(NameValidationUtil::TYPE_PAGE_NAME);
59-
$pageNamePatternValidator = new NameValidationUtil(NameValidationUtil::TYPE_PAGE);
58+
$pageNameValidator = new NameValidationUtil();
6059
foreach ($parserOutput as $pageName => $pageData) {
6160
if (preg_match('/[^a-zA-Z0-9_]/', $pageName)) {
6261
throw new XmlException(sprintf(self::NAME_BLACKLIST_ERROR_MSG, $pageName));
6362
}
6463

6564
$filename = $pageData[self::FILENAME] ?? null;
66-
$pageNameCaseValidator->validatePascalCase($pageName, $filename);
67-
$pageNamePatternValidator->validateNamePattern($pageName, $filename);
65+
$pageNameValidator->validatePageName($pageName, $filename);
6866
$area = $pageData[self::AREA] ?? null;
6967
$url = $pageData[self::URL] ?? null;
7068

@@ -87,8 +85,7 @@ private function __construct()
8785
$this->pageObjects[$pageName] =
8886
new PageObject($pageName, $url, $module, $sectionNames, $parameterized, $area, $filename, $deprecated);
8987
}
90-
$pageNameCaseValidator->logCountPascalCase();
91-
$pageNamePatternValidator->logCountPattern();
88+
$pageNameValidator->summarize("page name");
9289
}
9390

9491
/**

src/Magento/FunctionalTestingFramework/Page/Handlers/SectionObjectHandler.php

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,8 @@ private function __construct()
5858
return;
5959
}
6060

61-
$sectionNameCaseValidator = new NameValidationUtil(NameValidationUtil::TYPE_SECTION_NAME);
62-
$sectionNamePatternValidator = new NameValidationUtil(NameValidationUtil::TYPE_SECTION);
63-
$elementNameValidator = new NameValidationUtil(NameValidationUtil::TYPE_ELEMENT_NAME);
61+
$sectionNameValidator = new NameValidationUtil();
62+
$elementNameValidator = new NameValidationUtil();
6463
foreach ($parserOutput as $sectionName => $sectionData) {
6564
$elements = [];
6665

@@ -69,16 +68,15 @@ private function __construct()
6968
}
7069

7170
$filename = $sectionData[self::FILENAME] ?? null;
72-
$sectionNameCaseValidator->validatePascalCase($sectionName, $filename);
73-
$sectionNamePatternValidator->validateNamePattern($sectionName, $filename);
71+
$sectionNameValidator->validateSectionName($sectionName, $filename);
7472

7573
try {
7674
foreach ($sectionData[SectionObjectHandler::ELEMENT] as $elementName => $elementData) {
7775
if (preg_match('/[^a-zA-Z0-9_]/', $elementName)) {
7876
throw new XmlException(sprintf(self::ELEMENT_NAME_ERROR_MSG, $elementName, $sectionName));
7977
}
8078

81-
$elementNameValidator->validateCamelCase($elementName, $filename);
79+
$elementNameValidator->validateElementName($elementName, $filename);
8280
$elementType = $elementData[SectionObjectHandler::TYPE] ?? null;
8381
$elementSelector = $elementData[SectionObjectHandler::SELECTOR] ?? null;
8482
$elementLocatorFunc = $elementData[SectionObjectHandler::LOCATOR_FUNCTION] ?? null;
@@ -121,9 +119,8 @@ private function __construct()
121119
$sectionDeprecated
122120
);
123121
}
124-
$sectionNameCaseValidator->logCountPascalCase();
125-
$sectionNamePatternValidator->logCountPattern();
126-
$elementNameValidator->logCountCamelCase();
122+
$sectionNameValidator->summarize("section name");
123+
$elementNameValidator->summarize("element name");
127124
}
128125

129126
/**

src/Magento/FunctionalTestingFramework/Test/Handlers/ActionGroupObjectHandler.php

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
use Magento\FunctionalTestingFramework\Test\Parsers\ActionGroupDataParser;
1313
use Magento\FunctionalTestingFramework\Test\Util\ActionGroupObjectExtractor;
1414
use Magento\FunctionalTestingFramework\Test\Util\ObjectExtensionUtil;
15-
use Magento\FunctionalTestingFramework\Util\Logger\LoggingUtil;
1615
use Magento\FunctionalTestingFramework\Util\Validation\NameValidationUtil;
1716

1817
/**
@@ -112,11 +111,11 @@ private function initActionGroups()
112111
$actionGroupObjectExtractor = new ActionGroupObjectExtractor();
113112
$neededActionGroup = $parsedActionGroups[ActionGroupObjectHandler::ACTION_GROUP_ROOT];
114113

115-
$actionGroupNameValidator = new NameValidationUtil(NameValidationUtil::TYPE_ACTION_GROUP_NAME);
114+
$actionGroupNameValidator = new NameValidationUtil();
116115
foreach ($neededActionGroup as $actionGroupName => $actionGroupData) {
117116
if (!in_array($actionGroupName, ["nodeName", "xsi:noNamespaceSchemaLocation"])) {
118117
$filename = $actionGroupData[ActionGroupObjectHandler::ACTION_GROUP_FILENAME_ATTRIBUTE];
119-
$actionGroupNameValidator->validatePascalCase($actionGroupName, $filename);
118+
$actionGroupNameValidator->validateActionGroupName($actionGroupName, $filename);
120119
}
121120

122121
if (!is_array($actionGroupData)) {
@@ -126,7 +125,7 @@ private function initActionGroups()
126125
$this->actionGroups[$actionGroupName] =
127126
$actionGroupObjectExtractor->extractActionGroup($actionGroupData);
128127
}
129-
$actionGroupNameValidator->logCountPascalCase();
128+
$actionGroupNameValidator->summarize("action group name");
130129
}
131130

132131
/**

src/Magento/FunctionalTestingFramework/Test/Handlers/TestObjectHandler.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,10 +142,10 @@ private function initTestData()
142142
}
143143

144144
$exceptionCollector = new ExceptionCollector();
145-
$testNameValidator = new NameValidationUtil(NameValidationUtil::TYPE_TEST_NAME);
145+
$testNameValidator = new NameValidationUtil();
146146
foreach ($parsedTestArray as $testName => $testData) {
147147
$filename = $testData[TestObjectHandler::TEST_FILENAME_ATTRIBUTE];
148-
$testNameValidator->validatePascalCase($testName, $filename);
148+
$testNameValidator->validateTestName($testName, $filename);
149149
if (!is_array($testData)) {
150150
continue;
151151
}
@@ -156,7 +156,7 @@ private function initTestData()
156156
}
157157
}
158158
$exceptionCollector->throwException();
159-
$testNameValidator->logCountPascalCase();
159+
$testNameValidator->summarize("test name");
160160
$testObjectExtractor->getAnnotationExtractor()->validateStoryTitleUniqueness();
161161
$testObjectExtractor->getAnnotationExtractor()->validateTestCaseIdTitleUniqueness();
162162
}

0 commit comments

Comments
 (0)