Skip to content

Commit b6c28b3

Browse files
author
Sergey Nezbritskiy
committed
Reduce cyclomatic complexity for OperationDefinitionObjectHandler::initialize method
1 parent db370cf commit b6c28b3

File tree

1 file changed

+38
-23
lines changed

1 file changed

+38
-23
lines changed

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

Lines changed: 38 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
use Magento\FunctionalTestingFramework\DataGenerator\Objects\OperationElement;
1010
use Magento\FunctionalTestingFramework\DataGenerator\Parsers\OperationDefinitionParser;
1111
use Magento\FunctionalTestingFramework\DataGenerator\Util\OperationElementExtractor;
12-
use Magento\FunctionalTestingFramework\Exceptions\XmlException;
1312
use Magento\FunctionalTestingFramework\ObjectManager\ObjectHandlerInterface;
1413
use Magento\FunctionalTestingFramework\ObjectManagerFactory;
1514

@@ -128,14 +127,12 @@ public function getOperationDefinition($operation, $dataType)
128127
* @return void
129128
* @throws \Exception
130129
*
131-
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
132130
* @SuppressWarnings(PHPMD.NPathComplexity)
133131
* @SuppressWarnings(PHPMD.UnusedPrivateMethod)
134132
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
135133
*/
136134
private function initialize()
137135
{
138-
//TODO: Reduce CyclomaticComplexity/NPathComplexity/Length of method, remove warning suppression.
139136
$objectManager = ObjectManagerFactory::getObjectManager();
140137
$parser = $objectManager->create(OperationDefinitionParser::class);
141138
$parserOutput = $parser->readOperationMetadata()[OperationDefinitionObjectHandler::ENTITY_OPERATION_ROOT_TAG];
@@ -149,29 +146,11 @@ private function initialize()
149146
$returnRegex = $opDefArray[OperationDefinitionObjectHandler::ENTITY_OPERATION_RETURN_REGEX] ?? null;
150147
$contentType = $opDefArray[OperationDefinitionObjectHandler::ENTITY_OPERATION_CONTENT_TYPE][0]['value']
151148
?? null;
152-
$headers = [];
153-
$params = [];
149+
$headers = $this->initializeHeaders($opDefArray);
150+
$params = $this->initializeParams($opDefArray);
154151
$operationElements = [];
155152
$removeBackend = $opDefArray[OperationDefinitionObjectHandler::ENTITY_OPERATION_BACKEND_REMOVE] ?? false;
156153

157-
if (array_key_exists(OperationDefinitionObjectHandler::ENTITY_OPERATION_HEADER, $opDefArray)) {
158-
foreach ($opDefArray[OperationDefinitionObjectHandler::ENTITY_OPERATION_HEADER] as $headerEntry) {
159-
if (isset($headerEntry[OperationDefinitionObjectHandler::ENTITY_OPERATION_HEADER_VALUE])
160-
&& $headerEntry[OperationDefinitionObjectHandler::ENTITY_OPERATION_HEADER_VALUE] !== 'none') {
161-
$headers[] = $headerEntry[OperationDefinitionObjectHandler::ENTITY_OPERATION_HEADER_PARAM]
162-
. ': '
163-
. $headerEntry[OperationDefinitionObjectHandler::ENTITY_OPERATION_HEADER_VALUE];
164-
}
165-
}
166-
}
167-
168-
if (array_key_exists(OperationDefinitionObjectHandler::ENTITY_OPERATION_URL_PARAM, $opDefArray)) {
169-
foreach ($opDefArray[OperationDefinitionObjectHandler::ENTITY_OPERATION_URL_PARAM] as $paramEntry) {
170-
$params[$paramEntry[OperationDefinitionObjectHandler::ENTITY_OPERATION_URL_PARAM_KEY]] =
171-
$paramEntry[OperationDefinitionObjectHandler::ENTITY_OPERATION_URL_PARAM_VALUE];
172-
}
173-
}
174-
175154
// extract relevant OperationObjects as OperationElements
176155
if (array_key_exists(OperationDefinitionObjectHandler::ENTITY_OPERATION_OBJECT, $opDefArray)) {
177156
foreach ($opDefArray[OperationDefinitionObjectHandler::ENTITY_OPERATION_OBJECT] as $opElementArray) {
@@ -241,4 +220,40 @@ private function initialize()
241220
);
242221
}
243222
}
223+
224+
/**
225+
* @param array $opDefArray
226+
* @return array
227+
*/
228+
private function initializeHeaders(array $opDefArray): array
229+
{
230+
$headers = [];
231+
if (array_key_exists(OperationDefinitionObjectHandler::ENTITY_OPERATION_HEADER, $opDefArray)) {
232+
foreach ($opDefArray[OperationDefinitionObjectHandler::ENTITY_OPERATION_HEADER] as $headerEntry) {
233+
if (isset($headerEntry[OperationDefinitionObjectHandler::ENTITY_OPERATION_HEADER_VALUE])
234+
&& $headerEntry[OperationDefinitionObjectHandler::ENTITY_OPERATION_HEADER_VALUE] !== 'none') {
235+
$headers[] = $headerEntry[OperationDefinitionObjectHandler::ENTITY_OPERATION_HEADER_PARAM]
236+
. ': '
237+
. $headerEntry[OperationDefinitionObjectHandler::ENTITY_OPERATION_HEADER_VALUE];
238+
}
239+
}
240+
}
241+
return $headers;
242+
}
243+
244+
/**
245+
* @param array $opDefArray
246+
* @return array
247+
*/
248+
private function initializeParams(array $opDefArray): array
249+
{
250+
$params = [];
251+
if (array_key_exists(OperationDefinitionObjectHandler::ENTITY_OPERATION_URL_PARAM, $opDefArray)) {
252+
foreach ($opDefArray[OperationDefinitionObjectHandler::ENTITY_OPERATION_URL_PARAM] as $paramEntry) {
253+
$params[$paramEntry[OperationDefinitionObjectHandler::ENTITY_OPERATION_URL_PARAM_KEY]] =
254+
$paramEntry[OperationDefinitionObjectHandler::ENTITY_OPERATION_URL_PARAM_VALUE];
255+
}
256+
}
257+
return $params;
258+
}
244259
}

0 commit comments

Comments
 (0)