function let(WebserviceGuesser $webserviceGuesser, FamilyMappingManager $familyMappingManager, AttributeMappingManager $attributeMappingManager, AttributeGroupMappingManager $attributeGroupMappingManager, Webservice $webservice, StepExecution $stepExecution, MagentoMappingMerger $magentoMappingMerger, MagentoSoapClientParametersRegistry $clientParametersRegistry, MagentoSoapClientParameters $clientParameters)
 {
     $clientParametersRegistry->getInstance(null, null, null, '/api/soap/?wsdl', 'default', null, null)->willReturn($clientParameters);
     $webserviceGuesser->getWebservice($clientParameters)->willReturn($webservice);
     $this->beConstructedWith($webserviceGuesser, $familyMappingManager, $attributeMappingManager, $attributeGroupMappingManager, $magentoMappingMerger, $clientParametersRegistry);
     $this->setStepExecution($stepExecution);
 }
 /**
  * Checks if the passed value is valid.
  *
  * @param \Akeneo\Bundle\BatchBundle\Item\AbstractConfigurableStepElement $protocol   Value to validate
  * @param Constraint                                                      $constraint Constraint for validation
  *
  * @api
  */
 public function validate($protocol, Constraint $constraint)
 {
     if (!$protocol instanceof MagentoItemStep) {
         return null;
     }
     $clientParameters = $this->clientParametersRegistry->getInstance($protocol->getSoapUsername(), $protocol->getSoapApiKey(), $protocol->getMagentoUrl(), $protocol->getWsdlUrl(), $protocol->getDefaultStoreView(), $protocol->getHttpLogin(), $protocol->getHttpPassword());
     if (null === $clientParameters->isValid() || false === $clientParameters->isValid()) {
         try {
             $xml = $this->urlExplorer->getUrlContent($clientParameters);
             $this->xmlChecker->checkXml($xml);
             $webservice = $this->webserviceGuesser->getWebservice($clientParameters);
             $webservice->getStoreViewsList();
             $clientParameters->setValidation(true);
         } catch (NotReachableUrlException $e) {
             $clientParameters->setValidation(false);
             $this->context->addViolationAt('wsdlUrl', $constraint->messageUrlNotReachable . ' "' . $e->getMessage() . '"');
         } catch (InvalidSoapUrlException $e) {
             $clientParameters->setValidation(false);
             $this->context->addViolationAt('wsdlUrl', $constraint->messageSoapNotValid . ' "' . $e->getMessage() . '"');
         } catch (InvalidXmlException $e) {
             $clientParameters->setValidation(false);
             $this->context->addViolationAt('wsdlUrl', $constraint->messageXmlNotValid);
         } catch (InvalidCredentialException $e) {
             $clientParameters->setValidation(false);
             $this->context->addViolationAt('soapUsername', $constraint->messageUsername);
         } catch (SoapCallException $e) {
             $clientParameters->setValidation(false);
             $this->context->addViolationAt('soapUsername', $e->getMessage());
         } catch (\Exception $e) {
             $clientParameters->setValidation(false);
             $this->context->addViolationAt('soapUsername', $e->getMessage());
         }
     }
 }
 function let(HasValidCredentialsValidator $hasValidCredentialsValidator, WebserviceGuesser $webserviceGuesser, Webservice $webservice, MagentoSoapClientParametersRegistry $clientParametersRegistry, MagentoSoapClientParameters $clientParameters)
 {
     $this->beConstructedWith($hasValidCredentialsValidator, $webserviceGuesser);
     $clientParametersRegistry->getInstance(null, null, null, '/api/soap/?wsdl', 'default', null, null)->willReturn($clientParameters);
     $webserviceGuesser->getWebservice($clientParameters)->willReturn($webservice);
     $this->setParameters($clientParameters, '');
 }
 function let(WebserviceGuesser $webserviceGuesser, Webservice $webservice, StepExecution $stepExecution, MagentoSoapClientParametersRegistry $clientParametersRegistry, MagentoSoapClientParameters $clientParameters)
 {
     $clientParametersRegistry->getInstance(null, null, null, '/api/soap/?wsdl', 'default', null, null)->willReturn($clientParameters);
     $webserviceGuesser->getWebservice($clientParameters)->willReturn($webservice);
     $this->beConstructedWith($webserviceGuesser, $clientParametersRegistry);
     $this->setStepExecution($stepExecution);
 }
 function let(MagentoSoapClientFactory $magentoSoapClientFactory, ChannelManager $channelManager, MediaManager $mediaManager, ProductValueNormalizer $productValueNormalizer, CategoryMappingManager $categoryMappingManager, AssociationTypeManager $associationTypeManager, AttributeNormalizer $attributeNormalizer, CategoryNormalizer $categoryNormalizer, FamilyNormalizer $familyNormalizer, OptionNormalizer $optionNormalizer, MagentoSoapClientParametersRegistry $clientParametersRegistry, MagentoSoapClientParameters $clientParameters, ExportableLocaleFilter $localeFilter)
 {
     $this->beConstructedWith($magentoSoapClientFactory, $channelManager, $mediaManager, $productValueNormalizer, $categoryMappingManager, $associationTypeManager, $attributeNormalizer, $categoryNormalizer, $familyNormalizer, $optionNormalizer, $localeFilter);
     $clientParametersRegistry->getInstance('soap_username', 'soap_api_key', 'http://magento.url', '/api/soap/?wsdl', 'default', null, null)->willReturn($clientParameters);
     $clientParameters->getSoapUrl()->willReturn('http://magento.url/api/soap/?wsdl');
     $clientParameters->getSoapUsername()->willReturn('soap_username');
     $clientParameters->getSoapApiKey()->willReturn('soap_api_key');
 }
 function let(MagentoSoapClientFactory $magentoSoapClientFactory, MagentoSoapClientParametersRegistry $clientParametersRegistry, MagentoSoapClientParameters $clientParameters)
 {
     $this->beConstructedWith($magentoSoapClientFactory);
     $clientParametersRegistry->getInstance('soap_username', 'soap_api_key', 'http://magento.url', '/api/soap/?wsdl', 'default', null, null)->willReturn($clientParameters);
     $clientParameters->getSoapUrl()->willReturn('http://magento.url/api/soap/?wsdl');
     $clientParameters->getSoapUsername()->willReturn('soap_username');
     $clientParameters->getSoapApiKey()->willReturn('soap_api_key');
 }
 function it_gives_a_configuration_field($mapper1, $mapper2, MagentoSoapClientParametersRegistry $clientParametersRegistry, MagentoSoapClientParameters $clientParameters)
 {
     $this->beConstructedWith([$mapper2, $mapper1], 'generic', 'export', true);
     $clientParametersRegistry->getInstance(null, null, null, '/api/soap/?wsdl', 'default', null, null)->willReturn($clientParameters);
     $mapper1->setParameters($clientParameters, 'default')->shouldBeCalled();
     $mapper2->setParameters($clientParameters, 'default')->shouldBeCalled();
     $this->setParameters($clientParameters, 'default');
     $mapper1->getAllSources()->willReturn(['id' => 'test', 'text' => 'Text3']);
     $mapper2->getAllSources()->willReturn(['id' => 'test', 'text' => 'Text4']);
     $mapper1->getAllTargets()->willReturn(['id' => 'test', 'text' => 'Text1']);
     $mapper2->getAllTargets()->willReturn(['id' => 'test', 'text' => 'Text2']);
     $this->getConfigurationField()->shouldReturn(['genericMapping' => ['type' => 'textarea', 'options' => ['required' => false, 'attr' => ['class' => 'mapping-field', 'data-sources' => '{"sources":{"id":"test","text":"Text4"}}', 'data-targets' => '{"targets":{"id":"test","text":"Text2"},"allowAddition":true}', 'data-name' => 'generic'], 'label' => 'pim_magento_connector.export.genericMapping.label', 'help' => 'pim_magento_connector.export.genericMapping.help']]]);
 }
 /**
  * Get the magento soap client parameters
  *
  * @return MagentoSoapClientParametersRegistry
  */
 protected function getClientParameters()
 {
     $this->clientParameters = $this->clientParametersRegistry->getInstance($this->soapUsername, $this->soapApiKey, $this->magentoUrl, $this->wsdlUrl, $this->defaultStoreView, $this->httpLogin, $this->httpPassword);
     return $this->clientParameters;
 }
 function let(HasValidCredentialsValidator $hasValidCredentialsValidator, SimpleMappingManager $simpleMappingManager, LocaleManager $localeManager, MagentoSoapClientParametersRegistry $clientParametersRegistry, MagentoSoapClientParameters $clientParameters)
 {
     $this->beConstructedWith($hasValidCredentialsValidator, $simpleMappingManager, 'storeview', $localeManager);
     $clientParametersRegistry->getInstance(null, null, null, '/api/soap/?wsdl', 'default', null, null)->willReturn($clientParameters);
     $this->setParameters($clientParameters, '');
 }
 function let(ClientInterface $client, MagentoSoapClientParametersRegistry $clientParametersRegistry, MagentoSoapClientParameters $clientParameters)
 {
     $this->beConstructedWith($client);
     $clientParametersRegistry->getInstance(null, null, null, null, null, null, null)->willReturn($clientParameters);
 }