Author: keith Date: Wed Jun 25 23:06:44 2008 New Revision: 18644 URL: http://wso2.org/svn/browse/wso2?view=rev&revision=18644
Log: Fixing test cases dur to Mashup-886 Modified: trunk/mashup/java/modules/integration/test/org/wso2/mashup/integration/SchemaIntegrationTest.java Modified: trunk/mashup/java/modules/integration/test/org/wso2/mashup/integration/SchemaIntegrationTest.java URL: http://wso2.org/svn/browse/wso2/trunk/mashup/java/modules/integration/test/org/wso2/mashup/integration/SchemaIntegrationTest.java?rev=18644&r1=18643&r2=18644&view=diff ============================================================================== --- trunk/mashup/java/modules/integration/test/org/wso2/mashup/integration/SchemaIntegrationTest.java (original) +++ trunk/mashup/java/modules/integration/test/org/wso2/mashup/integration/SchemaIntegrationTest.java Wed Jun 25 23:06:44 2008 @@ -17,6 +17,10 @@ import junit.framework.TestCase; import org.apache.axiom.om.OMElement; +import org.apache.axiom.om.OMFactory; +import org.apache.axiom.om.OMAbstractFactory; +import org.apache.axiom.om.OMNamespace; +import org.apache.axiom.om.OMAttribute; import org.apache.axiom.om.impl.builder.StAXOMBuilder; import org.apache.axis2.AxisFault; import org.apache.axis2.addressing.EndpointReference; @@ -31,11 +35,15 @@ import java.io.ByteArrayInputStream; import java.util.Calendar; import java.util.Date; +import java.util.Iterator; public class SchemaIntegrationTest extends IntegrationTestSuite implements IntegrationTestConstants { private EndpointReference schemaTestEPR; + OMFactory omFactory; + OMNamespace xsiNamespace, jsNamespace; + QName xsiQName, jsQName; private ServiceClient sender; @@ -62,6 +70,11 @@ sender = new ServiceClient(); schemaTestEPR = new EndpointReference(host + ":" + port + "/" + serviceRoot + "/system/schemaTest"); + omFactory = OMAbstractFactory.getOMFactory(); + xsiNamespace = omFactory.createOMNamespace("http://www.w3.org/2001/XMLSchema-instance", "xsi"); + jsNamespace = omFactory.createOMNamespace("http://www.wso2.org/ns/jstype", "js"); + xsiQName = new QName("http://www.w3.org/2001/XMLSchema-instance", "type"); + jsQName = new QName("http://www.wso2.org/ns/jstype", "type"); } public void testEchoJSstring() throws Exception { @@ -110,13 +123,20 @@ sender.setOptions(options); OMElement result = sender.sendReceive(payload); OMElement element = result.getFirstElement(); - TestCase.assertEquals( - "<return xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:js=\"http://www.wso2.org/ns/jstype\" js:type=\"array\">" + - "<item js:type=\"string\" xsi:type=\"xs:string\">testParam</item>" + - "<item js:type=\"string\" xsi:type=\"xs:string\">testParam</item>" + - "<item js:type=\"string\" xsi:type=\"xs:string\">testParam</item>" + - "</return>", - element.toString()); + TestCase.assertTrue(element.getAttribute(jsQName).equals( + omFactory.createOMAttribute("type", jsNamespace, "array"))); + Iterator elements = element.getChildElements(); + int i = 0; + while (elements.hasNext()) { + OMElement innerElement = (OMElement) elements.next(); + TestCase.assertTrue(innerElement.getAttribute(jsQName).equals( + omFactory.createOMAttribute("type", jsNamespace, "string"))); + TestCase.assertTrue(innerElement.getAttribute(xsiQName).equals( + omFactory.createOMAttribute("type", xsiNamespace, "xs:string"))); + TestCase.assertEquals("testParam", innerElement.getText()); + i++; + } + TestCase.assertEquals(i, 3); } public void testReturnJSArrayWithIndices() throws Exception { @@ -129,13 +149,31 @@ sender.setOptions(options); OMElement result = sender.sendReceive(payload); OMElement element = result.getFirstElement(); - TestCase.assertEquals( - "<return xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:js=\"http://www.wso2.org/ns/jstype\" js:type=\"array\">" + - "<item js:type=\"string\" xsi:type=\"xs:string\">value1</item>" + - "<item js:type=\"number\" xsi:type=\"xs:double\">2.27</item>" + - "<item js:type=\"xml\" xsi:type=\"xs:anyType\"><value>2</value></item>" + - "</return>", - element.toString()); + TestCase.assertTrue(element.getAttribute(jsQName).equals( + omFactory.createOMAttribute("type", jsNamespace, "array"))); + OMElement innerElement = element.getFirstElement(); + TestCase.assertTrue(innerElement.getAttribute(jsQName).equals( + omFactory.createOMAttribute("type", jsNamespace, "string"))); + TestCase.assertTrue(innerElement.getAttribute(xsiQName).equals( + omFactory.createOMAttribute("type", xsiNamespace, "xs:string"))); + TestCase.assertEquals(innerElement.getLocalName(), "item"); + TestCase.assertEquals("value1", innerElement.getText()); + + innerElement = (OMElement) innerElement.getNextOMSibling(); + TestCase.assertTrue(innerElement.getAttribute(jsQName).equals( + omFactory.createOMAttribute("type", jsNamespace, "number"))); + TestCase.assertTrue(innerElement.getAttribute(xsiQName).equals( + omFactory.createOMAttribute("type", xsiNamespace, "xs:double"))); + TestCase.assertEquals("2.27", innerElement.getText()); + TestCase.assertEquals(innerElement.getLocalName(), "item"); + + innerElement = (OMElement) innerElement.getNextOMSibling(); + TestCase.assertTrue(innerElement.getAttribute(jsQName).equals( + omFactory.createOMAttribute("type", jsNamespace, "xml"))); + TestCase.assertTrue(innerElement.getAttribute(xsiQName).equals( + omFactory.createOMAttribute("type", xsiNamespace, "xs:anyType"))); + TestCase.assertEquals("<value>2</value>", innerElement.getFirstElement().toString()); + TestCase.assertEquals(innerElement.getLocalName(), "item"); } public void testReturnJSArrayWithProperties() throws Exception { @@ -148,13 +186,31 @@ sender.setOptions(options); OMElement result = sender.sendReceive(payload); OMElement element = result.getFirstElement(); - TestCase.assertEquals( - "<return xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:js=\"http://www.wso2.org/ns/jstype\" js:type=\"array\">" + - "<value1 js:type=\"string\" xsi:type=\"xs:string\">value1</value1>" + - "<value2 js:type=\"number\" xsi:type=\"xs:double\">2.27</value2>" + - "<value3 js:type=\"xml\" xsi:type=\"xs:anyType\"><value>2</value></value3>" + - "</return>", - element.toString()); + TestCase.assertTrue(element.getAttribute(jsQName).equals( + omFactory.createOMAttribute("type", jsNamespace, "array"))); + OMElement innerElement = element.getFirstElement(); + TestCase.assertTrue(innerElement.getAttribute(jsQName).equals( + omFactory.createOMAttribute("type", jsNamespace, "string"))); + TestCase.assertTrue(innerElement.getAttribute(xsiQName).equals( + omFactory.createOMAttribute("type", xsiNamespace, "xs:string"))); + TestCase.assertEquals("value1", innerElement.getText()); + TestCase.assertEquals(innerElement.getLocalName(), "value1"); + + innerElement = (OMElement) innerElement.getNextOMSibling(); + TestCase.assertTrue(innerElement.getAttribute(jsQName).equals( + omFactory.createOMAttribute("type", jsNamespace, "number"))); + TestCase.assertTrue(innerElement.getAttribute(xsiQName).equals( + omFactory.createOMAttribute("type", xsiNamespace, "xs:double"))); + TestCase.assertEquals("2.27", innerElement.getText()); + TestCase.assertEquals(innerElement.getLocalName(), "value2"); + + innerElement = (OMElement) innerElement.getNextOMSibling(); + TestCase.assertTrue(innerElement.getAttribute(jsQName).equals( + omFactory.createOMAttribute("type", jsNamespace, "xml"))); + TestCase.assertTrue(innerElement.getAttribute(xsiQName).equals( + omFactory.createOMAttribute("type", xsiNamespace, "xs:anyType"))); + TestCase.assertEquals("<value>2</value>", innerElement.getFirstElement().toString()); + TestCase.assertEquals(innerElement.getLocalName(), "value3"); } @@ -172,13 +228,31 @@ sender.setOptions(options); OMElement result = sender.sendReceive(payload); OMElement element = result.getFirstElement(); - TestCase.assertEquals( - "<return xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:js=\"http://www.wso2.org/ns/jstype\" js:type=\"object\">" + - "<param1 js:type=\"string\" xsi:type=\"xs:string\">testParam</param1>" + - "<param2 js:type=\"number\" xsi:type=\"xs:double\">10.0</param2>" + - "<param3 js:type=\"boolean\" xsi:type=\"xs:boolean\">true</param3>" + - "</return>", - element.toString()); + TestCase.assertTrue(element.getAttribute(jsQName).equals( + omFactory.createOMAttribute("type", jsNamespace, "object"))); + OMElement innerElement = element.getFirstElement(); + TestCase.assertTrue(innerElement.getAttribute(jsQName).equals( + omFactory.createOMAttribute("type", jsNamespace, "string"))); + TestCase.assertTrue(innerElement.getAttribute(xsiQName).equals( + omFactory.createOMAttribute("type", xsiNamespace, "xs:string"))); + TestCase.assertEquals("testParam", innerElement.getText()); + TestCase.assertEquals(innerElement.getLocalName(), "param1"); + + innerElement = (OMElement) innerElement.getNextOMSibling(); + TestCase.assertTrue(innerElement.getAttribute(jsQName).equals( + omFactory.createOMAttribute("type", jsNamespace, "number"))); + TestCase.assertTrue(innerElement.getAttribute(xsiQName).equals( + omFactory.createOMAttribute("type", xsiNamespace, "xs:double"))); + TestCase.assertEquals("10.0", innerElement.getText()); + TestCase.assertEquals(innerElement.getLocalName(), "param2"); + + innerElement = (OMElement) innerElement.getNextOMSibling(); + TestCase.assertTrue(innerElement.getAttribute(jsQName).equals( + omFactory.createOMAttribute("type", jsNamespace, "boolean"))); + TestCase.assertTrue(innerElement.getAttribute(xsiQName).equals( + omFactory.createOMAttribute("type", xsiNamespace, "xs:boolean"))); + TestCase.assertEquals("true", innerElement.getText()); + TestCase.assertEquals(innerElement.getLocalName(), "param3"); } public void testEchoEnumeration() throws Exception { @@ -416,8 +490,13 @@ options.setTimeOutInMilliSeconds(10000); sender.setOptions(options); OMElement result = sender.sendReceive(payload); - TestCase.assertEquals("<return xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:js=\"http://www.wso2.org/ns/jstype\" js:type=\"xml\" xsi:type=\"xs:anyType\">" + xmlParam + "</return>", - result.getFirstElement().toString()); + OMElement element = result.getFirstElement(); + TestCase.assertTrue(element.getAttribute(jsQName).equals( + omFactory.createOMAttribute("type", jsNamespace, "xml"))); + TestCase.assertTrue(element.getAttribute(xsiQName).equals( + omFactory.createOMAttribute("type", xsiNamespace, "xs:anyType"))); + TestCase.assertEquals(xmlParam, element.getFirstElement().toString()); + TestCase.assertEquals(element.getLocalName(), "return"); } public void testReturnString() throws Exception { @@ -431,10 +510,13 @@ options.setTimeOutInMilliSeconds(10000); sender.setOptions(options); OMElement result = sender.sendReceive(payload); - TestCase.assertEquals( - "<return xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:js=\"http://www.wso2.org/ns/jstype\" js:type=\"string\" xsi:type=\"xs:string\">" + - "testParam</return>", - result.getFirstElement().toString()); + OMElement element = result.getFirstElement(); + TestCase.assertTrue(element.getAttribute(jsQName).equals( + omFactory.createOMAttribute("type", jsNamespace, "string"))); + TestCase.assertTrue(element.getAttribute(xsiQName).equals( + omFactory.createOMAttribute("type", xsiNamespace, "xs:string"))); + TestCase.assertEquals(stringParam, element.getText()); + TestCase.assertEquals(element.getLocalName(), "return"); } public void testReturnNumber() throws Exception { @@ -448,10 +530,13 @@ options.setTimeOutInMilliSeconds(10000); sender.setOptions(options); OMElement result = sender.sendReceive(payload); - TestCase.assertEquals( - "<return xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:js=\"http://www.wso2.org/ns/jstype\" " + - "js:type=\"number\" xsi:type=\"xs:double\">10.0</return>", - result.getFirstElement().toString()); + OMElement element = result.getFirstElement(); + TestCase.assertTrue(element.getAttribute(jsQName).equals( + omFactory.createOMAttribute("type", jsNamespace, "number"))); + TestCase.assertTrue(element.getAttribute(xsiQName).equals( + omFactory.createOMAttribute("type", xsiNamespace, "xs:double"))); + TestCase.assertEquals("10.0", element.getText()); + TestCase.assertEquals(element.getLocalName(), "return"); } public void testReturnBoolean() throws Exception { @@ -465,10 +550,13 @@ options.setTimeOutInMilliSeconds(10000); sender.setOptions(options); OMElement result = sender.sendReceive(payload); - TestCase.assertEquals( - "<return xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:js=\"http://www.wso2.org/ns/jstype\" " + - "js:type=\"boolean\" xsi:type=\"xs:boolean\">true</return>", - result.getFirstElement().toString()); + OMElement element = result.getFirstElement(); + TestCase.assertTrue(element.getAttribute(jsQName).equals( + omFactory.createOMAttribute("type", jsNamespace, "boolean"))); + TestCase.assertTrue(element.getAttribute(xsiQName).equals( + omFactory.createOMAttribute("type", xsiNamespace, "xs:boolean"))); + TestCase.assertEquals("true", element.getText()); + TestCase.assertEquals(element.getLocalName(), "return"); } private void testEcho(String opName, String param) throws XMLStreamException, AxisFault { @@ -808,5 +896,4 @@ OMElement result = sender.sendReceive(payload); TestCase.assertNull(result); } -} - +} \ No newline at end of file _______________________________________________ Mashup-dev mailing list [email protected] http://www.wso2.org/cgi-bin/mailman/listinfo/mashup-dev
