diff --git a/maqs-utilities/src/main/java/com/cognizantsoftvision/maqs/utilities/helper/ConfigSection.java b/maqs-utilities/src/main/java/com/cognizantsoftvision/maqs/utilities/helper/ConfigSection.java
index c126b38ea..7f6b33261 100644
--- a/maqs-utilities/src/main/java/com/cognizantsoftvision/maqs/utilities/helper/ConfigSection.java
+++ b/maqs-utilities/src/main/java/com/cognizantsoftvision/maqs/utilities/helper/ConfigSection.java
@@ -55,6 +55,16 @@ public enum ConfigSection {
*/
SELENIUM_MAQS("SeleniumMaqs"),
+ /**
+ * The default soap namespace section.
+ */
+ SOAP_NAMESPACE_MAQS("SoapMaqsNameSpaces"),
+
+ /**
+ * The default soap maqs section.
+ */
+ SOAP_MAQS("SoapMaqs"),
+
/**
* The default web service section.
*/
diff --git a/maqs-webservices/config.xml b/maqs-webservices/config.xml
index 5965e957c..1cb56900b 100644
--- a/maqs-webservices/config.xml
+++ b/maqs-webservices/config.xml
@@ -42,4 +42,10 @@
127.0.0.1:8001
8080
+
+ soapenv
+
+
+ http://spring.io/guides/gs-producing-web-service
+
\ No newline at end of file
diff --git a/maqs-webservices/pom.xml b/maqs-webservices/pom.xml
index 5ff348461..b5ae3bff7 100644
--- a/maqs-webservices/pom.xml
+++ b/maqs-webservices/pom.xml
@@ -17,6 +17,13 @@
5.3.15
+ 2.13.2
+ 5.3.16
+
+ 1.1.1
+ 3.0.2
+ 2.4.0-b180830.0359
+ 1.3.5
@@ -57,5 +64,31 @@
spring-web
${spring.web.version}
+
+
+ javax.activation
+ activation
+ ${javax.activation.version}
+
+
+ org.glassfish.jaxb
+ jaxb-runtime
+ ${glassfish.jaxb.version}
+
+
+ org.glassfish.jaxb
+ jaxb-core
+ ${glassfish.jaxb.version}
+
+
+ javax.xml.bind
+ jaxb-api
+ ${jaxb.api.version}
+
+
+ javax.xml.soap
+ saaj-api
+ ${soap.saaj-api.version}
+
diff --git a/maqs-webservices/src/main/java/com/cognizantsoftvision/maqs/webservices/BaseWebServiceTest.java b/maqs-webservices/src/main/java/com/cognizantsoftvision/maqs/webservices/BaseWebServiceTest.java
index 8aed91778..ed6ce7e1c 100644
--- a/maqs-webservices/src/main/java/com/cognizantsoftvision/maqs/webservices/BaseWebServiceTest.java
+++ b/maqs-webservices/src/main/java/com/cognizantsoftvision/maqs/webservices/BaseWebServiceTest.java
@@ -7,7 +7,6 @@
import com.cognizantsoftvision.maqs.base.BaseExtendableTest;
import com.cognizantsoftvision.maqs.utilities.helper.StringProcessor;
import com.cognizantsoftvision.maqs.utilities.logging.Logger;
-import java.net.URI;
import java.net.URISyntaxException;
import java.net.http.HttpRequest;
import org.testng.ITestResult;
@@ -47,7 +46,7 @@ protected void beforeLoggingTeardown(ITestResult resultType) {
* @throws URISyntaxException when URI is incorrect
*/
protected WebServiceDriver getWebServiceClient() throws URISyntaxException {
- return new WebServiceDriver(HttpRequest.newBuilder(URI.create(WebServiceConfig.getWebServiceUri())));
+ return new WebServiceDriver(HttpRequest.newBuilder(WebServiceConfig.getWebServiceUri()));
}
/**
diff --git a/maqs-webservices/src/main/java/com/cognizantsoftvision/maqs/webservices/WebServiceConfig.java b/maqs-webservices/src/main/java/com/cognizantsoftvision/maqs/webservices/WebServiceConfig.java
index bfa07af29..920df224c 100644
--- a/maqs-webservices/src/main/java/com/cognizantsoftvision/maqs/webservices/WebServiceConfig.java
+++ b/maqs-webservices/src/main/java/com/cognizantsoftvision/maqs/webservices/WebServiceConfig.java
@@ -6,6 +6,7 @@
import com.cognizantsoftvision.maqs.utilities.helper.Config;
import com.cognizantsoftvision.maqs.utilities.helper.ConfigSection;
+import java.net.URI;
/**
* The Web Service Configuration class.
@@ -25,18 +26,27 @@ private WebServiceConfig() {
*
* @return A String containing the URI for the WebService to test
*/
- public static String getWebServiceUri() {
+ public static String getWebServiceURIString() {
return Config.getValueForSection(WEBSERVICE_SECTION, "WebServiceUri");
}
+ /**
+ * Grabs the URI for the Web Service.
+ *
+ * @return A String containing the URI for the WebService to test
+ */
+ public static URI getWebServiceUri() {
+ return URI.create(getWebServiceURIString());
+ }
+
/**
* Gets the expected time out in seconds.
*
* @return the Timeout value for the web service test, or -1 if none are configured
*/
public static int getWebServiceTimeOut() {
- return Integer
- .parseInt(Config.getValueForSection(WEBSERVICE_SECTION, "WebServiceTimeout", "-1"));
+ return Integer.parseInt(
+ Config.getValueForSection(WEBSERVICE_SECTION, "WebServiceTimeout", "-1"));
}
/**
@@ -63,7 +73,7 @@ public static String getProxyAddress() {
* @return The Proxy Port
*/
public static int getProxyPort() {
- return Integer
- .parseInt(Config.getValueForSection(WEBSERVICE_SECTION, "ProxyPort", "-1"));
+ return Integer.parseInt(
+ Config.getValueForSection(WEBSERVICE_SECTION, "ProxyPort", "-1"));
}
}
diff --git a/maqs-webservices/src/main/java/com/cognizantsoftvision/maqs/webservices/soap/BaseSoapWebServiceTest.java b/maqs-webservices/src/main/java/com/cognizantsoftvision/maqs/webservices/soap/BaseSoapWebServiceTest.java
new file mode 100644
index 000000000..8b286a75a
--- /dev/null
+++ b/maqs-webservices/src/main/java/com/cognizantsoftvision/maqs/webservices/soap/BaseSoapWebServiceTest.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright 2022 (C) Cognizant SoftVision, All rights Reserved
+ */
+
+package com.cognizantsoftvision.maqs.webservices.soap;
+
+import com.cognizantsoftvision.maqs.base.BaseExtendableTest;
+import com.cognizantsoftvision.maqs.utilities.helper.StringProcessor;
+import com.cognizantsoftvision.maqs.utilities.logging.Logger;
+import com.cognizantsoftvision.maqs.webservices.WebServiceConfig;
+import com.cognizantsoftvision.maqs.webservices.WebServiceTestObject;
+import java.net.URISyntaxException;
+import javax.xml.soap.SOAPException;
+import org.testng.ITestResult;
+
+/**
+ * The Base Soap Web Service Test class.
+ */
+public class BaseSoapWebServiceTest extends BaseExtendableTest {
+
+ /**
+ * Get the Web Service Driver.
+ *
+ * @return WebServiceDriver
+ */
+ public SoapWebServiceDriver getWebServiceDriver() {
+ return (SoapWebServiceDriver) this.getTestObject().getWebServiceDriver();
+ }
+
+ /**
+ * Set the webServiceDriver.
+ *
+ * @param webServiceDriver the webservice driver object
+ */
+ public void setWebServiceDriver(SoapWebServiceDriver webServiceDriver) {
+ this.getTestObject().setWebServiceDriver(webServiceDriver);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see com.cognizantsoftvision.maqs.utilities.BaseTest.BaseTest# beforeLoggingTeardown
+ * (org.testng.ITestResult)
+ */
+ @Override
+ protected void beforeLoggingTeardown(ITestResult resultType) {
+ // There is no logging tear-down required before
+ }
+
+ /**
+ * Gets new WebServiceDriver.
+ *
+ * @return WebServiceDriver
+ * @throws URISyntaxException when URI is incorrect
+ */
+ protected SoapWebServiceDriver getWebServiceClient() throws URISyntaxException, SOAPException {
+ return new SoapWebServiceDriver(WebServiceConfig.getWebServiceUri());
+ }
+
+ /**
+ * Creates a new test object.
+ */
+ @Override
+ protected void createNewTestObject() {
+ Logger logger = this.createLogger();
+ try {
+ WebServiceTestObject webServiceTestObject = new WebServiceTestObject(
+ this.getWebServiceClient(), logger, this.getFullyQualifiedTestClassName());
+ this.setTestObject(webServiceTestObject);
+ } catch (URISyntaxException | SOAPException e) {
+ getLogger().logMessage(StringProcessor.safeFormatter(
+ "Test Object could not be created: %s", e.getMessage()));
+ }
+ }
+}
diff --git a/maqs-webservices/src/main/java/com/cognizantsoftvision/maqs/webservices/soap/SoapConfig.java b/maqs-webservices/src/main/java/com/cognizantsoftvision/maqs/webservices/soap/SoapConfig.java
new file mode 100644
index 000000000..424a1f9b7
--- /dev/null
+++ b/maqs-webservices/src/main/java/com/cognizantsoftvision/maqs/webservices/soap/SoapConfig.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2022 (C) Cognizant SoftVision, All rights Reserved
+ */
+
+package com.cognizantsoftvision.maqs.webservices.soap;
+
+import com.cognizantsoftvision.maqs.utilities.helper.Config;
+import com.cognizantsoftvision.maqs.utilities.helper.ConfigSection;
+import java.util.Map;
+
+/**
+ * The Soap Config class.
+ */
+public final class SoapConfig {
+
+ private SoapConfig() {
+ }
+
+ /**
+ * Gets the Soap Prefix from the config file.
+ *
+ * @return the string of the soap prefix
+ */
+ public static String getSoapPrefix() {
+ return Config.getValueForSection(ConfigSection.SOAP_MAQS, "SoapPrefix");
+ }
+
+ /**
+ * Gets the Soap namespaces from the config.
+ *
+ * @return the Soap namespaces in a map format
+ */
+ public static Map getSoapNamespaces() {
+ return Config.getSection(ConfigSection.SOAP_NAMESPACE_MAQS);
+ }
+}
diff --git a/maqs-webservices/src/main/java/com/cognizantsoftvision/maqs/webservices/soap/SoapUtilities.java b/maqs-webservices/src/main/java/com/cognizantsoftvision/maqs/webservices/soap/SoapUtilities.java
new file mode 100644
index 000000000..169445567
--- /dev/null
+++ b/maqs-webservices/src/main/java/com/cognizantsoftvision/maqs/webservices/soap/SoapUtilities.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2022 (C) Cognizant SoftVision, All rights Reserved
+ */
+
+package com.cognizantsoftvision.maqs.webservices.soap;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.net.http.HttpResponse;
+import java.nio.charset.StandardCharsets;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.soap.MessageFactory;
+import javax.xml.soap.SOAPException;
+import javax.xml.soap.SOAPMessage;
+
+/**
+ * The Soap Utilities class.
+ */
+public class SoapUtilities {
+
+ private SoapUtilities() {
+
+ }
+
+ /**
+ * Gets the response Body as an Object.
+ *
+ * @param httpResponse the http response
+ * @param unMarshaller the unmarshaller for the soap process
+ * @return the response object
+ * @throws SOAPException if a SOAP exception is thrown
+ * @throws IOException if an IO exception is thrown
+ * @throws JAXBException if a JAXB exception is thrown
+ */
+ public static Object getResponseBodyAsObjects(HttpResponse httpResponse, Unmarshaller unMarshaller)
+ throws SOAPException, IOException, JAXBException {
+ SOAPMessage soapResp = MessageFactory.newInstance()
+ .createMessage(null, new ByteArrayInputStream(
+ httpResponse.body().getBytes(StandardCharsets.UTF_8)));
+ return unMarshaller.unmarshal(soapResp.getSOAPBody().extractContentAsDocument());
+ }
+}
diff --git a/maqs-webservices/src/main/java/com/cognizantsoftvision/maqs/webservices/soap/SoapWebServiceDriver.java b/maqs-webservices/src/main/java/com/cognizantsoftvision/maqs/webservices/soap/SoapWebServiceDriver.java
new file mode 100644
index 000000000..a33194d7a
--- /dev/null
+++ b/maqs-webservices/src/main/java/com/cognizantsoftvision/maqs/webservices/soap/SoapWebServiceDriver.java
@@ -0,0 +1,178 @@
+/*
+ * Copyright 2022 (C) Cognizant SoftVision, All rights Reserved
+ */
+
+package com.cognizantsoftvision.maqs.webservices.soap;
+
+import com.cognizantsoftvision.maqs.webservices.HttpClientFactory;
+import com.cognizantsoftvision.maqs.webservices.WebServiceDriver;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.StringReader;
+import java.net.URI;
+import java.net.http.HttpClient;
+import java.util.Map;
+import java.util.function.Consumer;
+import javax.xml.XMLConstants;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Marshaller;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.soap.SOAPEnvelope;
+import javax.xml.soap.SOAPException;
+import javax.xml.soap.SOAPMessage;
+import org.w3c.dom.Document;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+
+/**
+ * The Soap Web Service Driver class.
+ */
+public class SoapWebServiceDriver extends WebServiceDriver {
+
+ private final SOAPMessage soapMessage;
+ private JAXBContext jaxbContext;
+ private String baseAddress;
+
+ public SoapWebServiceDriver(SOAPMessage message, String baseAddress) {
+ super(HttpClientFactory.getDefaultClient());
+ this.baseAddress = baseAddress;
+ this.soapMessage = message;
+ }
+
+ public SoapWebServiceDriver(URI baseAddress) throws SOAPException {
+ super(HttpClientFactory.getDefaultClient());
+ this.baseAddress = baseAddress.toString();
+ this.soapMessage = SoapWebServiceDriverFactory.getDefaultMessage();
+ }
+
+ public SoapWebServiceDriver(HttpClient newHttpClient, SOAPMessage message) {
+ super(newHttpClient);
+ soapMessage = message;
+ }
+
+
+ public String getDefaultSoapMessage(String outputStream)
+ throws SOAPException, ParserConfigurationException, SAXException, IOException {
+ modifySoapPrefix();
+ addNameSpaceCollectionToMessage(SoapConfig.getSoapNamespaces());
+ addStringToBody(outputStream);
+ return getSoapBodyString();
+ }
+
+ public String getSoapBodyString() throws SOAPException, IOException {
+ return getSoapBodyString(soapMessage);
+ }
+
+ public String getSoapBodyString(SOAPMessage message) throws SOAPException, IOException {
+ message.saveChanges();
+ OutputStream messageOutputStream = new ByteArrayOutputStream();
+ message.writeTo(messageOutputStream);
+ return messageOutputStream.toString();
+ }
+
+ public String getSoapBodyStringEntity() throws IOException, SOAPException {
+ return getSoapBodyString();
+ }
+
+ public void addStringToBody(String outputStream)
+ throws ParserConfigurationException, SAXException, IOException, SOAPException {
+ addStringToBody(outputStream, soapMessage);
+ }
+
+ public void addStringToBody(String outputStream, SOAPMessage message)
+ throws ParserConfigurationException, SAXException, IOException, SOAPException {
+ Document document = getDocument(outputStream);
+ message.getSOAPBody().addDocument(document);
+ }
+
+ public void addNameSpaceToMessage(String key, String value) throws SOAPException {
+ addNameSpaceToMessage(soapMessage.getSOAPPart().getEnvelope(), key, value);
+ }
+
+ public void addNameSpaceToMessage(SOAPEnvelope envelope, String key, String value) throws SOAPException {
+ envelope.addNamespaceDeclaration(key, value);
+ }
+
+ public void addNameSpaceCollectionToMessage(Map map) throws SOAPException {
+ addNameSpaceCollectionToMessage(soapMessage.getSOAPPart().getEnvelope(), map);
+ }
+
+ public void addNameSpaceCollectionToMessage(SOAPEnvelope envelope, Map map) {
+ Consumer consumer = key -> {
+ String value = map.get(key);
+ try {
+ addNameSpaceToMessage(envelope, key, value);
+ } catch (SOAPException e) {
+ e.printStackTrace();
+ }
+ };
+ map.keySet().stream().iterator().forEachRemaining(consumer);
+ }
+
+ public String createSoapPayload(T object) throws JAXBException, IOException {
+ OutputStream outputStream = new ByteArrayOutputStream();
+ Marshaller marshaller = getMarshaller(object);
+ marshaller.marshal(object, outputStream);
+ outputStream.flush();
+ outputStream.close();
+ return outputStream.toString();
+ }
+
+ public Marshaller getMarshaller(T object) throws JAXBException {
+ jaxbContext = JAXBContext.newInstance(object.getClass().getPackage().getName());
+ return getCachedMarshaller();
+ }
+
+ public Marshaller getCachedMarshaller() throws JAXBException {
+ Marshaller marshaller = jaxbContext.createMarshaller();
+ marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
+ return marshaller;
+ }
+
+ public Unmarshaller getUnMarshaller(T object) throws JAXBException {
+ jaxbContext = JAXBContext.newInstance(object.getClass().getPackage().getName());
+ return getCachedUnMarshaller();
+ }
+
+ public Unmarshaller getCachedUnMarshaller() throws JAXBException {
+ return jaxbContext.createUnmarshaller();
+ }
+
+ private Document getDocument(String bodyContent) throws ParserConfigurationException, SAXException, IOException {
+ DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
+ documentBuilderFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
+ documentBuilderFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_SCHEMA, ""); // compliant
+ documentBuilderFactory.setNamespaceAware(true);
+ DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
+ return documentBuilder.parse(new InputSource(new StringReader(bodyContent)));
+ }
+
+ private SOAPEnvelope modifySoapPrefix() throws SOAPException {
+ return modifySoapPrefix(SoapConfig.getSoapPrefix());
+ }
+
+ private SOAPEnvelope modifySoapPrefix(String prefix) throws SOAPException {
+ return modifySoapPrefix(
+ soapMessage.getSOAPPart().getEnvelope(), prefix, "http://schemas.xmlsoap.org/soap/envelope/");
+ }
+
+ private SOAPEnvelope modifySoapPrefix(SOAPEnvelope envelope, String prefix, String url) throws SOAPException {
+ envelope.removeNamespaceDeclaration(envelope.getPrefix());
+ addNameSpaceToMessage(envelope, prefix, url);
+ envelope.setPrefix(prefix);
+ envelope.getBody().setPrefix(prefix);
+ envelope.getHeader().setPrefix(prefix);
+ return envelope;
+ }
+
+ public void addObjectToSoapMessage(T object)
+ throws JAXBException, IOException, SOAPException, SAXException, ParserConfigurationException {
+ String soapPayload = createSoapPayload(object);
+ addStringToBody(soapPayload);
+ }
+}
\ No newline at end of file
diff --git a/maqs-webservices/src/main/java/com/cognizantsoftvision/maqs/webservices/soap/SoapWebServiceDriverFactory.java b/maqs-webservices/src/main/java/com/cognizantsoftvision/maqs/webservices/soap/SoapWebServiceDriverFactory.java
new file mode 100644
index 000000000..5e1fe685b
--- /dev/null
+++ b/maqs-webservices/src/main/java/com/cognizantsoftvision/maqs/webservices/soap/SoapWebServiceDriverFactory.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2022 (C) Cognizant SoftVision, All rights Reserved
+ */
+
+package com.cognizantsoftvision.maqs.webservices.soap;
+
+import com.cognizantsoftvision.maqs.webservices.WebServiceConfig;
+import java.util.HashMap;
+import java.util.function.Consumer;
+import javax.xml.soap.MessageFactory;
+import javax.xml.soap.SOAPEnvelope;
+import javax.xml.soap.SOAPException;
+import javax.xml.soap.SOAPMessage;
+
+/**
+ * The Soap Web Service Driver Factory class.
+ */
+public class SoapWebServiceDriverFactory {
+
+ private SoapWebServiceDriverFactory() {
+ }
+
+ public static SOAPMessage getDefaultMessage() throws SOAPException {
+ SOAPMessage message = MessageFactory.newInstance().createMessage();
+ SOAPEnvelope envelope = message.getSOAPPart().getEnvelope();
+
+ if (!SoapConfig.getSoapPrefix().isEmpty()) {
+ modifySoapPrefix(envelope);
+ }
+
+ if (!SoapConfig.getSoapNamespaces().isEmpty()) {
+ addNameSpaceCollectionToMessage(envelope, (HashMap) SoapConfig.getSoapNamespaces());
+ }
+ return message;
+ }
+
+ public static SoapWebServiceDriver getDefaultSoapDriver() throws SOAPException {
+ return new SoapWebServiceDriver(getDefaultMessage(), WebServiceConfig.getWebServiceURIString());
+ }
+
+ protected static SOAPEnvelope modifySoapPrefix(SOAPEnvelope envelope) throws SOAPException {
+ envelope.removeNamespaceDeclaration(envelope.getPrefix());
+ addNameSpaceToMessage(envelope, SoapConfig.getSoapPrefix(), "http://schemas.xmlsoap.org/soap/envelope/");
+ envelope.setPrefix(SoapConfig.getSoapPrefix());
+ envelope.getBody().setPrefix(SoapConfig.getSoapPrefix());
+ envelope.getHeader().setPrefix(SoapConfig.getSoapPrefix());
+ return envelope;
+ }
+
+ protected static void addNameSpaceCollectionToMessage(SOAPEnvelope envelope, HashMap map) {
+ Consumer consumer = key -> {
+ String value = map.get(key);
+ try {
+ addNameSpaceToMessage(envelope, key, value);
+ } catch (SOAPException e) {
+ e.printStackTrace();
+ }
+ };
+ map.keySet().stream().iterator().forEachRemaining(consumer);
+ }
+
+ public static void addNameSpaceToMessage(SOAPEnvelope envelope, String key, String value) throws SOAPException {
+ envelope.addNamespaceDeclaration(key, value);
+ }
+}
diff --git a/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceConfigUnitTest.java b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceConfigUnitTest.java
index f30240a11..ab30481c8 100644
--- a/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceConfigUnitTest.java
+++ b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceConfigUnitTest.java
@@ -6,9 +6,12 @@
package com.cognizantsoftvision.maqs.webservices;
import com.cognizantsoftvision.maqs.utilities.helper.TestCategories;
+import java.net.URI;
+import java.net.URISyntaxException;
import org.testng.Assert;
import org.testng.annotations.Test;
+
/**
* The Web Service Config unit test class.
*/
@@ -18,9 +21,9 @@ public class WebServiceConfigUnitTest {
* gets if proxy can be used.
*/
@Test(groups = TestCategories.WEB_SERVICE)
- public void getWebServiceUri() {
+ public void getWebServiceUri() throws URISyntaxException {
Assert.assertEquals(WebServiceConfig.getWebServiceUri(),
- "http://localhost:5026", "the web service URI does not match");
+ new URI("http://localhost:5026"), "the web service URI does not match");
}
/**
diff --git a/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceDriverManagerUnitTest.java b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceDriverManagerUnitTest.java
index 659d2ff4c..40bb738fa 100644
--- a/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceDriverManagerUnitTest.java
+++ b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceDriverManagerUnitTest.java
@@ -7,6 +7,7 @@
import com.cognizantsoftvision.maqs.base.BaseGenericTest;
import com.cognizantsoftvision.maqs.utilities.helper.TestCategories;
import java.net.URI;
+import java.net.URISyntaxException;
import java.net.http.HttpRequest;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -23,7 +24,7 @@ public class WebServiceDriverManagerUnitTest extends BaseGenericTest {
@Test(groups = TestCategories.WEB_SERVICE)
public void getWebServiceDriverWithSupplierTest() {
WebServiceDriver webServiceDriver = new WebServiceDriver(
- HttpRequest.newBuilder(URI.create(WebServiceConfig.getWebServiceUri())));
+ HttpRequest.newBuilder(WebServiceConfig.getWebServiceUri()));
webServiceDriver.setHttpClient(webServiceDriver.getHttpClient());
try (WebServiceDriverManager driverManager = new WebServiceDriverManager(
@@ -39,7 +40,7 @@ public void getWebServiceDriverWithSupplierTest() {
@Test(groups = TestCategories.WEB_SERVICE)
public void getWebServiceDriverTest() {
WebServiceDriver webServiceDriver = new WebServiceDriver(
- HttpRequest.newBuilder(URI.create(WebServiceConfig.getWebServiceUri())));
+ HttpRequest.newBuilder(WebServiceConfig.getWebServiceUri()));
try (WebServiceDriverManager driverManager = new WebServiceDriverManager(webServiceDriver, this.getTestObject())) {
Assert.assertNotNull(driverManager.getWebServiceDriver(), "Expected Web Service Driver to not be null");
}
@@ -53,7 +54,7 @@ public void getWebServiceDriverTest() {
@Test(groups = TestCategories.WEB_SERVICE)
public void getWebServiceDriverNullDriver() {
WebServiceDriver webServiceDriver = new WebServiceDriver(
- HttpRequest.newBuilder(URI.create(WebServiceConfig.getWebServiceUri())));
+ HttpRequest.newBuilder(WebServiceConfig.getWebServiceUri()));
try (WebServiceDriverManager driverManager = new WebServiceDriverManager(webServiceDriver, this.getTestObject())) {
// Set the Driver to be null then check Get Web Service Driver creates default Driver.
driverManager.overrideDriver(null);
@@ -69,7 +70,7 @@ public void getWebServiceDriverNullDriver() {
@Test(groups = TestCategories.WEB_SERVICE)
public void overrideWebServiceDriverTest() {
WebServiceDriver webServiceDriver = new WebServiceDriver(
- HttpRequest.newBuilder(URI.create(WebServiceConfig.getWebServiceUri())));
+ HttpRequest.newBuilder(WebServiceConfig.getWebServiceUri()));
WebServiceDriver webServiceDriver2 = new WebServiceDriver(
HttpRequest.newBuilder(URI.create("http://www.google.com/")));
@@ -88,7 +89,7 @@ public void overrideWebServiceDriverTest() {
@Test(groups = TestCategories.WEB_SERVICE)
public void closeWebServiceDriverTest() {
WebServiceDriver webServiceDriver = new WebServiceDriver(
- HttpRequest.newBuilder(URI.create(WebServiceConfig.getWebServiceUri())));
+ HttpRequest.newBuilder(WebServiceConfig.getWebServiceUri()));
WebServiceDriverManager driverManager = new WebServiceDriverManager(webServiceDriver, this.getTestObject());
driverManager.close();
diff --git a/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceDriverRequestUnitTest/WebServiceDriverDeleteUnitTest.java b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceDriverRequestUnitTest/WebServiceDriverDeleteUnitTest.java
index bd1579427..377b5c4bd 100644
--- a/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceDriverRequestUnitTest/WebServiceDriverDeleteUnitTest.java
+++ b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceDriverRequestUnitTest/WebServiceDriverDeleteUnitTest.java
@@ -28,7 +28,7 @@ public class WebServiceDriverDeleteUnitTest {
/**
* String to hold the URL.
*/
- private static final String baseUrl = WebServiceConfig.getWebServiceUri();
+ private static final String baseUrl = WebServiceConfig.getWebServiceURIString();
/**
* The web service driver to be used in a test.
diff --git a/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceDriverRequestUnitTest/WebServiceDriverGetUnitTest.java b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceDriverRequestUnitTest/WebServiceDriverGetUnitTest.java
index 6918492cd..9c18079e2 100644
--- a/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceDriverRequestUnitTest/WebServiceDriverGetUnitTest.java
+++ b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceDriverRequestUnitTest/WebServiceDriverGetUnitTest.java
@@ -26,7 +26,7 @@ public class WebServiceDriverGetUnitTest {
/**
* String to hold the URL.
*/
- private static final String baseUrl = WebServiceConfig.getWebServiceUri();
+ private static final String baseUrl = WebServiceConfig.getWebServiceURIString();
/**
* The web service driver to be used in a test.
diff --git a/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceDriverRequestUnitTest/WebServiceDriverPatchUnitTest.java b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceDriverRequestUnitTest/WebServiceDriverPatchUnitTest.java
index 7a8afaa45..a837818b2 100644
--- a/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceDriverRequestUnitTest/WebServiceDriverPatchUnitTest.java
+++ b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceDriverRequestUnitTest/WebServiceDriverPatchUnitTest.java
@@ -27,7 +27,7 @@ public class WebServiceDriverPatchUnitTest {
/**
* String to hold the URL.
*/
- private static final String baseUrl = WebServiceConfig.getWebServiceUri();
+ private static final String baseUrl = WebServiceConfig.getWebServiceURIString();
/**
* Product object to be used in a test.
diff --git a/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceDriverRequestUnitTest/WebServiceDriverPostUnitTest.java b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceDriverRequestUnitTest/WebServiceDriverPostUnitTest.java
index e56cdac2f..9805428dc 100644
--- a/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceDriverRequestUnitTest/WebServiceDriverPostUnitTest.java
+++ b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceDriverRequestUnitTest/WebServiceDriverPostUnitTest.java
@@ -27,7 +27,7 @@ public class WebServiceDriverPostUnitTest {
/**
* String to hold the URL.
*/
- private static final String baseUrl = WebServiceConfig.getWebServiceUri();
+ private static final String baseUrl = WebServiceConfig.getWebServiceURIString();
/**
* Product object to be used in a test.
diff --git a/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceDriverRequestUnitTest/WebServiceDriverPutUnitTest.java b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceDriverRequestUnitTest/WebServiceDriverPutUnitTest.java
index 4372b1373..676bb1849 100644
--- a/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceDriverRequestUnitTest/WebServiceDriverPutUnitTest.java
+++ b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceDriverRequestUnitTest/WebServiceDriverPutUnitTest.java
@@ -26,7 +26,7 @@ public class WebServiceDriverPutUnitTest {
/**
* String to hold the URL.
*/
- private static final String baseUrl = WebServiceConfig.getWebServiceUri();
+ private static final String baseUrl = WebServiceConfig.getWebServiceURIString();
/**
* The full put url with the base URL
diff --git a/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceTestObjectUnitTest.java b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceTestObjectUnitTest.java
index ea268ccbf..0cbe11ea7 100644
--- a/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceTestObjectUnitTest.java
+++ b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceTestObjectUnitTest.java
@@ -6,7 +6,6 @@
import com.cognizantsoftvision.maqs.base.BaseGenericTest;
import com.cognizantsoftvision.maqs.utilities.helper.TestCategories;
-import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.util.function.Supplier;
@@ -129,6 +128,6 @@ private Supplier getHttpClientSupplier() {
* @return a web service driver.
*/
private WebServiceDriver getWebServiceDriver() {
- return new WebServiceDriver(HttpRequest.newBuilder(URI.create(WebServiceConfig.getWebServiceUri())));
+ return new WebServiceDriver(HttpRequest.newBuilder(WebServiceConfig.getWebServiceUri()));
}
}
diff --git a/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceUtilitiesUnitTest.java b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceUtilitiesUnitTest.java
index 3cf51a4f1..38e7d06b7 100644
--- a/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceUtilitiesUnitTest.java
+++ b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/WebServiceUtilitiesUnitTest.java
@@ -26,7 +26,7 @@ public class WebServiceUtilitiesUnitTest extends BaseWebServiceTest {
/**
* String to hold the URL.
*/
- private static final String baseUrl = WebServiceConfig.getWebServiceUri();
+ private static final String baseUrl = WebServiceConfig.getWebServiceURIString();
/**
* Tests the functionality of the Get Response body.
diff --git a/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/soap/BaseSoapWebServiceUnitTest.java b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/soap/BaseSoapWebServiceUnitTest.java
new file mode 100644
index 000000000..0b5d3b36d
--- /dev/null
+++ b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/soap/BaseSoapWebServiceUnitTest.java
@@ -0,0 +1,43 @@
+package com.cognizantsoftvision.maqs.webservices.soap;
+
+import com.cognizantsoftvision.maqs.utilities.helper.TestCategories;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+/**
+ * The Base Soap Web Service unit test class.
+ */
+public class BaseSoapWebServiceUnitTest extends BaseSoapWebServiceTest {
+
+ /**
+ * Test getting the web service driver.
+ */
+ @Test(groups = TestCategories.WEB_SERVICE)
+ public void testGetSoapWebServiceDriver() {
+ Assert.assertNotNull(this.getWebServiceDriver());
+ }
+
+ /**
+ * Test getting the web service Test Object.
+ */
+ @Test(groups = TestCategories.WEB_SERVICE)
+ public void testGetSoapWebServiceTestObject() {
+ Assert.assertNotNull(this.getTestObject());
+ }
+
+ /**
+ * Tests setting the web service driver.
+ */
+ @Test(groups = TestCategories.WEB_SERVICE)
+ public void testSetSoapWebServiceDriver() {
+ int hashCode = this.getWebServiceDriver().hashCode();
+
+ try {
+ this.setWebServiceDriver(this.getWebServiceClient());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ int hashCode1 = this.getWebServiceDriver().hashCode();
+ Assert.assertNotEquals(hashCode, hashCode1);
+ }
+}
diff --git a/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/soap/SoapConfigUnitTest.java b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/soap/SoapConfigUnitTest.java
new file mode 100644
index 000000000..982f31251
--- /dev/null
+++ b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/soap/SoapConfigUnitTest.java
@@ -0,0 +1,28 @@
+package com.cognizantsoftvision.maqs.webservices.soap;
+
+import java.util.Collections;
+import java.util.Map;
+
+import com.cognizantsoftvision.maqs.utilities.helper.TestCategories;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+/**
+ * The Soap Utilities unit test class.
+ */
+public class SoapConfigUnitTest {
+
+ @Test(groups = TestCategories.WEB_SERVICE)
+ public void getSoapPrefix() {
+ Assert.assertEquals(SoapConfig.getSoapPrefix(),
+ "soapenv", "the SOAP Prefixes does not match");
+ }
+
+ @Test(groups = TestCategories.WEB_SERVICE)
+ public void getSoapNamespaces() {
+ Map namespaces =
+ Collections.singletonMap("gs", "http://spring.io/guides/gs-producing-web-service");
+ Assert.assertEquals(SoapConfig.getSoapNamespaces(),
+ namespaces , "The SOAP Namespaces do not matche");
+ }
+}
diff --git a/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/soap/SoapUtilitiesUnitTest.java b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/soap/SoapUtilitiesUnitTest.java
new file mode 100644
index 000000000..d88030ba4
--- /dev/null
+++ b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/soap/SoapUtilitiesUnitTest.java
@@ -0,0 +1,33 @@
+package com.cognizantsoftvision.maqs.webservices.soap;
+
+import com.cognizantsoftvision.maqs.utilities.helper.TestCategories;
+import com.cognizantsoftvision.maqs.webservices.MediaType;
+import com.cognizantsoftvision.maqs.webservices.WebServiceConfig;
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.net.http.HttpResponse;
+import javax.xml.bind.JAXBException;
+import javax.xml.soap.SOAPException;
+import org.springframework.http.HttpStatus;
+import org.testng.annotations.Test;
+
+/**
+ * The Soap Utilities unit test class.
+ */
+public class SoapUtilitiesUnitTest {
+
+ /**
+ * String to hold the URL.
+ */
+ private static final String baseUrl = WebServiceConfig.getWebServiceURIString();
+
+ @Test(groups = TestCategories.WEB_SERVICE)
+ public void getResponseBodyAsObjects()
+ throws SOAPException, IOException, InterruptedException, JAXBException {
+ SoapWebServiceDriver driver = new SoapWebServiceDriver(WebServiceConfig.getWebServiceUri());
+ HttpResponse res = driver.get(
+ baseUrl + "/api/XML_JSON/GetAllProducts", MediaType.APP_XML, HttpStatus.OK);
+
+ SoapUtilities.getResponseBodyAsObjects(res, driver.getCachedUnMarshaller());
+ }
+}
diff --git a/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/soap/SoapWebServiceDriverFactoryUnitTest.java b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/soap/SoapWebServiceDriverFactoryUnitTest.java
new file mode 100644
index 000000000..3c1c993a7
--- /dev/null
+++ b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/soap/SoapWebServiceDriverFactoryUnitTest.java
@@ -0,0 +1,22 @@
+package com.cognizantsoftvision.maqs.webservices.soap;
+
+import com.cognizantsoftvision.maqs.utilities.helper.TestCategories;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+import javax.xml.soap.SOAPException;
+
+/**
+ * The Soap Web Service Driver Factory unit test class.
+ */
+public class SoapWebServiceDriverFactoryUnitTest {
+
+ @Test(groups = TestCategories.WEB_SERVICE)
+ public void getDefaultMessage() throws SOAPException {
+ Assert.assertNotNull(SoapWebServiceDriverFactory.getDefaultMessage());
+ }
+
+ @Test(groups = TestCategories.WEB_SERVICE)
+ public void getDefaultSoapDriver() throws SOAPException {
+ Assert.assertNotNull(SoapWebServiceDriverFactory.getDefaultSoapDriver());
+ }
+}
diff --git a/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/soap/SoapWebServiceDriverUnitTest.java b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/soap/SoapWebServiceDriverUnitTest.java
new file mode 100644
index 000000000..3ada2a77a
--- /dev/null
+++ b/maqs-webservices/src/test/java/com/cognizantsoftvision/maqs/webservices/soap/SoapWebServiceDriverUnitTest.java
@@ -0,0 +1,55 @@
+package com.cognizantsoftvision.maqs.webservices.soap;
+
+import com.cognizantsoftvision.maqs.utilities.helper.TestCategories;
+import com.cognizantsoftvision.maqs.webservices.WebServiceConfig;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+import org.xml.sax.SAXException;
+import java.io.IOException;
+import javax.xml.bind.JAXBException;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.soap.SOAPException;
+
+/**
+ * The Soap Web Service Driver unit test class.
+ */
+public class SoapWebServiceDriverUnitTest extends BaseSoapWebServiceTest {
+
+ @Test(groups = TestCategories.WEB_SERVICE)
+ public void getDefaultSoapMessage()
+ throws SOAPException, ParserConfigurationException, IOException,
+ SAXException {
+ SoapWebServiceDriver driver = new SoapWebServiceDriver(WebServiceConfig.getWebServiceUri());
+ Assert.assertNotNull(driver.getDefaultSoapMessage("Test String"));
+ }
+
+ @Test(groups = TestCategories.WEB_SERVICE)
+ public void getSoapBodyStringEntity()
+ throws SOAPException, ParserConfigurationException, IOException,
+ SAXException {
+ SoapWebServiceDriver driver = new SoapWebServiceDriver(WebServiceConfig.getWebServiceUri());
+ Assert.assertNotNull(driver.getDefaultSoapMessage("Test String"));
+ Assert.assertNotNull(driver.getSoapBodyStringEntity());
+ }
+
+ @Test(groups = TestCategories.WEB_SERVICE)
+ public void addNameSpaceToMessage() throws SOAPException {
+ SoapWebServiceDriver driver = new SoapWebServiceDriver(WebServiceConfig.getWebServiceUri());
+ driver.addNameSpaceToMessage("Test", "Value");
+ }
+
+ @Test(groups = TestCategories.WEB_SERVICE)
+ public void getUnMarshaller() throws SOAPException, JAXBException {
+ SoapWebServiceDriver driver = new SoapWebServiceDriver(WebServiceConfig.getWebServiceUri());
+ Assert.assertNotNull(driver.getUnMarshaller("Test"));
+ }
+
+ @Test(groups = TestCategories.WEB_SERVICE)
+ public void addObjectToSoapMessage()
+ throws JAXBException, SOAPException, IOException,
+ ParserConfigurationException, SAXException {
+ SoapWebServiceDriver driver = new SoapWebServiceDriver(WebServiceConfig.getWebServiceUri());
+ driver.addObjectToSoapMessage("Test String");
+ Assert.assertEquals(driver.getSoapBodyString(), "Test String");
+ }
+}