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

Reply via email to