| /* |
| * Copyright 2004,2005 The Apache Software Foundation. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package test.interop.whitemesa.round2; |
| |
| import org.apache.axis2.AxisFault; |
| import org.apache.axiom.soap.SOAPEnvelope; |
| import org.apache.commons.logging.Log; |
| import org.apache.commons.logging.LogFactory; |
| |
| import test.interop.whitemesa.SunClient; |
| import test.interop.whitemesa.SunClientUtil; |
| import test.interop.whitemesa.WhiteMesaIneterop; |
| import test.interop.whitemesa.WhiteMesaConstants; |
| import test.interop.whitemesa.round2.util.GroupbEcho2DStringArrayUtil; |
| import test.interop.whitemesa.round2.util.GroupbEchoNestedArrayUtil; |
| import test.interop.whitemesa.round2.util.GroupbEchoNestedStructUtil; |
| import test.interop.whitemesa.round2.util.GroupbEchoSimpleTypesAsStructUtil; |
| import test.interop.whitemesa.round2.util.GroupbEchoStructAsSimpleTypesUtil; |
| import test.interop.whitemesa.round2.util.Round2EchoBase64ClientUtil; |
| import test.interop.whitemesa.round2.util.Round2EchoBooleanClientUtil; |
| import test.interop.whitemesa.round2.util.Round2EchoDateClientUtil; |
| import test.interop.whitemesa.round2.util.Round2EchoDecimalClientUtil; |
| import test.interop.whitemesa.round2.util.Round2EchoFloatArrayClientUtil; |
| import test.interop.whitemesa.round2.util.Round2EchoFloatClientUtil; |
| import test.interop.whitemesa.round2.util.Round2EchoHexBinaryClientUtil; |
| import test.interop.whitemesa.round2.util.Round2EchoIntegerArrayclientUtil; |
| import test.interop.whitemesa.round2.util.Round2EchoIntegerClientUtil; |
| import test.interop.whitemesa.round2.util.Round2EchoStringArrayClientUtil; |
| import test.interop.whitemesa.round2.util.Round2EchoStringclientUtil; |
| import test.interop.whitemesa.round2.util.Round2EchoStructArrayClientUtil; |
| import test.interop.whitemesa.round2.util.Round2EchoStructClientUtil; |
| import test.interop.whitemesa.round2.util.Round2EchoVoidClientUtil; |
| |
| /** |
| * class |
| * To test interoperability Axis2 clients vs 4s4c server |
| * WSDLs:- |
| * "base" http://www.pocketsoap.com/services/ilab.wsdl |
| * "Group B" http://www.pocketsoap.com/services/ilab_b.wsdl |
| */ |
| |
| /** |
| * Test cases that work on Date values may fail since the response look different from |
| * the requst date. E.g: |
| * request :2006-10-18T22:20:00-07:00 |
| * response:2006-10-19T05:20:00Z |
| */ |
| |
| public class S4s4cRound2InteropTest extends WhiteMesaIneterop { |
| |
| SOAPEnvelope retEnv = null; |
| String url = ""; |
| String soapAction = ""; |
| String FS = System.getProperty("file.separator"); |
| String resFilePath = "interop/whitemesa/round2/"; |
| String tempPath = ""; |
| SunClientUtil util; |
| SunClient client = new SunClient(); |
| |
| private static final Log log = LogFactory.getLog(S4s4cRound2InteropTest.class); |
| |
| /** |
| * Round2 |
| * Group Base |
| * operation echoString |
| */ |
| public void testR2BaseEchoString() throws AxisFault { |
| url = "http://soap.4s4c.com/ilab/soap.asp"; |
| soapAction = "http://soapinterop.org/"; |
| |
| util = new Round2EchoStringclientUtil(); |
| retEnv = client.sendMsg(util, url, soapAction); |
| tempPath = resFilePath + "S4s4cBaseStringRes.xml"; |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_STRING); |
| } |
| |
| /** |
| * Round2 |
| * Group Base |
| * operation echoStringArray |
| */ |
| public void testR2BaseEchoStringArray() throws AxisFault { |
| url = "http://soap.4s4c.com/ilab/soap.asp"; |
| soapAction = "http://soapinterop.org/"; |
| |
| util = new Round2EchoStringArrayClientUtil(); |
| retEnv = client.sendMsg(util, url, soapAction); |
| tempPath = resFilePath + "S4s4cBaseStringArrayRes.xml"; |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_STRING_ARR_1); |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_STRING_ARR_2); |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_STRING_ARR_3); |
| } |
| |
| /** |
| * Round2 |
| * Group Base |
| * operation echoInteger |
| */ |
| public void testR2BaseEchoInteger() throws AxisFault { |
| url = "http://soap.4s4c.com/ilab/soap.asp"; |
| soapAction = "http://soapinterop.org/"; |
| |
| util = new Round2EchoIntegerClientUtil(); |
| retEnv = client.sendMsg(util, url, soapAction); |
| tempPath = resFilePath + "S4s4cBaseIntegerRes.xml"; |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_INTEGER); |
| } |
| |
| /** |
| * Round2 |
| * Group Base |
| * operation echoIntegerArray |
| */ |
| public void testR2BaseEchoIntegerArray() throws AxisFault { |
| url = "http://soap.4s4c.com/ilab/soap.asp"; |
| soapAction = "http://soapinterop.org/"; |
| |
| util = new Round2EchoIntegerArrayclientUtil(); |
| retEnv = client.sendMsg(util, url, soapAction); |
| tempPath = resFilePath + "S4s4cBaseIntegerArrayRes.xml"; |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_INTEGER_ARR_1); |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_INTEGER_ARR_2); |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_INTEGER_ARR_3); |
| } |
| |
| /** |
| * Round2 |
| * Group Base |
| * operation echoFloat |
| */ |
| public void testR2BaseEchoFloat() throws AxisFault { |
| url = "http://soap.4s4c.com/ilab/soap.asp"; |
| soapAction = "http://soapinterop.org/"; |
| |
| util = new Round2EchoFloatClientUtil(); |
| retEnv = client.sendMsg(util, url, soapAction); |
| tempPath = resFilePath + "S4s4cBaseFloatRes.xml"; |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_FLOAT); |
| } |
| |
| /** |
| * Round2 |
| * Group Base |
| * operation echoFloatArray |
| */ |
| public void testR2BaseEchoFloatArray() throws AxisFault { |
| url = "http://soap.4s4c.com/ilab/soap.asp"; |
| soapAction = "http://soapinterop.org/"; |
| |
| util = new Round2EchoFloatArrayClientUtil(); |
| retEnv = client.sendMsg(util, url, soapAction); |
| tempPath = resFilePath + "S4s4cBaseFloatArrayRes.xml"; |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_FLOAT_ARR_1); |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_FLOAT_ARR_2); |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_FLOAT_ARR_3); |
| } |
| |
| /** |
| * Round2 |
| * Group Base |
| * operation echoStruct |
| */ |
| public void testRBaseEchoStruct() throws AxisFault { |
| url = "http://soap.4s4c.com/ilab/soap.asp"; |
| soapAction = ""; |
| |
| util = new Round2EchoStructClientUtil(); |
| retEnv = client.sendMsg(util, url, soapAction); |
| tempPath = resFilePath + "S4s4cBaseStructRes.xml"; |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_STRUCT_INT); |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_STRUCT_STRING); |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_STRUCT_FLOAT); |
| } |
| |
| /** |
| * Round2 |
| * Group Base |
| * operation echoStructArray |
| */ |
| public void testR2BaseEchoStructArray() throws AxisFault { |
| url = "http://soap.4s4c.com/ilab/soap.asp"; |
| soapAction = "http://soapinterop.org/"; |
| |
| util = new Round2EchoStructArrayClientUtil(); |
| retEnv = client.sendMsg(util, url, soapAction); |
| tempPath = resFilePath + "S4s4cBaseStructArrayRes.xml"; |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_STRUCT_ARRAY_FLOAT_1); |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_STRUCT_ARRAY_FLOAT_2); |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_STRUCT_ARRAY_FLOAT_3); |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_STRUCT_ARRAY_INT_1); |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_STRUCT_ARRAY_INT_2); |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_STRUCT_ARRAY_INT_3); |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_STRUCT_ARRAY_STR_1); |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_STRUCT_ARRAY_STR_2); |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_STRUCT_ARRAY_STR_3); |
| } |
| |
| /** |
| * Round2 |
| * Group Base |
| * operation echoVoid |
| */ |
| public void testR2BaseEchoVoid() throws AxisFault { |
| url = "http://soap.4s4c.com/ilab/soap.asp"; |
| soapAction = "http://soapinterop.org/"; |
| |
| util = new Round2EchoVoidClientUtil(); |
| retEnv = client.sendMsg(util, url, soapAction); |
| tempPath = resFilePath + "S4s4cBaseVoidRes.xml"; |
| compareXML(retEnv, tempPath); |
| } |
| |
| /** |
| * Round2 |
| * Group Base |
| * operation echoBase64 |
| */ |
| public void testR2BaseEchoBase64() throws AxisFault { |
| url = "http://soap.4s4c.com/ilab/soap.asp"; |
| soapAction = "http://soapinterop.org/"; |
| |
| util = new Round2EchoBase64ClientUtil(); |
| retEnv = client.sendMsg(util, url, soapAction); |
| tempPath = resFilePath + "S4s4cBaseBase64Res.xml"; |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_BASE_64); |
| |
| } |
| |
| /** |
| * Round2 |
| * Group Base |
| * operation echoBase64 |
| */ |
| public void testR2BaseEchoDate() throws AxisFault { |
| |
| log.info("This may fail if the echoed date format is different"); |
| |
| url = "http://soap.4s4c.com/ilab/soap.asp"; |
| soapAction = "http://soapinterop.org/"; |
| |
| util = new Round2EchoDateClientUtil(); |
| retEnv = client.sendMsg(util, url, soapAction); |
| tempPath = resFilePath + "S4s4cBaseDateRes.xml"; |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_DATE); |
| } |
| |
| |
| /** |
| * Round2 |
| * Group Base |
| * operation echoHexBinary |
| */ |
| public void testR2BaseEchoHexBinary() throws AxisFault { |
| url = "http://soap.4s4c.com/ilab/soap.asp"; |
| soapAction = "http://soapinterop.org/"; |
| |
| util = new Round2EchoHexBinaryClientUtil(); |
| retEnv = client.sendMsg(util, url, soapAction); |
| tempPath = resFilePath + "S4s4cBaseHexBinaryRes.xml"; |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_HEX_BINARY); |
| } |
| |
| /** |
| * Round2 |
| * Group Base |
| * operation echoDecimal |
| */ |
| public void testR2BaseEchoDecimal() throws AxisFault { |
| url = "http://soap.4s4c.com/ilab/soap.asp"; |
| soapAction = "http://soapinterop.org/"; |
| |
| util = new Round2EchoDecimalClientUtil(); |
| retEnv = client.sendMsg(util, url, soapAction); |
| tempPath = resFilePath + "S4s4cBaseDecimalRes.xml"; |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_DECIMAL); |
| } |
| |
| /** |
| * Round2 |
| * Group Base |
| * operation echoBoolean |
| */ |
| public void testR2BaseEchoBoolean() throws AxisFault { |
| url = "http://soap.4s4c.com/ilab/soap.asp"; |
| soapAction = "http://soapinterop.org/"; |
| |
| util = new Round2EchoBooleanClientUtil(); |
| retEnv = client.sendMsg(util, url, soapAction); |
| tempPath = resFilePath + "S4s4cBaseBooleanRes.xml"; |
| assertValueIsInThePayload(retEnv,WhiteMesaConstants.ECHO_BOOLEAN); |
| |
| } |
| |
| /** |
| * Round2 |
| * Group B |
| * operation echoStructAsSimpleTypes |
| */ |
| public void testR2GBEchoStructAsSimpleTypes() throws AxisFault { |
| url = "http://soap.4s4c.com/ilab/soap.asp"; |
| soapAction = "http://soapinterop.org/"; |
| |
| util = new GroupbEchoStructAsSimpleTypesUtil(); |
| retEnv = client.sendMsg(util, url, soapAction); |
| tempPath = resFilePath + "S4s4cGroupbStructAsSimpleTypesRes.xml"; |
| compareXML(retEnv, tempPath); |
| } |
| |
| /** |
| * Round2 |
| * Group B |
| * operation echoSimpleTypesAsStruct |
| */ |
| public void testR2GBEchoSimpleTypesAsStruct() throws AxisFault { |
| url = "http://soap.4s4c.com/ilab/soap.asp"; |
| soapAction = "http://soapinterop.org/"; |
| |
| util = new GroupbEchoSimpleTypesAsStructUtil(); |
| retEnv = client.sendMsg(util, url, soapAction); |
| tempPath = resFilePath + "S4s4cGroupbSimpletypesAsStructRes.xml"; |
| compareXML(retEnv, tempPath); |
| } |
| |
| /** |
| * Round2 |
| * Group B |
| * operation echo2DStringArray |
| */ |
| public void testR2GBEcho2DStringArray() throws AxisFault { |
| url = "http://soap.4s4c.com/ilab/soap.asp"; |
| soapAction = "http://soapinterop.org/"; |
| |
| util = new GroupbEcho2DStringArrayUtil(); |
| retEnv = client.sendMsg(util, url, soapAction); |
| tempPath = resFilePath + "S4s4cGroupb2DStringArrayRes.xml"; |
| compareXML(retEnv, tempPath); |
| } |
| |
| /** |
| * Round2 |
| * Group B |
| * operation echoNestedStruct |
| */ |
| public void testR2GBEchoNestedStruct() throws AxisFault { |
| url = "http://soap.4s4c.com/ilab/soap.asp"; |
| soapAction = "http://soapinterop.org/"; |
| |
| util = new GroupbEchoNestedStructUtil(); |
| retEnv = client.sendMsg(util, url, soapAction); |
| tempPath = resFilePath + "S4s4cGroupbNestedStructRes.xml"; |
| compareXML(retEnv, tempPath); |
| } |
| |
| /** |
| * Round2 |
| * Group B |
| * operation echoNestedArray |
| */ |
| public void testR2GBEchoNestedArray() throws AxisFault { |
| url = "http://soap.4s4c.com/ilab/soap.asp"; |
| soapAction = "http://soapinterop.org/"; |
| |
| util = new GroupbEchoNestedArrayUtil(); |
| retEnv = client.sendMsg(util, url, soapAction); |
| tempPath = resFilePath + "S4s4cGroupbNestedArrayRes.xml"; |
| compareXML(retEnv, tempPath); |
| } |
| |
| |
| } |
| |