You are viewing a plain text version of this content. The canonical link for it is here.
Posted to woden-dev@ws.apache.org by sa...@apache.org on 2009/09/01 07:50:51 UTC
svn commit: r809833 [4/10] - in /webservices/woden/trunk/java/woden-tests:
./ src/ src/main/ src/main/resources/ src/main/resources/META-INF/
src/test/ src/test/java/ src/test/java/org/ src/test/java/org/apache/
src/test/java/org/apache/woden/ src/test...
Added: webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/BindingFaultTest.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/BindingFaultTest.java?rev=809833&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/BindingFaultTest.java (added)
+++ webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/BindingFaultTest.java Tue Sep 1 05:50:45 2009
@@ -0,0 +1,119 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 org.apache.woden.wsdl20;
+
+import javax.xml.namespace.QName;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.apache.woden.WSDLException;
+import org.apache.woden.WSDLFactory;
+import org.apache.woden.internal.wsdl20.BindingFaultImpl;
+import org.apache.woden.internal.wsdl20.DescriptionImpl;
+import org.apache.woden.types.NCName;
+import org.apache.woden.wsdl20.xml.BindingElement;
+import org.apache.woden.wsdl20.xml.BindingFaultElement;
+import org.apache.woden.wsdl20.xml.BindingOperationElement;
+import org.apache.woden.wsdl20.xml.DescriptionElement;
+import org.apache.woden.wsdl20.xml.InterfaceElement;
+import org.apache.woden.wsdl20.xml.InterfaceFaultElement;
+
+/**
+ * Unit tests for the BindingFault class.
+ *
+ * @author Graham Turrell (gturrell@apache.org)
+ */
+public class BindingFaultTest extends TestCase {
+
+ private BindingFaultElement fFaultElement = null;
+ private BindingFault fFault = null;
+
+ public static Test suite()
+ {
+ return new TestSuite(BindingFaultTest.class);
+
+ }
+ /*
+ * @see TestCase#setUp()
+ */
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ fFaultElement = new BindingFaultImpl();
+ fFault = (BindingFault) fFaultElement;
+ }
+
+ /*
+ * @see TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ }
+
+ /*
+ * Test that the (Mandatory) InterfaceFault can be successfully retrieved.
+ */
+ public void testGetInterfaceFault()
+ {
+ WSDLFactory factory = null;
+ try {
+ factory = WSDLFactory.newInstance();
+ } catch (WSDLException e) {
+ fail("Can't instantiate the WSDLFactory object.");
+ }
+
+ DescriptionElement descriptionElement = factory.newDescription();
+
+ // Create the BindingElement<->InterfaceElement->InterfaceFaultElement hierarchy
+ BindingElement bindingElement = descriptionElement.addBindingElement();
+ bindingElement.setInterfaceName(new QName("interface1"));
+ bindingElement.setName(new NCName("binding1"));
+
+ InterfaceElement interfaceElement = descriptionElement.addInterfaceElement();
+ interfaceElement.setName(new NCName("interface1"));
+
+ InterfaceFaultElement iffElement = interfaceElement.addInterfaceFaultElement();
+ iffElement.setName(new NCName("fault1"));
+
+ // Create the BindingOperationElement->BindingFaultReferenceElement hierarchy
+ BindingOperationElement bopElement = bindingElement.addBindingOperationElement();
+ bopElement.setRef(new QName("operation1"));
+ fFaultElement = bindingElement.addBindingFaultElement();
+ fFaultElement.setRef(new QName("fault1"));
+
+ Description descComp = descriptionElement.toComponent();
+ descComp.getBindings(); // this triggers setting the link to description in the binding
+
+ BindingFault bf = (BindingFault)fFaultElement;
+
+ InterfaceFault retrievedFault = bf.getInterfaceFault();
+ assertEquals("The retrieved InterfaceFaultElement is not that which was set",
+ iffElement, retrievedFault);
+ }
+
+ /*
+ * toElement()
+ */
+ public void testToElement()
+ {
+ assertEquals(fFaultElement, fFault.toElement());
+ }
+
+}
Added: webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/BindingMessageReferenceTest.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/BindingMessageReferenceTest.java?rev=809833&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/BindingMessageReferenceTest.java (added)
+++ webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/BindingMessageReferenceTest.java Tue Sep 1 05:50:45 2009
@@ -0,0 +1,122 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 org.apache.woden.wsdl20;
+
+import javax.xml.namespace.QName;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.apache.woden.WSDLException;
+import org.apache.woden.WSDLFactory;
+import org.apache.woden.internal.wsdl20.BindingMessageReferenceImpl;
+import org.apache.woden.internal.wsdl20.DescriptionImpl;
+import org.apache.woden.types.NCName;
+import org.apache.woden.wsdl20.xml.BindingElement;
+import org.apache.woden.wsdl20.xml.BindingMessageReferenceElement;
+import org.apache.woden.wsdl20.xml.BindingOperationElement;
+import org.apache.woden.wsdl20.xml.DescriptionElement;
+import org.apache.woden.wsdl20.xml.InterfaceElement;
+import org.apache.woden.wsdl20.xml.InterfaceMessageReferenceElement;
+import org.apache.woden.wsdl20.xml.InterfaceOperationElement;
+
+/**
+ * Unit tests for the BindingMessageReference class.
+ *
+ * @author Graham Turrell (gturrell@apache.org)
+ */
+public class BindingMessageReferenceTest extends TestCase {
+
+ private BindingMessageReferenceElement fBindingMessageRefElement = null;
+ private BindingMessageReference fBindingMessageRef = null;
+
+ public static Test suite()
+ {
+ return new TestSuite(BindingMessageReferenceTest.class);
+
+ }
+ /*
+ * @see TestCase#setUp()
+ */
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ fBindingMessageRefElement = new BindingMessageReferenceImpl();
+ fBindingMessageRef = (BindingMessageReference) fBindingMessageRefElement;
+ }
+
+ /*
+ * @see TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ }
+
+ /*
+ * Test that the (Mandatory) InterfaceMessageReference can be successfully retrieved.
+ * - getInterfaceMessageReference()
+ *
+ */
+ public void testGetInterfaceMessageReference()
+ {
+ WSDLFactory factory = null;
+ try {
+ factory = WSDLFactory.newInstance();
+ } catch (WSDLException e) {
+ fail("Can't instantiate the WSDLFactory object.");
+ }
+
+ DescriptionElement descriptionElement = factory.newDescription();
+
+ // Create the BindingElement<->InterfaceElement->InterfaceOperationElement->InterfaceMessageReferenceElement hierarchy
+ BindingElement bindingElement = descriptionElement.addBindingElement();
+ bindingElement.setInterfaceName(new QName("interface1"));
+
+ InterfaceElement interfaceElement = descriptionElement.addInterfaceElement();
+ interfaceElement.setName(new NCName("interface1"));
+
+ InterfaceOperationElement ifopElement = interfaceElement.addInterfaceOperationElement();
+ ifopElement.setName(new NCName("operation1"));
+ InterfaceMessageReferenceElement ifmrElement = ifopElement.addInterfaceMessageReferenceElement();
+ ifmrElement.setMessageLabel(new NCName("MessageRef1MessageLabel"));
+
+ // Create the BindingOperationElement->BindingMessageReferenceElement hierarchy
+ BindingOperationElement bopElement = bindingElement.addBindingOperationElement();
+ bopElement.setRef(new QName("operation1"));
+ fBindingMessageRefElement = bopElement.addBindingMessageReferenceElement();
+ fBindingMessageRefElement.setMessageLabel(new NCName("MessageRef1MessageLabel"));
+
+ Description descComp = descriptionElement.toComponent();
+ descComp.getBindings(); // this triggers setting the link to description in the binding
+
+ fBindingMessageRef = (BindingMessageReference) fBindingMessageRefElement;
+ InterfaceMessageReference retrievedMessage = fBindingMessageRef.getInterfaceMessageReference();
+ assertEquals("The retrieved InterfaceMessageReference is not that which was set",
+ ifmrElement, retrievedMessage);
+ }
+
+ /*
+ * toElement()
+ */
+ public void testToElement()
+ {
+ assertEquals(fBindingMessageRefElement, fBindingMessageRef.toElement());
+ }
+
+}
Added: webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/BindingOperationTest.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/BindingOperationTest.java?rev=809833&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/BindingOperationTest.java (added)
+++ webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/BindingOperationTest.java Tue Sep 1 05:50:45 2009
@@ -0,0 +1,170 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 org.apache.woden.wsdl20;
+
+import java.util.Arrays;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.apache.woden.WSDLException;
+import org.apache.woden.WSDLFactory;
+import org.apache.woden.internal.wsdl20.DescriptionImpl;
+import org.apache.woden.types.NCName;
+import org.apache.woden.wsdl20.xml.BindingElement;
+import org.apache.woden.wsdl20.xml.BindingFaultReferenceElement;
+import org.apache.woden.wsdl20.xml.BindingMessageReferenceElement;
+import org.apache.woden.wsdl20.xml.BindingOperationElement;
+import org.apache.woden.wsdl20.xml.DescriptionElement;
+import org.apache.woden.wsdl20.xml.InterfaceElement;
+import org.apache.woden.wsdl20.xml.InterfaceOperationElement;
+
+/**
+ * Unit tests for the BindingOperation class.
+ *
+ * @author Graham Turrell (gturrell@apache.org)
+ */
+
+public class BindingOperationTest extends TestCase {
+
+ // create a parent Description to hang the Binding hierarchy off
+ private DescriptionElement fDescriptionElement = null;
+ private BindingElement fBindingElement = null;
+ private BindingOperationElement fBindingOperationElement = null;
+ private BindingOperation fBindingOperation = null;
+
+ public static Test suite()
+ {
+ return new TestSuite(BindingOperationTest.class);
+ }
+
+ /*
+ * @see TestCase#setUp()
+ */
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+
+ WSDLFactory factory = null;
+ try {
+ factory = WSDLFactory.newInstance();
+ } catch (WSDLException e) {
+ fail("Can't instantiate the WSDLFactory object.");
+ }
+
+ fDescriptionElement = factory.newDescription();
+ fBindingElement = fDescriptionElement.addBindingElement();
+ fBindingOperationElement = fBindingElement.addBindingOperationElement();
+ fBindingOperation = (BindingOperation) fBindingOperationElement;
+ }
+
+ /*
+ * @see TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ }
+
+ /*
+ * References to Optional child elements "infault" and "outfault" in the infoset
+ * - getBindingFaultReferences()
+ */
+ public void testGetBindingFaultReferences()
+ {
+ // create some BindingFaultReferenceElements
+ BindingFaultReferenceElement bfre1 = fBindingOperationElement.addBindingFaultReferenceElement();
+ BindingFaultReferenceElement bfre2 = fBindingOperationElement.addBindingFaultReferenceElement();
+
+ fDescriptionElement.toComponent();
+
+ // getBindingFaultReferences()
+ BindingFaultReference[] bfrArray = fBindingOperation.getBindingFaultReferences();
+ assertNotNull("Expected an array of BindingFaultReference.", bfrArray);
+ assertEquals("Retrieved BindingFaultReference group should be same number as those set -", 2, bfrArray.length);
+
+ // verify all fault references returned
+ List bfreL = Arrays.asList(bfrArray);
+ assertTrue(bfreL.contains(bfre1));
+ assertTrue(bfreL.contains(bfre2));
+ }
+
+ /*
+ * References to Optional child elements "input" and "output" int the infoset
+ * - getBindingMessageReferences()
+ */
+ public void testGetBindingMessageReferences()
+ {
+ // create some BindingMessageReferenceElements
+ BindingMessageReferenceElement bmre1 = fBindingOperationElement.addBindingMessageReferenceElement();
+ BindingMessageReferenceElement bmre2 = fBindingOperationElement.addBindingMessageReferenceElement();
+
+ fDescriptionElement.toComponent();
+
+ // getBindingMessageReferences()
+ BindingMessageReference[] bmrArray = fBindingOperation.getBindingMessageReferences();
+ assertNotNull("Expected an array of BindingMessageReference.", bmrArray);
+ assertEquals("Retrieved BindingMessageReference group should be same number as those set -", 2, bmrArray.length);
+
+ // verify all fault references returned
+ List bmreL = Arrays.asList(bmrArray);
+ assertTrue(bmreL.contains(bmre1));
+ assertTrue(bmreL.contains(bmre2));
+ }
+
+ /*
+ * Utility method to find the InterfaceOperation referenced by the (Mandatory) "ref" attribute in the infoset
+ * - getInterfaceOperation()
+ */
+ public void testGetInterfaceOperation()
+ {
+ // Create and name an Interface Element
+ InterfaceElement interfaceElement = fDescriptionElement.addInterfaceElement();
+ interfaceElement.setName(new NCName("interface1"));
+
+ // Create a binding from the description
+ fBindingElement = fDescriptionElement.addBindingElement();
+ fBindingElement.setInterfaceName(new QName("interface1"));
+
+ //Create and name an Interface Operation Element
+ InterfaceOperationElement intOpElement = interfaceElement.addInterfaceOperationElement();
+ intOpElement.setName(new NCName("interfaceOperation1"));
+
+ fBindingOperationElement = fBindingElement.addBindingOperationElement();
+ fBindingOperationElement.setRef(new QName("interfaceOperation1"));
+
+ Description descComp = fDescriptionElement.toComponent();
+ descComp.getBindings(); // this triggers setting the link to description in the binding
+
+ fBindingOperation = (BindingOperation) fBindingOperationElement;
+
+ InterfaceOperation retrievedIntOp = fBindingOperation.getInterfaceOperation();
+ assertEquals("Retrieved Interface Element was not that expected -", intOpElement, retrievedIntOp);
+ }
+
+ /*
+ * toElement()
+ */
+ public void testToElement()
+ {
+ assertEquals(fBindingOperationElement, fBindingOperation.toElement());
+ }
+}
Added: webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/BindingTest.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/BindingTest.java?rev=809833&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/BindingTest.java (added)
+++ webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/BindingTest.java Tue Sep 1 05:50:45 2009
@@ -0,0 +1,220 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 org.apache.woden.wsdl20;
+
+import java.net.URI;
+import java.util.Arrays;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.apache.woden.WSDLException;
+import org.apache.woden.WSDLFactory;
+import org.apache.woden.internal.wsdl20.DescriptionImpl;
+import org.apache.woden.types.NCName;
+import org.apache.woden.wsdl20.xml.BindingElement;
+import org.apache.woden.wsdl20.xml.BindingFaultElement;
+import org.apache.woden.wsdl20.xml.BindingOperationElement;
+import org.apache.woden.wsdl20.xml.DescriptionElement;
+import org.apache.woden.wsdl20.xml.InterfaceElement;
+
+/**
+ * Unit tests for the Binding class.
+ *
+ * @author Graham Turrell (gturrell@apache.org)
+ */
+public class BindingTest extends TestCase {
+
+ // create a parent Description to hang the Bindings off
+ private DescriptionElement fDescriptionElement = null;
+ private BindingElement fBindingElement = null;
+ private Binding fBinding = null;
+ private URI fTypeURI = null;
+
+ public static Test suite()
+ {
+ return new TestSuite(BindingTest.class);
+ }
+
+ /*
+ * @see TestCase#setUp()
+ */
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+
+ WSDLFactory factory = null;
+ try {
+ factory = WSDLFactory.newInstance();
+ } catch (WSDLException e) {
+ fail("Can't instantiate the WSDLFactory object.");
+ }
+
+ fDescriptionElement = factory.newDescription();
+ fBindingElement = fDescriptionElement.addBindingElement();
+ fBindingElement.setName(new NCName("binding"));
+ //fBinding = (Binding) fBindingElement;
+ fTypeURI = new URI("http://www.w3.org/0000/00/apacheType");
+ fBinding = fDescriptionElement.toComponent().getBinding(new QName("binding"));
+ }
+
+ /*
+ * @see TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ }
+
+ /* (optional) "interface" attribute
+ * - getInterfaceElement()
+ */
+ public void testGetInterface()
+ {
+ // check the default:
+ Interface retrievedInterface = fBinding.getInterface();
+ assertNull("Retrieved Interface should be null if none set -", retrievedInterface);
+
+ WSDLFactory factory = null;
+ try {
+ factory = WSDLFactory.newInstance();
+ } catch (WSDLException e) {
+ fail("Can't instantiate the WSDLFactory object.");
+ }
+
+ // Create and name an Interface Element
+ DescriptionElement desc = factory.newDescription();
+ InterfaceElement interfaceElement = desc.addInterfaceElement();
+ interfaceElement.setName(new NCName("interface1"));
+
+ // Create a binding from the description
+ fBindingElement = desc.addBindingElement();
+ fBindingElement.setName(new NCName("binding1"));
+ desc.toComponent();
+ Binding binding = desc.toComponent().getBinding(new QName("binding1"));
+
+ // getInterface() - interface attribute unspecified, but hierarchy in place:
+ retrievedInterface = binding.getInterface();
+ assertNull("Retrieved Interface should be null if interface attribute unspecified -", retrievedInterface);
+
+ // getInterface() - interface attribute specified, and hierarchy in place:
+ // Set the "interface" attribute to reference the new Interface Element
+ // (have to recreate whole desc hierarchy as toComponent() will not rerun if already run!)
+ desc = factory.newDescription();
+ interfaceElement = desc.addInterfaceElement();
+ interfaceElement.setName(new NCName("interface1"));
+ fBindingElement = desc.addBindingElement();
+ fBindingElement.setName(new NCName("binding1"));
+ fBindingElement.setInterfaceName(new QName("interface1"));
+
+ //fDescriptionElement.toComponent();
+
+ binding = desc.toComponent().getBinding(new QName("binding1"));
+ //fBinding = (Binding)fBindingElement;
+
+ retrievedInterface = binding.getInterface();
+ assertEquals("Retrieved Interface was not that expected -", interfaceElement, retrievedInterface);
+ }
+
+ /*
+ * Mandatory attribute ("name")
+ * - getName()
+ */
+ public void testGetName()
+ {
+ fBindingElement.setName(new NCName("BindingName"));
+ QName uri = fBinding.getName();
+ assertNotNull(uri);
+ assertEquals("Retrieved Binding name does not match that set -", "BindingName", uri.toString());
+ }
+
+ /*
+ * Mandatory attribute ("type")
+ * - getType()
+ */
+ public void testGetType()
+ {
+ fBindingElement.setType(fTypeURI);
+ URI uri = fBinding.getType();
+ assertEquals("Retrieved Binding type attribute does not match that set -", fTypeURI, uri);
+ }
+
+ /*
+ * Optional element ("fault")
+ * - getBindingFaults()
+ */
+ public void testGetBindingFaults()
+ {
+ // check the default:
+ BindingFault[] bfArray = fBinding.getBindingFaults();
+ assertNotNull("Expected an array of BindingFaults -", bfArray);
+ assertEquals("Retrieved BindingFaultElement group should be empty if none set -", 0, bfArray.length);
+
+ // addBindingFaultElement()
+ BindingFaultElement bfe1 = fBindingElement.addBindingFaultElement();
+ BindingFaultElement bfe2 = fBindingElement.addBindingFaultElement();
+
+ // getBindingFaultElements()
+ bfArray = fBinding.getBindingFaults();
+ assertNotNull("Expected an array of BindingFaults -", bfArray);
+ assertEquals("Incorrect number of retrieved BindingFaults -", 2, bfArray.length);
+
+ // verify all Fault objects returned
+ List bfeL = Arrays.asList(bfArray);
+ assertTrue(bfeL.contains(bfe1));
+ assertTrue(bfeL.contains(bfe2));
+ }
+
+ /*
+ * Optional element ("operation")
+ * - getBindingOperations()
+ */
+ public void testGetBindingOperations()
+ {
+ // check the default:
+ BindingOperation[] bopArray = fBinding.getBindingOperations();
+ assertNotNull("Expected an array of BindingOperations -", bopArray);
+ assertEquals("Retrieved BindingOperation group should be empty if none set -", 0, bopArray.length);
+
+ // addBindingOperationElement()
+ BindingOperationElement bop1 = fBindingElement.addBindingOperationElement();
+ BindingOperationElement bop2 = fBindingElement.addBindingOperationElement();
+
+ // getBindingOperations()
+ bopArray = fBinding.getBindingOperations();
+ assertNotNull("Expected an array of BindingOperation -", bopArray);
+ assertEquals("Incorrect number of retrieved BindingOperations -", 2, bopArray.length);
+
+ // verify all Operation objects returned
+ List ifopL = Arrays.asList(bopArray);
+ assertTrue(ifopL.contains(bop1));
+ assertTrue(ifopL.contains(bop2));
+ }
+
+ /*
+ * toElement()
+ */
+ public void testToElement()
+ {
+ assertEquals(fBindingElement, fBinding.toElement());
+ }
+
+}
Added: webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/DescriptionTest.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/DescriptionTest.java?rev=809833&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/DescriptionTest.java (added)
+++ webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/DescriptionTest.java Tue Sep 1 05:50:45 2009
@@ -0,0 +1,240 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 org.apache.woden.wsdl20;
+
+import java.io.IOException;
+import java.io.Reader;
+import java.io.StringReader;
+import java.net.URI;
+import java.net.URISyntaxException;
+
+import javax.xml.namespace.QName;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.apache.woden.WSDLFactory;
+import org.apache.woden.internal.schema.InlinedSchemaImpl;
+import org.apache.woden.internal.wsdl20.DescriptionImpl;
+import org.apache.woden.internal.wsdl20.ElementDeclarationImpl;
+import org.apache.woden.internal.wsdl20.TypeDefinitionImpl;
+import org.apache.woden.schema.InlinedSchema;
+import org.apache.woden.types.NCName;
+import org.apache.woden.wsdl20.xml.BindingElement;
+import org.apache.woden.wsdl20.xml.DescriptionElement;
+import org.apache.woden.wsdl20.xml.InterfaceElement;
+import org.apache.woden.wsdl20.xml.ServiceElement;
+import org.apache.woden.wsdl20.xml.TypesElement;
+import org.apache.ws.commons.schema.XmlSchema;
+import org.apache.ws.commons.schema.XmlSchemaCollection;
+import org.apache.xerces.parsers.DOMParser;
+import org.apache.xerces.xni.parser.XMLInputSource;
+import org.w3c.dom.Document;
+
+/**
+ * Unit tests for the Description component API.
+ *
+ * @author Graham Turrell (gturrell@apache.org)
+ */
+public class DescriptionTest extends TestCase {
+
+ private Description fDescription = null;
+ private DescriptionElement fDescriptionElement = null;
+ private BindingElement fBindingElement = null;
+ private InterfaceElement fInterfaceElement = null;
+ private ServiceElement fServiceElement = null;
+
+ public static Test suite()
+ {
+ return new TestSuite(DescriptionTest.class);
+ }
+
+ /*
+ * @see TestCase#setUp()
+ */
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ WSDLFactory factory = WSDLFactory.newInstance();
+ fDescriptionElement = factory.newDescription();
+ fBindingElement = fDescriptionElement.addBindingElement();
+ fBindingElement.setName(new NCName("bindingName"));
+ fInterfaceElement = fDescriptionElement.addInterfaceElement();
+ fInterfaceElement.setName(new NCName("interfaceName"));
+ fServiceElement = fDescriptionElement.addServiceElement();
+ fServiceElement.setName(new NCName("serviceName"));
+
+ //Create a test schema
+ InlinedSchema schema = new InlinedSchemaImpl();
+ XmlSchema xs1 = null;
+ URI schemaNS = null;
+
+ String schemaString = "<schema xmlns=\"http://www.w3.org/2001/XMLSchema\">"
+ + "<element name=\"myEd\" type=\"string\"/>"
+ + "<complexType name=\"myTypeDef\">"
+ + "<sequence>"
+ + "<element name=\"element\" type=\"string\"/>"
+ + "</sequence>"
+ + "</complexType>"
+ + "</schema>";
+
+ DOMParser builder = new DOMParser();
+ Reader reader = new StringReader(schemaString);
+ XMLInputSource is = new XMLInputSource(null, null, null, reader, null);
+ try {
+ builder.parse(is);
+ } catch(IOException e) {
+ fail("There was an IOException whilst trying to parse the sample schema.");
+ }
+ Document schemaDoc1 = builder.getDocument();
+ XmlSchemaCollection xsc = new XmlSchemaCollection();
+ xs1 = xsc.read(schemaDoc1.getDocumentElement());
+ schema.setSchemaDefinition(xs1);
+
+ //Add it to the typesElement.
+ TypesElement typesEl = fDescriptionElement.addTypesElement();
+ typesEl.addSchema(schema);
+
+ fDescription = fDescriptionElement.toComponent();
+
+ }
+
+ /*
+ * @see TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ }
+
+
+ public void testGetBinding()
+ {
+ Binding retrievedBinding = fDescription.getBinding(new QName("bindingName"));
+ assertNotNull(retrievedBinding);
+ assertEquals(fBindingElement, retrievedBinding.toElement());
+
+ Binding noBinding = fDescription.getBinding(new QName("noBinding"));
+ assertNull(noBinding);
+
+ QName nullQName = null;
+ Binding nullBinding = fDescription.getBinding(nullQName);
+ assertNull(nullBinding);
+ }
+
+ public void testGetBindings()
+ {
+ Binding[] retrievedBindings = fDescription.getBindings();
+ assertNotNull(retrievedBindings);
+ assertEquals(1, retrievedBindings.length);
+ }
+
+ public void testGetElementDeclaration()
+ {
+ ElementDeclaration ed = fDescription.getElementDeclaration(new QName("myEd"));
+ assertNotNull(ed);
+
+ // non-existent ElementDeclaration...
+ ed = fDescription.getElementDeclaration(new QName("doesNotExist"));
+ assertNull(ed);
+ }
+
+
+ public void testGetElementDeclarations()
+ {
+ ElementDeclaration[] eds = fDescription.getElementDeclarations();
+ assertNotNull(eds);
+ assertEquals(1, eds.length);
+
+ // TODO - test for when no Element Declarations ?
+ }
+
+ /*
+ * Test that a service returns its (required) associated interface.
+ *
+ */
+ public void testGetInterface()
+ {
+ Interface retrievedIf = fDescription.getInterface(new QName("interfaceName"));
+ assertNotNull(retrievedIf);
+ assertEquals(fInterfaceElement, retrievedIf.toElement()); // TODO - a fair test or a rash assumption?!
+
+ // non-existent interface
+ retrievedIf = fDescription.getInterface(new QName("noSuchInterface"));
+ assertNull(retrievedIf);
+
+ // null interface name
+ QName nullQName = null;
+ retrievedIf = fDescription.getInterface(nullQName);
+ assertNull(retrievedIf);
+ }
+
+ public void testGetInterfaces()
+ {
+ Interface[] retrievedIfs = fDescription.getInterfaces();
+ assertEquals(1, retrievedIfs.length);
+ }
+
+ public void testGetService()
+ {
+ Service retrievedService = fDescription.getService(new QName("serviceName"));
+ assertNotNull(retrievedService);
+
+ // non-existent service
+ retrievedService = fDescription.getService(new QName("noSuchService"));
+ assertNull(retrievedService);
+
+ // null service name
+ QName nullQName = null;
+ retrievedService = fDescription.getService(nullQName);
+ assertNull(retrievedService);
+ }
+
+ public void testGetServices()
+ {
+ Service[] services = fDescription.getServices();
+ assertEquals(1, services.length);
+ }
+
+ public void testGetTypeDefinition()
+ {
+ TypeDefinition td = fDescription.getTypeDefinition(new QName("myTypeDef"));
+ assertNotNull(td);
+
+ // non-existent TypeDefinition...
+ td = fDescription.getTypeDefinition(new QName("doesNotExist"));
+ assertNull(td);
+ }
+
+ public void testGetTypeDefinitions()
+ {
+ TypeDefinition[] tds = fDescription.getTypeDefinitions();
+ assertNotNull(tds);
+ assertEquals(1, tds.length);
+ }
+
+ /*
+ * Tests that the returned class is a DescriptionElement
+ *
+ */
+ public void testToElement()
+ {
+ assertTrue(fDescription.toElement() instanceof DescriptionElement);
+ }
+
+}
Added: webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/ElementDeclarationTest.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/ElementDeclarationTest.java?rev=809833&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/ElementDeclarationTest.java (added)
+++ webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/ElementDeclarationTest.java Tue Sep 1 05:50:45 2009
@@ -0,0 +1,102 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 org.apache.woden.wsdl20;
+
+import java.net.URI;
+
+import javax.xml.namespace.QName;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.apache.woden.internal.wsdl20.ElementDeclarationImpl;
+
+/**
+ * Unit tests for the implementation of ElementDeclaration interface.
+ *
+ * @author Graham Turrell (gturrell@apache.org)
+ */
+public class ElementDeclarationTest extends TestCase {
+
+ private ElementDeclaration fElementDeclaration = null;
+ private URI fTypeSystem = null;
+
+ public static Test suite()
+ {
+ return new TestSuite(ElementDeclarationTest.class);
+ }
+
+ /*
+ * @see TestCase#setUp()
+ */
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+
+ fElementDeclaration = new ElementDeclarationImpl();
+ fTypeSystem = new URI("http://www.w3.org/2001/XMLSchema");
+ }
+
+ /*
+ * @see TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ }
+
+ /*
+ * Test that getContent() correctly returns the assigned ElementDeclaration content object
+ */
+ public void testGetContent()
+ {
+ String content = "edContentObject";
+ ((ElementDeclarationImpl) fElementDeclaration).setContent(content);
+ assertEquals("The ElementDeclaration content Object differs from that set -", content, fElementDeclaration.getContent());
+ }
+
+ /*
+ * Test that getContentModel() correctly returns the assigned ElementDeclaration content model reference
+ */
+ public void testGetContentModel()
+ {
+ String contentModel = ElementDeclaration.API_APACHE_WS_XS; // one of the presets available
+ ((ElementDeclarationImpl) fElementDeclaration).setContentModel(contentModel);
+ assertEquals("The ElementDeclaration content model String differs from that set -", contentModel, fElementDeclaration.getContentModel());
+ }
+
+ /*
+ * Test that getName() correctly returns the assigned ElementDeclaration name
+ */
+ public void testGetName()
+ {
+ ((ElementDeclarationImpl)fElementDeclaration).setName(new QName("edName"));
+ assertEquals("The ElementDeclaration name QName differs from that set-", "edName", fElementDeclaration.getName().toString());
+ }
+
+ /*
+ * Test that getSystem() correctly returns the assigned ElementDeclaration type system
+ */
+ public void testGetSystem()
+ {
+ ((ElementDeclarationImpl) fElementDeclaration).setSystem(fTypeSystem);
+ assertEquals("The ElementDeclaration type system URI differs from that set-", fTypeSystem, fElementDeclaration.getSystem());
+ }
+
+
+}
Added: webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/EndpointTest.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/EndpointTest.java?rev=809833&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/EndpointTest.java (added)
+++ webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/EndpointTest.java Tue Sep 1 05:50:45 2009
@@ -0,0 +1,161 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 org.apache.woden.wsdl20;
+
+import java.net.URI;
+
+import javax.xml.namespace.QName;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.apache.woden.WSDLException;
+import org.apache.woden.WSDLFactory;
+import org.apache.woden.internal.wsdl20.DescriptionImpl;
+import org.apache.woden.internal.wsdl20.EndpointImpl;
+import org.apache.woden.types.NCName;
+import org.apache.woden.wsdl20.xml.BindingElement;
+import org.apache.woden.wsdl20.xml.DescriptionElement;
+import org.apache.woden.wsdl20.xml.EndpointElement;
+import org.apache.woden.wsdl20.xml.ServiceElement;
+
+/**
+ * Unit tests for the ImportElement class.
+ *
+ * @author Graham Turrell (gturrell@apache.org)
+ */
+public class EndpointTest extends TestCase {
+
+ private EndpointImpl fEndpointImpl = null;
+ private Endpoint fEndpoint = null;
+ private URI fURI = null;
+ private QName fBindingQName = null;
+ private NCName fBindingNCName = null;
+ private NCName fName = null;
+
+ public static Test suite()
+ {
+ return new TestSuite(EndpointTest.class);
+ }
+
+ /*
+ * @see TestCase#setUp()
+ */
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ fURI = new URI("http://apache.org/endpointURI");
+ fEndpointImpl = new EndpointImpl();
+ fEndpoint = fEndpointImpl;
+ }
+
+ /*
+ * @see TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ fURI = null;
+ fEndpointImpl = null;
+ fEndpoint = null;
+ fBindingQName = null;
+ fBindingNCName = null;
+ fName = null;
+ }
+
+ /*
+ * Test getAddress() when the (optional) address attribute is set (specified)
+ */
+ public void testGetAddress()
+ {
+ fEndpointImpl.setAddress(fURI);
+ assertEquals(fEndpoint.getAddress(), fURI); // java.net.URI overrides Object.equals()
+ }
+
+ /*
+ * Test getAddress() when the (optional) address attribute is unspecified
+ */
+ public void testDefaultGetAddress()
+ {
+ assertNull(fEndpoint.getAddress());
+ }
+
+ /*
+ * The Binding with fBindingName is obtained from the Description element associated with the Endpoint's Service
+ *
+ */
+ public void testGetBinding()
+ {
+ /*
+ * Test setup : work with the Infoset view for the creation of the
+ * necessary prerequisite partial hierarchy
+ * Note create the minimum necessary wsdl20 objects
+ */
+
+ WSDLFactory factory = null;
+ try {
+ factory = WSDLFactory.newInstance();
+ } catch (WSDLException e) {
+ fail("Can't instantiate the WSDLFactory object.");
+ }
+
+ // Description...
+ DescriptionElement fDescElement = factory.newDescription();
+
+ // Binding...
+ fBindingQName = new QName("binding1");
+ BindingElement fBindingElement = fDescElement.addBindingElement();
+ fBindingNCName = new NCName("binding1");
+ NCName fServiceNCName = new NCName("service1");
+ QName fServiceQName = new QName("service1");
+ NCName fEndpointNCname = new NCName("endpoint1");
+ fBindingElement.setName(fBindingNCName);
+
+ // Service... (attach our Endpoint to a Service parented by our Description)
+ ServiceElement fServiceElement = fDescElement.addServiceElement();
+ fServiceElement.setName(fServiceNCName);
+
+ // Endpoint...
+ EndpointElement fEndpointElement = fServiceElement.addEndpointElement();
+ fEndpointElement.setName(fEndpointNCname);
+ fEndpointElement.setBindingName(fBindingQName);
+
+ // Component model creation
+ Description fDesc = fDescElement.toComponent();
+ Endpoint fDerivedEndpoint = fDesc.getService(fServiceQName).getEndpoint(fEndpointNCname);
+
+ assertEquals(fDerivedEndpoint.getBinding().getName(), fBindingQName); // just compare QNames
+ }
+
+ public void testGetName()
+ {
+ fName = new NCName("endpoint_name");
+ fEndpointImpl.setName(fName);
+ assertEquals(fEndpoint.getName(), fName);
+ }
+
+ /*
+ * Tests that the returned class is precisely an EndpointElement (ie not a subclass)
+ *
+ */
+ public void testToElement()
+ {
+ assertTrue(fEndpoint.toElement() instanceof EndpointElement);
+ }
+
+}
\ No newline at end of file
Added: webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/InterfaceFaultReferenceTest.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/InterfaceFaultReferenceTest.java?rev=809833&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/InterfaceFaultReferenceTest.java (added)
+++ webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/InterfaceFaultReferenceTest.java Tue Sep 1 05:50:45 2009
@@ -0,0 +1,132 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 org.apache.woden.wsdl20;
+
+import javax.xml.namespace.QName;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.apache.woden.WSDLException;
+import org.apache.woden.WSDLFactory;
+import org.apache.woden.internal.wsdl20.DescriptionImpl;
+import org.apache.woden.internal.wsdl20.InterfaceFaultReferenceImpl;
+import org.apache.woden.types.NCName;
+import org.apache.woden.wsdl20.enumeration.Direction;
+import org.apache.woden.wsdl20.xml.DescriptionElement;
+import org.apache.woden.wsdl20.xml.InterfaceElement;
+import org.apache.woden.wsdl20.xml.InterfaceFaultElement;
+import org.apache.woden.wsdl20.xml.InterfaceFaultReferenceElement;
+import org.apache.woden.wsdl20.xml.InterfaceOperationElement;
+
+/**
+ * Unit tests for the InterfaceFaultReference class.
+ *
+ * @author Graham Turrell (gturrell@apache.org)
+ */
+public class InterfaceFaultReferenceTest extends TestCase {
+
+ private InterfaceFaultReferenceElement fFaultReferenceElement = null;
+ private InterfaceFaultReference fFaultReferenceComp = null;
+
+ public static Test suite()
+ {
+ return new TestSuite(InterfaceFaultReferenceTest.class);
+ }
+ /*
+ * @see TestCase#setUp()
+ */
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ fFaultReferenceElement = new InterfaceFaultReferenceImpl();
+ fFaultReferenceElement.setDirection(Direction.OUT);
+ fFaultReferenceComp = (InterfaceFaultReference)fFaultReferenceElement;
+ }
+
+ /*
+ * @see TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ }
+
+ /*
+ * Test that a (mandatory) direction can be successfully set and retrieved
+ */
+ public void testSetGetDirection()
+ {
+ assertEquals("The retrieved FaultReference direction is not that which was set",
+ Direction.OUT, fFaultReferenceComp.getDirection());
+ }
+
+ /*
+ * Test that the (Mandatory) message label attribute ("messageLabel") can be successfully set and retrieved
+ */
+ public void testGetMessageLabel()
+ {
+ NCName faultRefNCName = new NCName("faultRefName");
+ fFaultReferenceElement.setMessageLabel(faultRefNCName);
+ assertEquals("The retrieved Fault Reference name is not that which was set",
+ faultRefNCName, fFaultReferenceComp.getMessageLabel());
+ }
+
+ /*
+ * Test that the (Mandatory) InterfaceFault can be successfully retrieved.
+ * The fault reference is to an Interface Fault associated with the grandparent InterfaceElement.
+ */
+ public void testGetInterfaceFault()
+ {
+ WSDLFactory factory = null;
+ try {
+ factory = WSDLFactory.newInstance();
+ } catch (WSDLException e) {
+ fail("Can't instantiate the WSDLFactory object.");
+ }
+
+ // Create the DescriptionElement->InterfaceElement->InterfaceOperationElement->InterfaceFaultReference hierarchy
+ DescriptionElement desc = factory.newDescription();
+ InterfaceElement interfaceElement = desc.addInterfaceElement();
+ InterfaceOperationElement interfaceOperationElement = interfaceElement.addInterfaceOperationElement();
+
+ // Add an InterfaceFault to the InterfaceElement
+ InterfaceFaultElement faultElement = interfaceElement.addInterfaceFaultElement();
+ faultElement.setName(new NCName("Fault1"));
+
+ // create the InterfaceFaultReference to test
+ InterfaceFaultReferenceElement faultReference = interfaceOperationElement.addInterfaceFaultReferenceElement();
+ faultReference.setRef(new QName("Fault1"));
+
+ // An alternative here would be to create a Description element on with to hang the
+ // hierarchy, call toComponent() on this and extract the InterfaceFaultReference from this.
+ // However this inadvertently tests the Description class which is out of scope for this unit test.
+ InterfaceFault retrievedFault = ((InterfaceFaultReference)faultReference).getInterfaceFault();
+
+ assertEquals("The retrieved InterfaceFault is not that which was set",
+ (InterfaceFault)faultElement, retrievedFault);
+ }
+
+ /*
+ * toElement()
+ */
+ public void testToElement()
+ {
+ assertEquals(fFaultReferenceElement, fFaultReferenceComp.toElement());
+ }
+}
Added: webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/InterfaceFaultTest.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/InterfaceFaultTest.java?rev=809833&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/InterfaceFaultTest.java (added)
+++ webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/InterfaceFaultTest.java Tue Sep 1 05:50:45 2009
@@ -0,0 +1,197 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 org.apache.woden.wsdl20;
+
+import java.io.Reader;
+import java.io.StringReader;
+import java.net.URI;
+
+import javax.xml.namespace.QName;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.apache.woden.WSDLException;
+import org.apache.woden.WSDLFactory;
+import org.apache.woden.internal.schema.InlinedSchemaImpl;
+import org.apache.woden.internal.wsdl20.Constants;
+import org.apache.woden.internal.wsdl20.DescriptionImpl;
+import org.apache.woden.internal.wsdl20.ElementDeclarationImpl;
+import org.apache.woden.schema.InlinedSchema;
+import org.apache.woden.types.NCName;
+import org.apache.woden.types.QNameTokenUnion;
+import org.apache.woden.wsdl20.xml.DescriptionElement;
+import org.apache.woden.wsdl20.xml.InterfaceElement;
+import org.apache.woden.wsdl20.xml.InterfaceFaultElement;
+import org.apache.woden.wsdl20.xml.TypesElement;
+import org.apache.ws.commons.schema.XmlSchema;
+import org.apache.ws.commons.schema.XmlSchemaCollection;
+import org.apache.ws.commons.schema.XmlSchemaElement;
+import org.apache.xerces.parsers.DOMParser;
+import org.apache.xerces.xni.parser.XMLInputSource;
+import org.w3c.dom.Document;
+
+/**
+ * Unit tests for the InterfaceFault class.
+ *
+ * @author Graham Turrell (gturrell@apache.org)
+ */
+public class InterfaceFaultTest extends TestCase {
+
+ private InterfaceFaultElement fFaultElement = null;
+ private InterfaceFault fFault = null;
+ private DescriptionElement fDescriptionElement = null;
+ private Description fDescription = null;
+ private InterfaceElement fInterfaceElement = null;
+ private final String FAULT_NAME = "faultName";
+ private final String INTF_NAME = "interfaceName";
+ private final String TNS = "http://example.org";
+
+ public static Test suite()
+ {
+ return new TestSuite(InterfaceFaultTest.class);
+ }
+
+ /*
+ * @see TestCase#setUp()
+ */
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ WSDLFactory factory = null;
+ try {
+ factory = WSDLFactory.newInstance();
+ } catch (WSDLException e) {
+ fail("Can't instantiate the WSDLFactory object.");
+ }
+ fDescriptionElement = factory.newDescription();
+ fDescriptionElement.setTargetNamespace(URI.create(TNS));
+ fInterfaceElement = fDescriptionElement.addInterfaceElement();
+ fInterfaceElement.setName(new NCName(INTF_NAME));
+ fFaultElement = fInterfaceElement.addInterfaceFaultElement();
+ fFaultElement.setName(new NCName(FAULT_NAME));
+ fFaultElement.setElement(new QNameTokenUnion(new QName(FAULT_NAME)));
+ fDescription = fDescriptionElement.toComponent();
+ Interface iface = fDescription.getInterface(new QName(TNS,INTF_NAME));
+ fFault = iface.getInterfaceFault(new QName(TNS,FAULT_NAME));
+ }
+
+ /*
+ * @see TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ }
+
+ /*
+ * Test that a (Mandatory) Name QName can be successfully retrieved
+ */
+ public void testGetName()
+ {
+ QName faultName = new QName(TNS, FAULT_NAME);
+ fDescription = fDescriptionElement.toComponent();
+ fFault = fDescription.getInterface(new QName(TNS, INTF_NAME)).getInterfaceFault(new QName(TNS, FAULT_NAME));
+ assertEquals("The retrieved fault name is not that which was set",
+ faultName, fFault.getName());
+ }
+
+ /*
+ * Test that the (Mandatory) Message Content Model property can be successfully retrieved
+ */
+ public void testGetMessageContentModel()
+ {
+ Description desc = fDescriptionElement.toComponent();
+ InterfaceFault fault = desc.getInterfaces()[0].getInterfaceFaults()[0];
+
+ fFaultElement.setElement(QNameTokenUnion.ANY);
+ assertEquals("The retrieved Message Content Model is not #any",
+ Constants.NMTOKEN_ANY, fault.getMessageContentModel());
+
+ fFaultElement.setElement(QNameTokenUnion.NONE);
+ assertEquals("The retrieved Message Content Model is not #none",
+ Constants.NMTOKEN_NONE, fault.getMessageContentModel());
+
+ fFaultElement.setElement(QNameTokenUnion.OTHER);
+ assertEquals("The retrieved Message Content Model is not #other",
+ Constants.NMTOKEN_OTHER, fault.getMessageContentModel());
+
+ fFaultElement.setElement(null);
+ assertEquals("The retrieved Message Content Model is not #other",
+ Constants.NMTOKEN_OTHER, fault.getMessageContentModel());
+
+ fFaultElement.setElement(new QNameTokenUnion(new QName("elementName")));
+ assertEquals("The retrieved Message Content Model is not #element",
+ Constants.NMTOKEN_ELEMENT, fault.getMessageContentModel());
+ }
+
+ /*
+ * Test that an (optional) ElementDecalaration can be successfully retrieved
+ */
+ public void testGetElementDeclaration() throws Exception
+ {
+ fFaultElement.setName(new NCName(FAULT_NAME));
+ fDescription = fDescriptionElement.toComponent();
+ Interface iface = fDescription.getInterface(new QName(TNS,INTF_NAME));
+ InterfaceFault fault = iface.getInterfaceFault(new QName(TNS,FAULT_NAME));
+ assertNotNull(fault);
+
+ // Default case
+ assertNull("When 'element' attribute is omitted, no ElementDeclaration should be present", fault.getElementDeclaration());
+
+ // Test that the expected ElementDeclaration is returned
+ TypesElement typesElement = fDescriptionElement.addTypesElement(); //throws WSDLException
+ InlinedSchema schema = new InlinedSchemaImpl();
+ String schemaString = "<schema xmlns=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"http://www.sample.org\">"
+ + "<complexType name=\"myType\">"
+ + "<sequence>"
+ + "<element name=\"element\" type=\"string\"/>"
+ + "</sequence>"
+ + "</complexType>"
+ + "<element name=\"myElement\" type=\"string\"/>"
+ + "</schema>";
+ DOMParser builder = new DOMParser();
+ Reader reader = new StringReader(schemaString);
+ XMLInputSource is = new XMLInputSource(null,null,null,reader,null);
+ builder.parse(is); //throws IOException
+ Document schemaDoc1 = builder.getDocument();
+ XmlSchemaCollection xsc = new XmlSchemaCollection();
+ XmlSchema xs1 = xsc.read(schemaDoc1.getDocumentElement());
+ schema.setSchemaDefinition(xs1);
+ URI schemaNS = URI.create("http://www.sample.org");
+ schema.setNamespace(schemaNS);
+ typesElement.addSchema(schema);
+
+ QName elemQN = new QName("http://www.sample.org","myElement");
+
+ fFaultElement.setElement(new QNameTokenUnion(elemQN));
+ ElementDeclaration elemDecl = fault.getElementDeclaration();
+
+ assertEquals("The ElementDeclaration did not match the qname in the 'element' attribute",
+ elemQN, elemDecl.getName());
+ }
+
+ /*
+ * toElement()
+ */
+ public void testToElement()
+ {
+ assertEquals(fFaultElement, fFault.toElement());
+ }
+
+}
Added: webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/InterfaceMessageReferenceTest.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/InterfaceMessageReferenceTest.java?rev=809833&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/InterfaceMessageReferenceTest.java (added)
+++ webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/InterfaceMessageReferenceTest.java Tue Sep 1 05:50:45 2009
@@ -0,0 +1,205 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 org.apache.woden.wsdl20;
+
+import java.io.Reader;
+import java.io.StringReader;
+import java.net.URI;
+
+import javax.xml.namespace.QName;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.apache.woden.WSDLException;
+import org.apache.woden.WSDLFactory;
+import org.apache.woden.internal.schema.InlinedSchemaImpl;
+import org.apache.woden.internal.wsdl20.Constants;
+import org.apache.woden.schema.InlinedSchema;
+import org.apache.woden.types.NCName;
+import org.apache.woden.types.QNameTokenUnion;
+import org.apache.woden.wsdl20.enumeration.Direction;
+import org.apache.woden.wsdl20.xml.DescriptionElement;
+import org.apache.woden.wsdl20.xml.InterfaceElement;
+import org.apache.woden.wsdl20.xml.InterfaceMessageReferenceElement;
+import org.apache.woden.wsdl20.xml.InterfaceOperationElement;
+import org.apache.woden.wsdl20.xml.TypesElement;
+import org.apache.ws.commons.schema.XmlSchema;
+import org.apache.ws.commons.schema.XmlSchemaCollection;
+import org.apache.xerces.parsers.DOMParser;
+import org.apache.xerces.xni.parser.XMLInputSource;
+import org.w3c.dom.Document;
+
+
+
+/**
+ * Unit tests for the InterfaceMessageReference class.
+ *
+ * @author Graham Turrell (gturrell@apache.org)
+ */
+public class InterfaceMessageReferenceTest extends TestCase {
+
+ private DescriptionElement fDescriptionElement = null;
+ private InterfaceElement fInterfaceElement = null;
+ private InterfaceOperationElement fInterfaceOperationElement = null;
+ private InterfaceMessageReferenceElement fMessageReferenceElement = null;
+ private final String TNS = "http://example.org";
+ private final String INTF_NAME = "interfaceName";
+ private final String OPER_NAME = "operationName";
+
+ public static Test suite()
+ {
+ return new TestSuite(InterfaceMessageReferenceTest.class);
+ }
+
+ /*
+ * @see TestCase#setUp()
+ */
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ WSDLFactory factory = null;
+ try {
+ factory = WSDLFactory.newInstance();
+ } catch (WSDLException e) {
+ fail("Can't instantiate the WSDLFactory object.");
+ }
+ fDescriptionElement = factory.newDescription();
+ fDescriptionElement.setTargetNamespace(URI.create(TNS));
+ fInterfaceElement = fDescriptionElement.addInterfaceElement();
+ fInterfaceElement.setName(new NCName(INTF_NAME));
+ fInterfaceOperationElement = fInterfaceElement.addInterfaceOperationElement();
+ fInterfaceOperationElement.setName(new NCName(OPER_NAME));
+ fMessageReferenceElement = fInterfaceOperationElement.addInterfaceMessageReferenceElement();
+ }
+
+ /*
+ * @see TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ }
+
+ /*
+ * Test that a (mandatory) direction can be successfully retrieved
+ */
+ public void testGetDirection()
+ {
+ fMessageReferenceElement.setDirection(Direction.OUT);
+ Description desc = fDescriptionElement.toComponent();
+ InterfaceMessageReference msgRef = desc.getInterfaces()[0].getInterfaceOperations()[0].getInterfaceMessageReferences()[0];
+ assertEquals("The retrieved direction is not that which was set",
+ Direction.OUT, msgRef.getDirection());
+ }
+
+ /*
+ * Test that the (Mandatory) message label attribute ("messageLabel") can be successfully retrieved
+ */
+ public void testGetMessageLabel()
+ {
+ NCName messageRefNCName = new NCName("messageRefName");
+ fMessageReferenceElement.setMessageLabel(messageRefNCName);
+ Description desc = fDescriptionElement.toComponent();
+ InterfaceMessageReference msgRef = desc.getInterfaces()[0].getInterfaceOperations()[0].getInterfaceMessageReferences()[0];
+ assertEquals("The retrieved message label is not that which was set",
+ messageRefNCName, msgRef.getMessageLabel());
+ }
+
+ /*
+ * Test that the (Mandatory) Message Content Model property can be successfully retrieved
+ */
+ public void testGetMessageContentModel()
+ {
+ Description desc = fDescriptionElement.toComponent();
+ InterfaceMessageReference msgRef = desc.getInterfaces()[0].getInterfaceOperations()[0].getInterfaceMessageReferences()[0];
+
+ fMessageReferenceElement.setElement(QNameTokenUnion.ANY);
+ assertEquals("The retrieved Message Content Model is not #any",
+ Constants.NMTOKEN_ANY, msgRef.getMessageContentModel());
+
+ fMessageReferenceElement.setElement(QNameTokenUnion.NONE);
+ assertEquals("The retrieved Message Content Model is not #none",
+ Constants.NMTOKEN_NONE, msgRef.getMessageContentModel());
+
+ fMessageReferenceElement.setElement(QNameTokenUnion.OTHER);
+ assertEquals("The retrieved Message Content Model is not #other",
+ Constants.NMTOKEN_OTHER, msgRef.getMessageContentModel());
+
+ fMessageReferenceElement.setElement(new QNameTokenUnion(new QName("elementName")));
+ assertEquals("The retrieved Message Content Model is not #element",
+ Constants.NMTOKEN_ELEMENT, msgRef.getMessageContentModel());
+ }
+
+ /*
+ * Test that an (optional) ElementDecalaration can be successfully retrieved
+ */
+ public void testGetElementDeclaration() throws Exception
+ {
+ Description desc = fDescriptionElement.toComponent();
+ Interface iface = desc.getInterface(new QName(TNS,INTF_NAME));
+ InterfaceOperation oper = iface.getInterfaceOperation(new QName(TNS,OPER_NAME));
+ InterfaceMessageReference msgRef = oper.getInterfaceMessageReferences()[0];
+ assertNotNull(msgRef);
+
+ // Default case
+ assertNull("When 'element' attribute is omitted, no ElementDeclaration should be present", msgRef.getElementDeclaration());
+
+ // Test that the expected ElementDeclaration is returned
+ TypesElement typesElement = fDescriptionElement.addTypesElement(); //throws WSDLException
+ InlinedSchema schema = new InlinedSchemaImpl();
+ String schemaString = "<schema xmlns=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"http://www.sample.org\">"
+ + "<complexType name=\"myType\">"
+ + "<sequence>"
+ + "<element name=\"element\" type=\"string\"/>"
+ + "</sequence>"
+ + "</complexType>"
+ + "<element name=\"myElement\" type=\"string\"/>"
+ + "</schema>";
+ DOMParser builder = new DOMParser();
+ Reader reader = new StringReader(schemaString);
+ XMLInputSource is = new XMLInputSource(null,null,null,reader,null);
+ builder.parse(is); //throws IOException
+ Document schemaDoc1 = builder.getDocument();
+ XmlSchemaCollection xsc = new XmlSchemaCollection();
+ XmlSchema xs1 = xsc.read(schemaDoc1.getDocumentElement());
+ schema.setSchemaDefinition(xs1);
+ URI schemaNS = URI.create("http://www.sample.org");
+ schema.setNamespace(schemaNS);
+ typesElement.addSchema(schema);
+
+ QName elemQN = new QName("http://www.sample.org","myElement");
+
+ fMessageReferenceElement.setElement(new QNameTokenUnion(elemQN));
+ ElementDeclaration elemDecl = msgRef.getElementDeclaration();
+
+ assertEquals("The ElementDeclaration did not match the qname in the 'element' attribute",
+ elemQN, elemDecl.getName());
+ }
+
+
+ /*
+ * toElement() - test that the infoset element view of this component can be retreived
+ */
+ public void testToElement()
+ {
+ Description desc = fDescriptionElement.toComponent();
+ InterfaceMessageReference msgRef = desc.getInterfaces()[0].getInterfaceOperations()[0].getInterfaceMessageReferences()[0];
+ assertEquals(fMessageReferenceElement, msgRef.toElement());
+ }
+}
Added: webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/InterfaceOperationTest.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/InterfaceOperationTest.java?rev=809833&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/InterfaceOperationTest.java (added)
+++ webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/InterfaceOperationTest.java Tue Sep 1 05:50:45 2009
@@ -0,0 +1,213 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 org.apache.woden.wsdl20;
+
+import java.net.URI;
+import java.util.Arrays;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.apache.woden.WSDLException;
+import org.apache.woden.WSDLFactory;
+import org.apache.woden.internal.ErrorReporterImpl;
+import org.apache.woden.internal.wsdl20.DescriptionImpl;
+import org.apache.woden.types.NCName;
+import org.apache.woden.wsdl20.extensions.ExtensionRegistry;
+import org.apache.woden.wsdl20.xml.DescriptionElement;
+import org.apache.woden.wsdl20.xml.InterfaceElement;
+import org.apache.woden.wsdl20.xml.InterfaceFaultReferenceElement;
+import org.apache.woden.wsdl20.xml.InterfaceMessageReferenceElement;
+import org.apache.woden.wsdl20.xml.InterfaceOperationElement;
+
+/**
+ * Unit tests for the InterfaceOperation class.
+ *
+ * @author Graham Turrell (gturrell@apache.org)
+ */
+public class InterfaceOperationTest extends TestCase {
+
+ // create a parent Description to hang the Interfaces off
+ private DescriptionElement fDescriptionElement = null;
+ private Description fDescription = null;
+ private InterfaceElement fInterfaceElement = null;
+ private InterfaceOperationElement fInterfaceOperationElement = null;
+ private InterfaceOperation fInterfaceOperation = null;
+ private final String INTF_NAME = "interfaceOperationName";
+ private final String INTOP_NAME = "faultName";
+ private URI fPattern = null;
+ private URI fStyleURI1 = null;
+ private URI fStyleURI2 = null;
+
+ public static Test suite()
+ {
+ return new TestSuite(InterfaceOperationTest.class);
+ }
+
+ /*
+ * @see TestCase#setUp()
+ */
+ protected void setUp() throws Exception
+ {
+ WSDLFactory factory = null;
+ try {
+ factory = WSDLFactory.newInstance();
+ } catch (WSDLException e) {
+ fail("Can't instantiate the WSDLFactory object.");
+ }
+
+ super.setUp();
+ fDescriptionElement = factory.newDescription();
+ fInterfaceElement = fDescriptionElement.addInterfaceElement();
+ fInterfaceElement.setName(new NCName(INTF_NAME));
+ fInterfaceOperationElement = fInterfaceElement.addInterfaceOperationElement();
+ fInterfaceOperationElement.setName(new NCName(INTOP_NAME));
+
+ fPattern = new URI("http://www.w3.org/0000/00/wsdl/in-out");
+ fInterfaceOperationElement.setPattern(fPattern);
+
+ fDescription = fDescriptionElement.toComponent();
+
+ Interface iface = fDescription.getInterface(new QName(INTF_NAME));
+ fInterfaceOperation = iface.getInterfaceOperation(new QName(INTOP_NAME));
+
+ fStyleURI1 = new URI("http://www.w3.org/0000/00/apacheStyle");
+ fStyleURI2 = new URI("http://www.w3.org/0000/00/anotherApacheStyle");
+ }
+
+ /*
+ * @see TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ }
+
+ /*
+ * Mandatory attribute ("name")
+ * - getName()
+ */
+ public void testGetName()
+ {
+ QName retrievedName = fInterfaceOperation.getName();
+ assertEquals("Retrieved InterfaceOperation name does not match that set -", INTOP_NAME, retrievedName.toString());
+ }
+
+ /*
+ * Mandatory attribute ("pattern") (message exchange pattern)
+ * - getMessageExchangePattern()
+ */
+ public void testGetMessageExchangePattern()
+ {
+ URI uri = fInterfaceOperation.getMessageExchangePattern();
+ assertEquals("Retrieved InterfaceOperation mep does not match that set -", fPattern, uri);
+ }
+
+ /*
+ * Optional attribute ("style")
+ * style comprises a list of URIs
+ * - getStyle() returns the list
+ */
+ public void testGetStyle()
+ {
+ // check the default:
+ URI[] style = fInterfaceOperation.getStyle();
+ assertNotNull(style);
+ assertEquals("Retrieved InterfaceOperation style should be empty if none set -", 0, style.length);
+
+ // add some uri's a couple of times
+ fInterfaceOperationElement.addStyleURI(fStyleURI1);
+ fInterfaceOperationElement.addStyleURI(fStyleURI2);
+ fDescription = fDescriptionElement.toComponent();
+
+ // getStyle()
+ style = fInterfaceOperation.getStyle();
+ assertNotNull(style);
+ assertEquals("Unexpected number of URIs in the style -", 2, style.length);
+ // check that all added URIs appear in the style
+ List sdL = Arrays.asList(style);
+ assertTrue(sdL.contains(fStyleURI1));
+ assertTrue(sdL.contains(fStyleURI2));
+ }
+
+ /*
+ * References to Optional child elements "infault" and "outfault"
+ * - getInterfaceFaultReferences()
+ */
+ public void testGetInterfaceFaultReferences()
+ {
+ // check the default:
+ InterfaceFaultReference[] ifrArray = fInterfaceOperation.getInterfaceFaultReferences();
+ assertNotNull("Expected an array of InterfaceFaultReference.", ifrArray);
+ assertEquals("Retrieved InterfaceFaultReferenceElement group should be empty if none set -", 0, ifrArray.length);
+
+ // create some InterfaceFaultReferenceElements
+ InterfaceFaultReferenceElement ifr1 = fInterfaceOperationElement.addInterfaceFaultReferenceElement();
+ InterfaceFaultReferenceElement ifr2 = fInterfaceOperationElement.addInterfaceFaultReferenceElement();
+ fDescription = fDescriptionElement.toComponent();
+
+ // getInterfaceFaultReferenceElements()
+ ifrArray = fInterfaceOperation.getInterfaceFaultReferences();
+ assertNotNull("Expected an array of InterfaceFaultReference.", ifrArray);
+ assertEquals("Retrieved InterfaceFaultReference group should be same number as those set -", 2, ifrArray.length);
+
+ // verify all fault references returned
+ List ifreL = Arrays.asList(ifrArray);
+ assertTrue(ifreL.contains(ifr1));
+ assertTrue(ifreL.contains(ifr2));
+ }
+
+ /*
+ * References to (Optional) child elements "input" and "output"
+ * - getInterfaceMessageReferences()
+ */
+ public void testGetInterfaceMessageReferences()
+ {
+ // check the default:
+ InterfaceMessageReference[] imrArray = fInterfaceOperation.getInterfaceMessageReferences();
+ assertNotNull("Expected an array of InterfaceMessageReference.", imrArray);
+ assertEquals("Retrieved InterfaceFaultReference group should be empty if none set -", 0, imrArray.length);
+
+ // create some InterfaceMessageReferenceElements
+ InterfaceMessageReferenceElement imre1 = fInterfaceOperationElement.addInterfaceMessageReferenceElement();
+ InterfaceMessageReferenceElement imre2 = fInterfaceOperationElement.addInterfaceMessageReferenceElement();
+ fDescription = fDescriptionElement.toComponent();
+
+ // getInterfaceMessageReferences()
+ imrArray = fInterfaceOperation.getInterfaceMessageReferences();
+ assertNotNull("Expected an array of InterfaceMessageReference.", imrArray);
+ assertEquals("Retrieved InterfaceMessageReference group should be same number as those set -", 2, imrArray.length);
+
+ // verify all fault references returned
+ List imreL = Arrays.asList(imrArray);
+ assertTrue(imreL.contains(imre1));
+ assertTrue(imreL.contains(imre2));
+ }
+
+ /*
+ * toElement()
+ */
+ public void testToElement()
+ {
+ assertEquals(fInterfaceOperationElement, fInterfaceOperation.toElement());
+ }
+
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org