owenb 2002/12/11 10:14:14 Modified: java/test/serialization Tag: pre1_2_0-patches SerializationTest.java Log: Added new tests for WSIFPorts, WSIFMessage and org.apache.wif.schema schema objects Revision Changes Path No revision No revision 1.1.2.1 +259 -17 xml-axis-wsif/java/test/serialization/SerializationTest.java Index: SerializationTest.java =================================================================== RCS file: /home/cvs/xml-axis-wsif/java/test/serialization/SerializationTest.java,v retrieving revision 1.1 retrieving revision 1.1.2.1 diff -u -r1.1 -r1.1.2.1 --- SerializationTest.java 31 Jul 2002 11:00:16 -0000 1.1 +++ SerializationTest.java 11 Dec 2002 18:14:13 -0000 1.1.2.1 @@ -61,13 +61,28 @@ import java.io.ByteArrayOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; +import java.util.ArrayList; +import java.util.List; +import java.util.StringTokenizer; +import javax.wsdl.Definition; import javax.xml.namespace.QName; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; +import org.apache.wsif.WSIFMessage; +import org.apache.wsif.WSIFOperation; +import org.apache.wsif.WSIFPort; +import org.apache.wsif.WSIFService; +import org.apache.wsif.WSIFServiceFactory; import org.apache.wsif.providers.WSIFDynamicTypeMapping; +import org.apache.wsif.schema.Parser; +import org.apache.wsif.util.WSIFUtils; + +import addressbook.wsiftypes.Address; +import addressbook.wsiftypes.Phone; + import util.TestUtilities; /** @@ -81,9 +96,7 @@ } public static void main(String[] args) { - TestUtilities.startListeners(); junit.textui.TestRunner.run(suite()); - TestUtilities.stopListeners(); } public static Test suite() { @@ -96,41 +109,40 @@ public void testWSIFDynamicTypeMapping() { try { - String dummyNS = "http://this.is.a.test/"; - + String dummyNS = "http://this.is.a.test/"; + // java.lang.String - QName qn1 = - new QName(dummyNS, "string"); + QName qn1 = new QName(dummyNS, "string"); doItTM(qn1, java.lang.String.class); - + // int QName qn2 = new QName(dummyNS, "int"); doItTM(qn2, int.class); - + // float QName qn3 = new QName(dummyNS, "float"); doItTM(qn3, float.class); - + // double QName qn4 = new QName(dummyNS, "double"); - doItTM(qn4, double.class); + doItTM(qn4, double.class); // long QName qn5 = new QName(dummyNS, "long"); - doItTM(qn5, long.class); + doItTM(qn5, long.class); // short QName qn6 = new QName(dummyNS, "short"); - doItTM(qn6, short.class); + doItTM(qn6, short.class); // byte QName qn7 = new QName(dummyNS, "byte"); - doItTM(qn7, byte.class); + doItTM(qn7, byte.class); // void QName qn8 = new QName(dummyNS, "void"); - doItTM(qn8, void.class); - + doItTM(qn8, void.class); + } catch (Exception e) { System.out.println( "An error occured when running testWSIFDynamicTypeMapping " @@ -139,9 +151,213 @@ } } + public void testWSIFPort_Java() { + try { + // TEST JAVA + WSIFServiceFactory factory = WSIFServiceFactory.newInstance(); + WSIFService service = + factory.getService( + TestUtilities.getWsdlPath("java\\test\\shop") + + "ShoppingCartAll.wsdl", + "http://www.shoppingcart.com/definitions/ShoppingCartInterface", + "ShoppingCart_JavaService", + "http://www.shoppingcart.com/definitions/ShoppingCartInterface", + "ShoppingCart_JavaPortType"); + WSIFPort port = service.getPort(); + //WSIFOperation op = port.createOperation("addItemOperation"); + doItPort(port, "WSIFPort_Java"); + } catch (Exception e) { + System.out.println( + "\nAn error occured when running testWSIFPort_Java " + e); + assertTrue(false); + } + } + + public void testWSIFPort_EJB() { + if (!TestUtilities.areWeTesting("ejb")) return; + try { + // TEST EJB + WSIFServiceFactory factory = WSIFServiceFactory.newInstance(); + WSIFService service = + factory.getService( + TestUtilities.getWsdlPath("java\\test\\shop") + + "ShoppingCartAll.wsdl", + "http://www.shoppingcart.com/definitions/ShoppingCartInterface", + "ShoppingCart_EJBService", + "http://www.shoppingcart.com/definitions/ShoppingCartInterface", + "ShoppingCart_EJBPortType"); + WSIFPort port = service.getPort(); + //WSIFOperation op = port.createOperation("addItemOperation"); + doItPort(port, "WSIFPort_EJB"); + } catch (Exception e) { + System.out.println( + "\nAn error occured when running testWSIFPort_EJB " + e); + assertTrue(false); + } + } + + public void testWSIFPort_ApacheSOAP() { + try { + // TEST APACHE SOAP + TestUtilities.setProviderForProtocol("soap"); + WSIFServiceFactory factory = WSIFServiceFactory.newInstance(); + WSIFService service = + factory.getService( + TestUtilities.getWsdlPath( + "java\\samples\\addressbook\\wsifservice") + + "AddressBook.wsdl", + null, + null, + "http://wsifservice.addressbook/", + "AddressBook"); + service.mapType( + new javax.xml.namespace.QName( + "http://wsiftypes.addressbook/", + "address"), + Class.forName("addressbook.wsiftypes.Address")); + + service.mapType( + new javax.xml.namespace.QName( + "http://wsiftypes.addressbook/", + "phone"), + Class.forName("addressbook.wsiftypes.Phone")); + WSIFPort port = service.getPort("SOAPPort"); + WSIFOperation op = port.createOperation("addEntry", "AddEntryWholeNameRequest", null); + doItPort(port, "WSIFPort_ApacheSOAP"); + WSIFOperation op2 = port.createOperation("addEntry", "AddEntryWholeNameRequest", null); + WSIFMessage inputMessage = op2.createInputMessage(); + WSIFMessage outputMessage = op2.createOutputMessage(); + WSIFMessage faultMessage = op2.createFaultMessage(); + + // Create a name and address to add to the addressbook + String nameToAdd = "Chris P. Bacon"; + Address addressToAdd = + new Address( + 1, + "The Waterfront", + "Some City", + "NY", + 47907, + new Phone(765, "494", "4900")); + + // Add the name and address to the input message + inputMessage.setObjectPart("name", nameToAdd); + inputMessage.setObjectPart("address", addressToAdd); + + // Execute the operation, obtaining a flag to indicate its success + op2.executeInputOnlyOperation(inputMessage); + } catch (Exception e) { + System.out.println( + "\nAn error occured when running testWSIFPort_ApacheSOAP " + e); + assertTrue(false); + } + } + + public void testWSIFPort_ApacheAxis() { + try { + // TEST APACHE AXIS + TestUtilities.setProviderForProtocol("axis"); + WSIFServiceFactory factory = WSIFServiceFactory.newInstance(); + WSIFService service = + factory.getService( + TestUtilities.getWsdlPath( + "java\\samples\\addressbook\\wsifservice") + + "AddressBook.wsdl", + null, + null, + "http://wsifservice.addressbook/", + "AddressBook"); + WSIFPort port = service.getPort("SOAPPort"); + WSIFOperation op = port.createOperation("addEntry", "AddEntryWholeNameRequest", null); + doItPort(port, "WSIFPort_ApacheAxis"); + } catch (Exception e) { + System.out.println( + "\nAn error occured when running testWSIFPort_ApacheAxis " + e); + assertTrue(false); + } + } + + public void testWSIFPort_JMS() { + if (!TestUtilities.areWeTesting("jms")) return; + try { + // TEST APACHE AXIS + WSIFServiceFactory factory = WSIFServiceFactory.newInstance(); + WSIFService service = + factory.getService( + TestUtilities.getWsdlPath( + "java\\samples\\addressbook\\wsifservice") + + "AddressBook.wsdl", + null, + null, + "http://wsifservice.addressbook/", + "AddressBook"); + WSIFPort port = service.getPort("NativeJmsPort"); + WSIFOperation op = port.createOperation("addEntry", "AddEntryWholeNameRequest", null); + doItPort(port, "WSIFPort_JMS"); + } catch (Exception e) { + System.out.println( + "\nAn error occured when running testWSIFPort_JMS " + e); + assertTrue(false); + } + } + + public void testWSIFMessage() { + try { + // TEST JAVA + WSIFServiceFactory factory = WSIFServiceFactory.newInstance(); + WSIFService service = + factory.getService( + TestUtilities.getWsdlPath("java\\test\\shop") + + "ShoppingCartAll.wsdl", + "http://www.shoppingcart.com/definitions/ShoppingCartInterface", + "ShoppingCart_JavaService", + "http://www.shoppingcart.com/definitions/ShoppingCartInterface", + "ShoppingCart_JavaPortType"); + WSIFPort port = service.getPort(); + WSIFOperation op = port.createOperation("addItemOperation"); + WSIFMessage message = op.createInputMessage(); + message.setObjectPart("testPart1", "test1"); +// message.setObjectPart("testPart2", new StringTokenizer("test2")); + doItMessage(message); + } catch (Exception e) { + System.out.println( + "\nAn error occured when running testWSIFPort_Java " + e); + assertTrue(false); + } + } + + public void testSchemaList() { + try { + List list = new ArrayList(); + String wsdl = TestUtilities.getWsdlPath("java\\test\\schema") + "SchemaTest1.wsdl"; + Definition def = WSIFUtils.readWSDL(null, wsdl); + Parser.getAllSchemaTypes(def, list, null); + doItSchemaList(list); + } catch (Exception e) { + System.out.println( + "\nAn error occured when running testWSIFPort_Java " + e); + assertTrue(false); + } + } + + private WSIFPort doItPort(WSIFPort port, String portType) { + + try { + WSIFPort p2 = (WSIFPort) writeItReadIt(port); + assertNotNull(p2); + System.out.println("\n" + portType + " was serialized and deserialized without problem"); + return p2; + } catch (Exception e) { + System.out.println("\nError testing port: " + portType + " :- " + e); + System.out.println("The full stack trace is:"); + e.printStackTrace(); + assertTrue(false); + return null; + } + } + private void doItTM(QName qn, Class cls) { - WSIFDynamicTypeMapping tm = - new WSIFDynamicTypeMapping(qn, cls); + WSIFDynamicTypeMapping tm = new WSIFDynamicTypeMapping(qn, cls); try { WSIFDynamicTypeMapping tma = @@ -159,6 +375,32 @@ + cls + " :- " + e); + assertTrue(false); + } + } + + private void doItMessage(WSIFMessage message) { + try { + WSIFMessage m2 = (WSIFMessage) writeItReadIt(message); + assertNotNull(m2); + System.out.println("\n WSIFMessage was serialized and deserialized without problem"); + } catch (Exception e) { + System.out.println("\nError testing message:- " + e); + System.out.println("The full stack trace is:"); + e.printStackTrace(); + assertTrue(false); + } + } + + private void doItSchemaList(List list) { + try { + List l2 = (List) writeItReadIt(list); + assertNotNull(l2); + System.out.println("\n Schema List was serialized and deserialized without problem"); + } catch (Exception e) { + System.out.println("\nError testing schema list:- " + e); + System.out.println("The full stack trace is:"); + e.printStackTrace(); assertTrue(false); } }