99use Magento \FunctionalTestingFramework \DataGenerator \Objects \OperationElement ;
1010use Magento \FunctionalTestingFramework \DataGenerator \Parsers \OperationDefinitionParser ;
1111use Magento \FunctionalTestingFramework \DataGenerator \Util \OperationElementExtractor ;
12- use Magento \FunctionalTestingFramework \Exceptions \XmlException ;
1312use Magento \FunctionalTestingFramework \ObjectManager \ObjectHandlerInterface ;
1413use 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