/** * The method provides the functionality to generate a new mocked response * @return A string value of the response */ private static String generateDefaultBody(final SoapOperationIdentifier operationResponseIdentifier){ final String prefix = "web"; return "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:" + prefix + "=\"" + operationResponseIdentifier.getNamespace() + "\">\n" + " <soapenv:Header/>\n" + " <soapenv:Body>\n" + " <" + prefix + ":" + operationResponseIdentifier.getName() + ">?</" + prefix + ":" + operationResponseIdentifier.getName() + ">\n" + " </soapenv:Body>\n" + "</soapenv:Envelope>"; } }
operationIdentifierFile.getNamespace().equalsIgnoreCase(operationIdentifier.getNamespace())) { return this.mapper.map(soapOperation, SoapOperation.class);
@Test public void testExtractSoapRequestNameWithoutBodyNamespace(){ final String requestBody = "<?xml version=\"1.0\"?>\n" + "<soap:Envelope\n" + "xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope/\">\n" + "<Body>\n" + " <GetPrice>\n" + " <Item>Apples</Item>\n" + " </GetPrice>\n" + "</Body>\n" + "</soap:Envelope> "; final SoapOperationIdentifier operationIdentifier = SoapUtility.extractSoapRequestName(requestBody); Assert.assertEquals("GetPrice", operationIdentifier.getName()); Assert.assertNull(operationIdentifier.getNamespace()); }
operationIdentifierFile.getNamespace().equalsIgnoreCase(operationIdentifier.getNamespace())) { return this.mapper.map(soapOperation, SoapOperation.class);
@Test public void testExtractSoapRequestNameWithoutSoapNamespaces(){ final String requestBody = "<?xml version=\"1.0\"?>\n" + "<Envelope>\n" + "<Body>\n" + " <GetPrice>\n" + " <Item>Apples</Item>\n" + " </GetPrice>\n" + "</Body>\n" + "</Envelope> "; final SoapOperationIdentifier operationIdentifier = SoapUtility.extractSoapRequestName(requestBody); Assert.assertEquals("GetPrice", operationIdentifier.getName()); Assert.assertNull(operationIdentifier.getNamespace()); }
@Test public void testExtractSoapRequestNameWithoutNamespaces(){ final String requestBody = "<?xml version=\"1.0\"?>\n" + "<soap:Envelope\n" + "xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope/\">\n" + "<soap:Body>\n" + " <GetPrice xmlns=\"http://www.w3schools.com/prices\">\n" + " <Item>Apples</Item>\n" + " </GetPrice>\n" + "</soap:Body>\n" + "</soap:Envelope> "; final SoapOperationIdentifier operationIdentifier = SoapUtility.extractSoapRequestName(requestBody); Assert.assertEquals("GetPrice", operationIdentifier.getName()); Assert.assertEquals("http://www.w3schools.com/prices", operationIdentifier.getNamespace()); }
@Test public void testExtractSoapRequestNameNamespacesInElement(){ final String requestBody = "<?xml version=\"1.0\"?>\n" + "<soap:Envelope\n" + "xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope/\">\n" + "<soap:Body>\n" + " <GetPrice>\n" + " <Item>Apples</Item>\n" + " </GetPrice>\n" + "</soap:Body>\n" + "</soap:Envelope> "; final SoapOperationIdentifier operationIdentifier = SoapUtility.extractSoapRequestName(requestBody); Assert.assertEquals("GetPrice", operationIdentifier.getName()); Assert.assertNull(operationIdentifier.getNamespace()); }
@Test public void testExtractSoapRequestName(){ final String requestBody = "<?xml version=\"1.0\"?>\n" + "<soap:Envelope\n" + "xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope/\"\n" + "soap:encodingStyle=\"http://www.w3.org/2003/05/soap-encoding\">\n" + "<soap:Body>\n" + " <m:GetPrice xmlns:m=\"http://www.w3schools.com/prices\">\n" + " <m:Item>Apples</m:Item>\n" + " </m:GetPrice>\n" + "</soap:Body>\n" + "</soap:Envelope> "; final SoapOperationIdentifier operationIdentifier = SoapUtility.extractSoapRequestName(requestBody); Assert.assertEquals("GetPrice", operationIdentifier.getName()); Assert.assertEquals("http://www.w3schools.com/prices", operationIdentifier.getNamespace()); }
@Test public void testExtractSoapSameNamespaceAndName(){ final String requestBody = "<?xml version=\"1.0\"?>\n" + "<soap:Envelope\n" + "xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope/\"\n" + "soap:encodingStyle=\"http://www.w3.org/2003/05/soap-encoding\">\n" + "<soap:Body>\n" + " <GetPrice xmlns:GetPrice=\"http://www.w3schools.com/prices\">\n" + " <m:Item>Apples</m:Item>\n" + " </GetPrice>\n" + "</soap:Body>\n" + "</soap:Envelope> "; final SoapOperationIdentifier operationIdentifier = SoapUtility.extractSoapRequestName(requestBody); Assert.assertEquals("GetPrice", operationIdentifier.getName()); Assert.assertNull(operationIdentifier.getNamespace()); }
private void verify(final SoapPort soapPort, final String name, final SoapVersion soapVersion){ Assert.assertEquals(name + ".Endpoint", soapPort.getName()); Assert.assertEquals(name + ".Endpoint", soapPort.getUri()); Assert.assertEquals(1, soapPort.getOperations().size()); SoapOperation soapOperation = soapPort.getOperations().get(0); Assert.assertEquals(name, soapOperation.getName()); Assert.assertEquals(SoapResponseStrategy.RANDOM, soapOperation.getResponseStrategy()); Assert.assertEquals(SoapOperationStatus.MOCKED, soapOperation.getStatus()); Assert.assertEquals(soapVersion, soapOperation.getSoapVersion()); Assert.assertEquals(HttpMethod.POST, soapOperation.getHttpMethod()); SoapOperationIdentifier operationIdentifier = soapOperation.getOperationIdentifier(); Assert.assertNotNull(operationIdentifier); Assert.assertEquals("Request", operationIdentifier.getName()); Assert.assertEquals("http://Services/ServiceExample/ServiceExample/1/Schema", operationIdentifier.getNamespace()); }