/** * Test successful WSDL content generation. */ public function testDispatchWsdl() { $this->_mockGetParam(\Magento\Webapi\Model\Soap\Server::REQUEST_PARAM_WSDL, 1); $wsdl = 'Some WSDL content'; $this->_wsdlGeneratorMock->expects($this->any())->method('generate')->will($this->returnValue($wsdl)); $this->_soapController->dispatch($this->_requestMock); $this->assertEquals($wsdl, $this->_responseMock->getBody()); }
public function testDispatchInvalidWsdlRequest() { $params = [\Magento\Webapi\Model\Soap\Server::REQUEST_PARAM_WSDL => 1, 'param_1' => 'foo', 'param_2' => 'bar,']; $this->_mockGetParam(\Magento\Webapi\Model\Soap\Server::REQUEST_PARAM_WSDL, 1); $this->_requestMock->expects($this->once())->method('getParams')->will($this->returnValue($params)); $this->_errorProcessorMock->expects($this->any())->method('maskException')->will($this->returnValue(new \Magento\Framework\Webapi\Exception(__('message')))); $wsdl = 'Some WSDL content'; $this->_wsdlGeneratorMock->expects($this->any())->method('generate')->will($this->returnValue($wsdl)); $encoding = "utf-8"; $this->_soapServerMock->expects($this->any())->method('getApiCharset')->will($this->returnValue($encoding)); $this->_soapController->dispatch($this->_requestMock); $expectedMessage = <<<EXPECTED_MESSAGE <?xml version="1.0" encoding="{$encoding}"?> <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" > <env:Body> <env:Fault> <env:Code> <env:Value>env:Sender</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en">message</env:Text> </env:Reason> </env:Fault> </env:Body> </env:Envelope> EXPECTED_MESSAGE; $this->assertXmlStringEqualsXmlString($expectedMessage, $this->_responseMock->getBody()); }