Beispiel #1
0
 /**
  * Assert port node is present within service node.
  *
  * @param DOMElement $service
  */
 protected function _assertPortNode($service)
 {
     /** @var DOMElement $port */
     $port = $service->getElementsByTagName('port')->item(0);
     $this->assertNotNull($port, 'port node not found within service node.');
     $this->assertTrue($port->hasAttribute('name'));
     $this->assertEquals($this->_autoDiscover->getPortName($this->_resourceName), $port->getAttribute('name'));
     $bindingName = $this->_autoDiscover->getBindingName($this->_resourceName);
     $this->assertEquals(Wsdl::TYPES_NS . ':' . $bindingName, $port->getAttribute('binding'));
 }
Beispiel #2
0
 /**
  * Positive test case. Generate simple resource WSDL.
  *
  * @dataProvider generateDataProvider()
  */
 public function testGenerate($resourceName, $methodName, $interface)
 {
     $serviceDomMock = $this->_getDomElementMock();
     $this->_wsdlMock->expects($this->once())->method('addService')->will($this->returnValue($serviceDomMock));
     $portTypeDomMock = $this->_getDomElementMock();
     $portTypeName = $this->_autoDiscover->getPortTypeName($resourceName);
     $this->_wsdlMock->expects($this->once())->method('addPortType')->with($portTypeName)->will($this->returnValue($portTypeDomMock));
     $bindingDomMock = $this->_getDomElementMock();
     $bindingName = $this->_autoDiscover->getBindingName($resourceName);
     $this->_wsdlMock->expects($this->once())->method('addBinding')->with($bindingName, Wsdl::TYPES_NS . ':' . $portTypeName)->will($this->returnValue($bindingDomMock));
     $this->_wsdlMock->expects($this->once())->method('addSoapBinding')->with($bindingDomMock);
     $operationName = $this->_autoDiscover->getOperationName($resourceName, $methodName);
     $inputMessageName = $this->_autoDiscover->getInputMessageName($operationName);
     $outputMessageName = $this->_autoDiscover->getOutputMessageName($operationName);
     $this->_wsdlMock->expects($this->once())->method('addPortOperation')->with($portTypeDomMock, $operationName, Wsdl::TYPES_NS . ':' . $inputMessageName, Wsdl::TYPES_NS . ':' . $outputMessageName);
     $operationDomMock = $this->_getDomElementMock();
     $this->_wsdlMock->expects($this->once())->method('addBindingOperation')->with($bindingDomMock, $operationName, array('use' => 'literal'), array('use' => 'literal'), false, SOAP_1_2)->will($this->returnValue($operationDomMock));
     $this->_wsdlMock->expects($this->once())->method('addSoapOperation')->with($operationDomMock, $operationName, SOAP_1_2);
     $this->_wsdlMock->expects($this->once())->method('toXML');
     $requestedResources = array($resourceName => array('methods' => array($methodName => array('interface' => $interface, 'documentation' => 'test method A'))));
     $endpointUrl = 'http://magento.host/api/soap/';
     $this->_autoDiscover->generate($requestedResources, $endpointUrl);
 }