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 [7/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/xml/BindingFaultReferenceElementTest.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/BindingFaultReferenceElementTest.java?rev=809833&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/BindingFaultReferenceElementTest.java (added)
+++ webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/BindingFaultReferenceElementTest.java Tue Sep 1 05:50:45 2009
@@ -0,0 +1,123 @@
+/**
+ * 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.xml;
+
+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.BindingFaultReferenceImpl;
+import org.apache.woden.internal.wsdl20.DescriptionImpl;
+import org.apache.woden.types.NCName;
+
+/**
+ * Unit tests for the BindingFaultReferenceElement class.
+ *
+ * @author Graham Turrell (gturrell@apache.org)
+ */
+public class BindingFaultReferenceElementTest extends TestCase {
+
+ private BindingFaultReferenceElement fFaultReference = null;
+
+ public static Test suite()
+ {
+ return new TestSuite(BindingFaultReferenceElementTest.class);
+
+ }
+ /*
+ * @see TestCase#setUp()
+ */
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ fFaultReference = new BindingFaultReferenceImpl();
+ }
+
+ /*
+ * @see TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ }
+
+ /*
+ * Test that the (Mandatory) message label attribute ("messageLabel") can be successfully set and retrieved
+ */
+ public void testSetGetMessageLabel()
+ {
+ NCName faultRefNCName = new NCName("faultRefName");
+ fFaultReference.setMessageLabel(faultRefNCName);
+ assertEquals("The retrieved Element name is not that which was set",
+ faultRefNCName, fFaultReference.getMessageLabel());
+ }
+
+ /*
+ * Test that the (Mandatory) BindingFault reference attribute ("ref") can be successfully set and retrieved
+ */
+ public void testSetGetRef()
+ {
+ QName faultRefName = new QName("faultRefName");
+ fFaultReference.setRef(faultRefName);
+ assertEquals("The retrieved Element name is not that which was set",
+ faultRefName, fFaultReference.getRef());
+ }
+
+ /*
+ * Test that the (Mandatory) InterfaceFaultReference can be successfully retrieved.
+ * The fault reference is to an Interface Fault associated with the grandparent BindingElement.
+ */
+ public void testGetInterfaceFaultReferenceElement()
+ {
+ 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->InterfaceFaultReferenceElement 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"));
+ InterfaceFaultReferenceElement iffrElement = ifopElement.addInterfaceFaultReferenceElement();
+ iffrElement.setMessageLabel(new NCName("Fault1MessageLabel"));
+ iffrElement.setRef(new QName("Fault1Ref"));
+
+ // Create the BindingOperationElement->BindingFaultReferenceElement hierarchy
+ BindingOperationElement bopElement = bindingElement.addBindingOperationElement();
+ bopElement.setRef(new QName("operation1"));
+ fFaultReference = bopElement.addBindingFaultReferenceElement();
+ fFaultReference.setMessageLabel(new NCName("Fault1MessageLabel"));
+ fFaultReference.setRef(new QName("Fault1Ref"));
+
+ InterfaceFaultReferenceElement retrievedFault = fFaultReference.getInterfaceFaultReferenceElement();
+ assertEquals("The retrieved InterfaceFaultReferenceElement is not that which was set",
+ iffrElement, retrievedFault);
+ }
+}
Added: webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/BindingMessageReferenceElementTest.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/BindingMessageReferenceElementTest.java?rev=809833&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/BindingMessageReferenceElementTest.java (added)
+++ webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/BindingMessageReferenceElementTest.java Tue Sep 1 05:50:45 2009
@@ -0,0 +1,124 @@
+/**
+ * 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.xml;
+
+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.types.NCName;
+import org.apache.woden.wsdl20.enumeration.Direction;
+
+
+
+/**
+ * Unit tests for the BindingMessageReferenceElement class.
+ *
+ * @author Graham Turrell (gturrell@apache.org)
+ */
+public class BindingMessageReferenceElementTest extends TestCase {
+
+ private BindingMessageReferenceElement fMessageReference = null;
+
+ public static Test suite()
+ {
+ return new TestSuite(BindingMessageReferenceElementTest.class);
+
+ }
+ /*
+ * @see TestCase#setUp()
+ */
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ fMessageReference = new BindingMessageReferenceImpl();
+ }
+
+ /*
+ * @see TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ }
+
+ /*
+ * Test that a (mandatory) direction can be successfully set and retrieved
+ */
+ public void testSetGetDirection()
+ {
+ // Default case
+ assertNull("The retrieved Direction when unset should be null", fMessageReference.getDirection());
+
+ fMessageReference.setDirection(Direction.OUT);
+ assertEquals("The retrieved MessageReference direction is not that which was set",
+ Direction.OUT, fMessageReference.getDirection());
+ }
+
+ /*
+ * Test that the (Mandatory) message label attribute ("messageLabel") can be successfully set and retrieved
+ */
+ public void testSetGetMessageLabel()
+ {
+ NCName messageRefNCName = new NCName("messageRefName");
+ fMessageReference.setMessageLabel(messageRefNCName);
+ assertEquals("The retrieved messageLabel is not that which was set",
+ messageRefNCName, fMessageReference.getMessageLabel());
+ }
+
+ /*
+ * Test that the associated InterfaceMessageReferenceElement can be retrieved.
+ */
+ public void testGetInterfaceMessageReferenceElement()
+ {
+ 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
+ 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("input1MessageLabel"));
+
+ // Create the BindingOperationElement->BindingMessageReferenceElement
+ BindingOperationElement bopElement = bindingElement.addBindingOperationElement();
+ bopElement.setRef(new QName("operation1"));
+ fMessageReference = bopElement.addBindingMessageReferenceElement();
+ fMessageReference.setMessageLabel(new NCName("input1MessageLabel"));
+
+ InterfaceMessageReferenceElement retrievedMsgRef = fMessageReference.getInterfaceMessageReferenceElement();
+ assertEquals("The InterfaceMessageReferenceElement is not the expected one.",
+ ifmrElement, retrievedMsgRef);
+ }
+}
Added: webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/BindingOperationElementTest.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/BindingOperationElementTest.java?rev=809833&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/BindingOperationElementTest.java (added)
+++ webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/BindingOperationElementTest.java Tue Sep 1 05:50:45 2009
@@ -0,0 +1,218 @@
+/**
+ * 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.xml;
+
+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;
+
+/**
+ * Unit tests for the BindingOperationElement class.
+ *
+ * @author Graham Turrell (gturrell@apache.org)
+ */
+
+public class BindingOperationElementTest extends TestCase {
+
+ // create a parent Description to hang the Bindings off
+ private DescriptionElement fDescriptionElement = null;
+ private BindingElement fBindingElement = null;
+ private BindingOperationElement fBindingOperationElement = null;
+ private final String BOP_NAME = "BindingOperationName";
+ private WSDLFactory fFactory = null;
+
+ public static Test suite()
+ {
+ return new TestSuite(BindingOperationElementTest.class);
+ }
+
+ /*
+ * @see TestCase#setUp()
+ */
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+
+ try {
+ fFactory = WSDLFactory.newInstance();
+ } catch (WSDLException e) {
+ fail("Can't instantiate the WSDLFactory object.");
+ }
+
+ fDescriptionElement = fFactory.newDescription();
+ fBindingElement = fDescriptionElement.addBindingElement();
+ fBindingOperationElement = fBindingElement.addBindingOperationElement();
+ }
+
+ /*
+ * @see TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ }
+
+ /*
+ * Mandatory attribute ("ref")
+ * - setRef()
+ * - getRef()
+ */
+ public void testGetSetRef()
+ {
+ fBindingOperationElement.setRef(new QName(BOP_NAME));
+ QName retrievedName = fBindingOperationElement.getRef();
+ assertEquals("Retrieved BindingOperationElement name does not match that set -", BOP_NAME, retrievedName.toString());
+ }
+
+ /*
+ * References to Optional child elements "infault" and "outfault"
+ * - addBindingFaultReferenceElement()
+ * - getBindingFaultReferenceElements()
+ * - removeBindingFaultReferenceElement()
+ */
+ public void testAddGetRemoveBindingFaultReferenceElements()
+ {
+ // check the default:
+ BindingFaultReferenceElement[] bfreArray = fBindingOperationElement.getBindingFaultReferenceElements();
+ assertNotNull("Expected an array of BindingFaultReferenceElement.", bfreArray);
+ assertEquals("Retrieved BindingFaultReferenceElement group should be empty if none set -", 0, bfreArray.length);
+
+ // addBindingFaultReferenceElement() - create some BindingFaultReferenceElements
+ BindingFaultReferenceElement bfre1 = fBindingOperationElement.addBindingFaultReferenceElement();
+ BindingFaultReferenceElement bfre2 = fBindingOperationElement.addBindingFaultReferenceElement();
+
+ // getBindingFaultReferenceElements()
+ bfreArray = fBindingOperationElement.getBindingFaultReferenceElements();
+ assertNotNull("Expected an array of BindingFaultReferenceElement.", bfreArray);
+ assertEquals("Retrieved BindingFaultReferenceElement group should be same number as those set -", 2, bfreArray.length);
+
+ // verify all fault references returned
+ List bfreL = Arrays.asList(bfreArray);
+ assertTrue(bfreL.contains(bfre1));
+ assertTrue(bfreL.contains(bfre2));
+
+ // removeBindingFaultReferenceElement()
+ // 1 - attempt to remove an unadded BFRE
+ BindingFaultReferenceElement bfre3 = null;
+ fBindingOperationElement.removeBindingFaultReferenceElement(bfre3);
+ bfreArray = fBindingOperationElement.getBindingFaultReferenceElements();
+ assertNotNull("Expected an array of BindingFaultReferenceElement.", bfreArray);
+ assertEquals("Retrieved BindingFaultReferenceElement group should be same number as those set -", 2, bfreArray.length);
+
+ // 2- remove all added
+ fBindingOperationElement.removeBindingFaultReferenceElement(bfre1);
+ fBindingOperationElement.removeBindingFaultReferenceElement(bfre2);
+ bfreArray = fBindingOperationElement.getBindingFaultReferenceElements();
+ assertNotNull("Expected an array of BindingFaultReferenceElement.", bfreArray);
+ assertEquals("Retrieved BindingFaultReferenceElement group should be empty if all removed -", 0, bfreArray.length);
+
+ //3 - attempt to remove previously removed from empty list
+ fBindingOperationElement.removeBindingFaultReferenceElement(bfre2);
+ bfreArray = fBindingOperationElement.getBindingFaultReferenceElements();
+ assertNotNull("Expected an array of BindingFaultReferenceElement.", bfreArray);
+ assertEquals("Retrieved BindingFaultReferenceElement group should be empty if all removed -", 0, bfreArray.length);
+ }
+
+ /*
+ * References to Optional child elements "input" and "output"
+ * - addBindingMessageReferenceElement()
+ * - getBindingMessageReferenceElements()
+ * - removeBindingMessageReferenceElement()
+ */
+ public void testAddGetRemoveBindingMessageReferenceElements()
+ {
+ // check the default:
+ BindingMessageReferenceElement[] bmreArray = fBindingOperationElement.getBindingMessageReferenceElements();
+ assertNotNull("Expected an array of BindingMessageReferenceElement.", bmreArray);
+ assertEquals("Retrieved BindingFaultReferenceElement group should be empty if none set -", 0, bmreArray.length);
+
+ // addBindingMessageReferenceElement() - create some addBindingMessageReferenceElements
+ BindingMessageReferenceElement bmre1 = fBindingOperationElement.addBindingMessageReferenceElement();
+ BindingMessageReferenceElement bmre2 = fBindingOperationElement.addBindingMessageReferenceElement();
+
+ // getBindingMessageReferenceElements()
+ bmreArray = fBindingOperationElement.getBindingMessageReferenceElements();
+ assertNotNull("Expected an array of BindingMessageReferenceElement.", bmreArray);
+ assertEquals("Retrieved BindingMessageReferenceElement group should be same number as those set -", 2, bmreArray.length);
+
+ // verify all fault references returned
+ List bmreL = Arrays.asList(bmreArray);
+ assertTrue(bmreL.contains(bmre1));
+ assertTrue(bmreL.contains(bmre2));
+
+ // removeBindingMessageReferenceElement()
+ // 1 - attempt to remove an unadded BMRE
+ BindingMessageReferenceElement bmre3 = null;
+ fBindingOperationElement.removeBindingMessageReferenceElement(bmre3);
+ bmreArray = fBindingOperationElement.getBindingMessageReferenceElements();
+ assertNotNull("Expected an array of BindingMessageReferenceElement.", bmreArray);
+ assertEquals("Retrieved BindingMessageReferenceElement group should be same number as those set -", 2, bmreArray.length);
+
+ // 2- remove all added
+ fBindingOperationElement.removeBindingMessageReferenceElement(bmre1);
+ fBindingOperationElement.removeBindingMessageReferenceElement(bmre2);
+ bmreArray = fBindingOperationElement.getBindingMessageReferenceElements();
+ assertNotNull("Expected an array of BindingMessageReferenceElement.", bmreArray);
+ assertEquals("Retrieved BindingMessageReferenceElement group should be empty if all removed -", 0, bmreArray.length);
+
+ //3 - attempt to remove previously removed from empty list
+ fBindingOperationElement.removeBindingMessageReferenceElement(bmre2);
+ bmreArray = fBindingOperationElement.getBindingMessageReferenceElements();
+ assertNotNull("Expected an array of BindingMessageReferenceElement.", bmreArray);
+ assertEquals("Retrieved BindingMessageReferenceElement group should be empty if all removed -", 0, bmreArray.length);
+ }
+
+ /*
+ * Utility method to find the InterfaceOperation referenced by the (Mandatory) "ref" attribute
+ * - getInterfaceOperationElement()
+ */
+ public void testGetInterfaceOperationElement()
+ {
+ // check the default:
+ InterfaceOperationElement retrievedIntOpElement = fBindingOperationElement.getInterfaceOperationElement();
+ assertNull("Retrieved Interface Operation Element should be null if none set -", retrievedIntOpElement);
+
+ // Create and name an Interface Element
+ DescriptionElement desc = fFactory.newDescription();
+ InterfaceElement interfaceElement = desc.addInterfaceElement();
+ interfaceElement.setName(new NCName("interface1"));
+
+ // Create a binding from the description
+ fBindingElement = desc.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"));
+
+ retrievedIntOpElement = fBindingOperationElement.getInterfaceOperationElement();
+ assertEquals("Retrieved Interface Element was not that expected -", intOpElement, retrievedIntOpElement);
+ }
+}
Added: webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/ChildElementCreationTest.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/ChildElementCreationTest.java?rev=809833&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/ChildElementCreationTest.java (added)
+++ webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/ChildElementCreationTest.java Tue Sep 1 05:50:45 2009
@@ -0,0 +1,155 @@
+/**
+ * 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.xml;
+
+import java.util.Arrays;
+
+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;
+
+/**
+ * Test cases to check when calling XxxxElement.addYyyyElement() that:
+ * a) Xxxx.getYyyyElements() returns an array containing the added YyyyElement
+ * b) The YyyyElement.getParentElement() returns the instance of XxxxElement
+ *
+ * Do this for all Xxxx and Yyyy
+ */
+public class ChildElementCreationTest extends TestCase {
+
+ private WSDLFactory fFactory = null;
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(ChildElementCreationTest.class);
+ }
+
+ public static Test suite() {
+ return new TestSuite(ChildElementCreationTest.class);
+ }
+
+ public void setUp() {
+ try {
+ fFactory = WSDLFactory.newInstance();
+ } catch (WSDLException e) {
+ fail("Can't instantiate the WSDLFactory object.");
+ }
+ }
+
+ // Elements addable to Binding
+ public void testBindingFaultElement() {
+ DescriptionElement descEl = fFactory.newDescription();
+ BindingElement bindEl = descEl.addBindingElement();
+
+ BindingFaultElement bindFEl = bindEl.addBindingFaultElement();
+
+ assertTrue("BindingElement doesn't have correct BindingFaultElement",
+ Arrays.asList(bindEl.getBindingFaultElements()).contains(bindFEl));
+ assertTrue("BindingFaultElement has incorrect parent", bindFEl.getParentElement() == bindEl);
+ }
+
+ public void testBindingOperationElement() {
+ DescriptionElement descEl = fFactory.newDescription();
+ BindingElement bindEl = descEl.addBindingElement();
+
+ BindingOperationElement bindOpEl = bindEl.addBindingOperationElement();
+
+ assertTrue("BindingElement doesn't have correct BindingOperationElement",
+ Arrays.asList(bindEl.getBindingOperationElements()).contains(bindOpEl));
+ assertTrue("BindingOperationElement has incorrect parent", bindOpEl.getParentElement() == bindEl);
+ }
+
+ public void testBindingFaultReferenceElement() {
+ DescriptionElement descEl = fFactory.newDescription();
+ BindingElement bindEl = descEl.addBindingElement();
+ BindingOperationElement bindOpEl = bindEl.addBindingOperationElement();
+ BindingFaultReferenceElement bindFREl = bindOpEl.addBindingFaultReferenceElement();
+
+ assertTrue("BindingOperationElement doesn't have correct BindingFaultReferenceElement",
+ Arrays.asList(bindOpEl.getBindingFaultReferenceElements()).contains(bindFREl));
+ assertTrue("BindingOperationElement has incorrect parent", bindOpEl.getParentElement() == bindEl);
+ }
+
+ public void testBindingMessageReferenceElement() {
+ DescriptionElement descEl = fFactory.newDescription();
+ BindingElement bindEl = descEl.addBindingElement();
+ BindingOperationElement bindOpEl = bindEl.addBindingOperationElement();
+ BindingMessageReferenceElement bindMREl = bindOpEl.addBindingMessageReferenceElement();
+
+ assertTrue("BindingOperationElement doesn't have correct BindingMessageReferenceElement",
+ Arrays.asList(bindOpEl.getBindingMessageReferenceElements()).contains(bindMREl));
+ assertTrue("BindingOperationElement has incorrect parent", bindOpEl.getParentElement() == bindEl);
+ }
+
+ // Elements addable to Interface
+ public void testInterfaceFaultElement() {
+ DescriptionElement descEl = fFactory.newDescription();
+ InterfaceElement interfaceEl = descEl.addInterfaceElement();
+
+ InterfaceFaultElement interfaceFEl = interfaceEl.addInterfaceFaultElement();
+
+ assertTrue("InterfaceElement doesn't have correct InterfaceFaultElement",
+ Arrays.asList(interfaceEl.getInterfaceFaultElements()).contains(interfaceFEl));
+ assertTrue("InterfaceFaultElement has incorrect parent", interfaceFEl.getParentElement() == interfaceEl);
+ }
+
+ public void testInterfaceOperationElement() {
+ DescriptionElement descEl = fFactory.newDescription();
+ InterfaceElement interfaceEl = descEl.addInterfaceElement();
+
+ InterfaceOperationElement interfaceOpEl = interfaceEl.addInterfaceOperationElement();
+
+ assertTrue("InterfaceElement doesn't have correct InterfaceOperationElement",
+ Arrays.asList(interfaceEl.getInterfaceOperationElements()).contains(interfaceOpEl));
+ assertTrue("InterfaceOperationElement has incorrect parent", interfaceOpEl.getParentElement() == interfaceEl);
+ }
+
+ public void testInterfaceFaultReferenceElement() {
+ DescriptionElement descEl = fFactory.newDescription();
+ InterfaceElement interfaceEl = descEl.addInterfaceElement();
+ InterfaceOperationElement interfaceOpEl = interfaceEl.addInterfaceOperationElement();
+ InterfaceFaultReferenceElement interfaceFREl = interfaceOpEl.addInterfaceFaultReferenceElement();
+
+ assertTrue("InterfaceOperationElement doesn't have correct InterfaceFaultReferenceElement",
+ Arrays.asList(interfaceOpEl.getInterfaceFaultReferenceElements()).contains(interfaceFREl));
+ assertTrue("InterfaceFaultReferenceElement has incorrect parent", interfaceFREl.getParentElement() == interfaceOpEl);
+ }
+
+ public void testInterfaceMessageReferenceElement() {
+ DescriptionElement descEl = fFactory.newDescription();
+ InterfaceElement interfaceEl = descEl.addInterfaceElement();
+ InterfaceOperationElement interfaceOpEl = interfaceEl.addInterfaceOperationElement();
+ InterfaceMessageReferenceElement interfaceMREl = interfaceOpEl.addInterfaceMessageReferenceElement();
+
+ assertTrue("InterfaceOperationElement doesn't have correct InterfaceMessageReferenceElement",
+ Arrays.asList(interfaceOpEl.getInterfaceMessageReferenceElements()).contains(interfaceMREl));
+ assertTrue("InterfaceMessageReferenceElement has incorrect parent", interfaceMREl.getParentElement() == interfaceOpEl);
+ }
+
+ public void testEndpointElement() {
+ DescriptionElement descEl = fFactory.newDescription();
+ ServiceElement serviceEl = descEl.addServiceElement();
+ EndpointElement endpointEl = serviceEl.addEndpointElement();
+
+ assertTrue("ServiceElement doesn't have correct EndpointElement",
+ Arrays.asList(serviceEl.getEndpointElements()).contains(endpointEl));
+ assertTrue("EndpointElement has incorrect parent", endpointEl.getParentElement() == serviceEl);
+ }
+}
Added: webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/DescriptiontElementTest.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/DescriptiontElementTest.java?rev=809833&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/DescriptiontElementTest.java (added)
+++ webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/DescriptiontElementTest.java Tue Sep 1 05:50:45 2009
@@ -0,0 +1,157 @@
+/**
+ * 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.xml;
+
+import java.net.URI;
+import java.util.Map;
+
+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.wsdl20.Description;
+import org.apache.woden.wsdl20.extensions.ExtensionRegistry;
+
+/**
+ * Unit tests for the DescriptionElement class.
+ *
+ * @author Graham Turrell (gturrell@apache.org)
+ */
+public class DescriptiontElementTest extends TestCase {
+
+ private DescriptionElement fDescriptionElement = null;
+ private String fPrefix1 = "prefix1";
+ private String fPrefix2 = "prefix2";
+ private URI fNamespace1 = null;
+ private URI fNamespace2 = null;
+ private URI fDocBaseUri = null;
+ private WSDLFactory fFactory = null;
+
+ public static Test suite()
+ {
+ return new TestSuite(DescriptiontElementTest.class);
+ }
+
+ /*
+ * @see TestCase#setUp()
+ */
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+
+ try {
+ fFactory = WSDLFactory.newInstance();
+ } catch (WSDLException e) {
+ fail("Can't instantiate the WSDLFactory object.");
+ }
+
+ fDescriptionElement = fFactory.newDescription();
+ fNamespace1 = new URI("http://apache.org/namespaceURIa");
+ fNamespace2 = new URI("http://apache.org/namespaceURIb");
+ fDocBaseUri = new URI("http://apache.org/documentbaseURI");
+ }
+
+ /*
+ * @see TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ }
+
+ public void testSetGetDocumentBaseURI() {
+ fDescriptionElement.setDocumentBaseURI(fDocBaseUri);
+ URI retrievedUri = fDescriptionElement.getDocumentBaseURI();
+ assertEquals("Retrieved document base URI differs from that set", fDocBaseUri, retrievedUri);
+
+ }
+
+ public void testSetGetTargetNamespace() {
+ fDescriptionElement.setTargetNamespace(fNamespace1);
+ URI retrievedTNS = fDescriptionElement.getTargetNamespace();
+ assertEquals("Retrieved target Namespace URI differs from that set", fNamespace1, retrievedTNS);
+ }
+
+ public void testAddGetImportElements() {
+ ImportElement importElement1 = fDescriptionElement.addImportElement();
+ ImportElement importElement2 = fDescriptionElement.addImportElement();
+ ImportElement[] imports = fDescriptionElement.getImportElements();
+ assertEquals("Expected 2 import elements", 2, imports.length);
+ }
+
+ public void testAddGetIncludeElements() {
+ IncludeElement includeElement1 = fDescriptionElement.addIncludeElement();
+ IncludeElement includeElement2 = fDescriptionElement.addIncludeElement();
+ IncludeElement[] includes = fDescriptionElement.getIncludeElements();
+ assertEquals("Expected 2 include elements", 2, includes.length);
+ }
+
+ public void testAddGetInterfaceElements() {
+ InterfaceElement interfaceElement1 = fDescriptionElement.addInterfaceElement();
+ InterfaceElement interfaceElement2 = fDescriptionElement.addInterfaceElement();
+ InterfaceElement[] interfaces = fDescriptionElement.getInterfaceElements();
+ assertEquals("Expected 2 interface elements", 2, interfaces.length);
+ }
+
+ public void testAddGetBindingElements() {
+ BindingElement bindingElement1 = fDescriptionElement.addBindingElement();
+ BindingElement bindingElement2 = fDescriptionElement.addBindingElement();
+ BindingElement[] bindings = fDescriptionElement.getBindingElements();
+ assertEquals("Expected 2 binding elements", 2, bindings.length);
+ }
+
+ public void testAddGetServiceElements() {
+ ServiceElement serviceElement1 = fDescriptionElement.addServiceElement();
+ ServiceElement serviceElement2 = fDescriptionElement.addServiceElement();
+ ServiceElement[] services = fDescriptionElement.getServiceElements();
+ assertEquals("Expected 2 service elements", 2, services.length);
+ }
+
+ /*
+ * Call the method once to create a new TypesElement and check that its parent is the
+ * DescriptionElement under test.
+ * Call the method again and ensure the same TypesElement object is returned.
+ */
+ public void testGetTypesElement() {
+ // check first getTypesElement invocation...
+ TypesElement typesElement = fDescriptionElement.getTypesElement();
+ assertNull("Method returned TypesElement but expected null", typesElement);
+
+ // now create a new TypesElement
+ try {
+ typesElement = fDescriptionElement.addTypesElement();
+ } catch (WSDLException e) {
+ fail("Method could not create a new TypesElement as one already exists.");
+ }
+ assertNotNull("Method returned null but expected a TypesElement", typesElement);
+
+ if (typesElement != null) {
+ assertSame("Expected DescriptionElement to be parent of the TypesElement",
+ typesElement.getParentElement(), fDescriptionElement);
+ }
+ // check subsequent getTypesElement invocation...
+ assertSame(typesElement, fDescriptionElement.getTypesElement());
+ }
+
+ public void testToComponent() {
+ Description descComponent = fDescriptionElement.toComponent();
+ assertNotNull("Null component object model unexpected", descComponent);
+ }
+}
Added: webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/DocumentationElementTest.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/DocumentationElementTest.java?rev=809833&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/DocumentationElementTest.java (added)
+++ webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/DocumentationElementTest.java Tue Sep 1 05:50:45 2009
@@ -0,0 +1,130 @@
+/**
+ * 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.xml;
+
+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.DescriptionImpl;
+import org.apache.woden.WSDLException;
+import org.apache.woden.WSDLFactory;
+import org.apache.woden.XMLElement;
+
+/**
+ * Unit tests for DocumentationImpl class.
+ *
+ * @author John Kaputin (jkaputin@apache.org)
+ *
+ */
+public class DocumentationElementTest extends TestCase {
+
+ public static Test suite()
+ {
+ return new TestSuite(DocumentationElementTest.class);
+ }
+
+ /**
+ * This is a Bare minimum test XMLElement to test the DocumentationElement.
+ */
+ private class TestXMLElement implements XMLElement {
+ public String getAttributeValue(String attrName) {
+ return null;
+ }
+
+ public XMLElement[] getChildElements() {
+ return null;
+ }
+
+ public XMLElement getFirstChildElement() {
+ return null;
+ }
+
+ public String getLocalName() {
+ return null;
+ }
+
+ public URI getNamespaceURI() throws WSDLException {
+ return null;
+ }
+
+ public XMLElement getNextSiblingElement() {
+ return null;
+ }
+
+ public QName getQName() {
+ return null;
+ }
+
+ public QName getQName(String prefixedValue) throws WSDLException {
+ return null;
+ }
+
+ public Object getSource() {
+ return null;
+ }
+
+ public void setSource(Object elem) {
+ }
+ }
+
+ private WSDLFactory fFactory = null;
+
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+
+ try {
+ fFactory = WSDLFactory.newInstance();
+ } catch (WSDLException e) {
+ fail("Can't instantiate the WSDLFactory object.");
+ }
+ }
+
+ /**
+ * Test method for {@link org.apache.woden.internal.wsdl20.DocumentationImpl#setContent(java.lang.Object)}.
+ * Test method for {@link org.apache.woden.internal.wsdl20.DocumentationImpl#setContent(java.lang.Object)}.
+ */
+ public void testSetGetContent() {
+ DescriptionElement descElem = fFactory.newDescription();
+ DocumentationElement docElem = descElem.addDocumentationElement();
+
+ //check that the doc element is empty when first created
+ assertNull(docElem.getContent());
+
+ //test the setter and getter methods for doc elem content
+ XMLElement xmlel = new TestXMLElement();
+ docElem.setContent(xmlel);
+ assertEquals(xmlel, docElem.getContent());
+ }
+
+ /**
+ * Test method for {@link org.apache.woden.internal.wsdl20.DocumentationImpl#getParentElement()}.
+ */
+ public void testGetParentElement() {
+ DescriptionElement descElem1 = fFactory.newDescription();
+ DocumentationElement docElem = descElem1.addDocumentationElement();
+
+ //check the parent
+ assertEquals(descElem1, docElem.getParentElement());
+ }
+
+}
Added: webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/EndpointElementTest.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/EndpointElementTest.java?rev=809833&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/EndpointElementTest.java (added)
+++ webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/EndpointElementTest.java Tue Sep 1 05:50:45 2009
@@ -0,0 +1,198 @@
+/**
+ * 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.xml;
+
+import java.net.URI;
+import java.net.URL;
+
+import javax.xml.namespace.QName;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.apache.woden.ErrorHandler;
+import org.apache.woden.WSDLFactory;
+import org.apache.woden.WSDLReader;
+import org.apache.woden.internal.wsdl20.EndpointImpl;
+import org.apache.woden.tests.TestErrorHandler;
+import org.apache.woden.types.NCName;
+import org.apache.woden.wsdl20.Description;
+
+/**
+ * Functional verification test of org.apache.woden.wsdl20.xml.EndpointElement.
+ * Checks that the expected API behaviour is supported by the implementation.
+ *
+ * @author jkaputin@apache.org
+ */
+public class EndpointElementTest extends TestCase
+{
+ private WSDLFactory fFactory = null;
+ private WSDLReader fReader = null;
+ private ErrorHandler fHandler = null;
+ private DescriptionElement fParsedDesc = null;
+ private EndpointElement[] fParsedEndpoints = null;
+
+ private String fTargetNS = "http://ws.apache.woden/endpoint";
+
+ public static Test suite()
+ {
+ return new TestSuite(EndpointElementTest.class);
+ }
+
+ protected void setUp() throws Exception
+ {
+ fFactory = WSDLFactory.newInstance();
+ fReader = fFactory.newWSDLReader();
+ fHandler = new TestErrorHandler();
+ fReader.getErrorReporter().setErrorHandler(fHandler);
+
+ URL wsdlURL = getClass().getClassLoader().getResource(
+ "org/apache/woden/wsdl20/xml/resources/EndpointElementTest.wsdl");
+ assertNotNull("Failed to find the WSDL document on the classpath.", wsdlURL);
+
+ Description descComp = fReader.readWSDL(wsdlURL.toString());
+ assertNotNull("The reader did not return a description.", descComp);
+ fParsedDesc = descComp.toElement();
+
+ ServiceElement service = fParsedDesc.getServiceElements()[0];
+ assertNotNull("The description does not contain a service.", service);
+
+ fParsedEndpoints = service.getEndpointElements();
+ assertTrue("The service does not contain 3 endpoints as expected.",
+ fParsedEndpoints.length == 3);
+ }
+
+ protected void tearDown() throws Exception
+ {
+ fFactory = null;
+ fReader = null;
+ fHandler = null;
+ fParsedDesc = null;
+ fParsedEndpoints = null;
+ }
+
+ /**
+ * Test that the getName method returns the expected NCName parsed from a WSDL document.
+ */
+ public void testGetNameParsed()
+ {
+ NCName ncName = fParsedEndpoints[0].getName();
+ assertNotNull("EndpointElement.getName() returned null, but an NCName was expected.",
+ ncName);
+
+ assertTrue("NCName returned by EndpointElement.getName() was not the one expected.",
+ "endpoint1".equals(ncName.toString()) );
+ }
+
+ /**
+ * Test that the NCName specified on the setName method is returned by getName.
+ */
+ public void testSetAndGetName()
+ {
+ EndpointElement endpoint = new EndpointImpl();
+ NCName ncName = new NCName("dummy");
+
+ endpoint.setName(ncName);
+ assertTrue("NCName returned by EndpointElement.getName() was not the one set by setName().",
+ ncName.equals(endpoint.getName()));
+ }
+
+ /**
+ * Test that the getBindingName method returns the QName of the binding
+ * associated with this endpoint, as specified by the "binding" attribute
+ * of the <endpoint> element in a parsed WSDL document.
+ */
+ public void testGetBindingNameParsed()
+ {
+ QName qname = fParsedEndpoints[0].getBindingName();
+ assertNotNull("EndpointElement.getBindingName() returned null, but a QName was expected.",
+ qname);
+
+ QName expectedQN = new QName(fTargetNS, "binding1");
+ assertTrue("QName returned by EndpointElement.getBindingName() was not the one expected.",
+ expectedQN.equals(qname));
+ }
+
+ /**
+ * Test that the QName specified on the setBindingName method is returned by
+ * the getBindingName method.
+ */
+ public void testSetAndGetBindingName()
+ {
+ EndpointElement endpoint = new EndpointImpl();
+ QName qname = new QName("urn:woden","dummy");
+ endpoint.setBindingName(qname);
+ QName returnedQN = endpoint.getBindingName();
+ assertTrue("QName returned by EndpointElement.getBindingName() was not the one set by setBindingName().",
+ returnedQN.equals(qname));
+ }
+
+ /**
+ * Test that the getBindingElement method returns a BindingElement
+ * defined within the description, that is referred to by QName in the
+ * "binding" attribute of the <endpoint> element of a parsed WSDL
+ * document. This tests that the QName is correctly dereferenced to an object.
+ */
+ public void testGetBindingElementParsed()
+ {
+ BindingElement bindingDefined = fParsedDesc.getBindingElements()[0];
+ BindingElement bindingReferred = fParsedEndpoints[0].getBindingElement();
+ assertNotNull("EndpointElement.getBindingElement() returned null, but a BindingElement was expected.",
+ bindingReferred);
+
+ assertTrue("The BindingElement returned by EndpointElement.getBindingElement() was not the one expected.",
+ bindingReferred == bindingDefined);
+ }
+
+ /**
+ * Test that the getAddress method returns the expected URI parsed from a WSDL document.
+ */
+ public void testGetAddressParsed()
+ {
+ URI uri = fParsedEndpoints[0].getAddress();
+ assertNotNull("EndpointElement.getAddress() returned null, but a URI was expected.",
+ uri);
+
+ assertTrue("URI returned by EndpointElement.getAddress() was not the one expected.",
+ "urn:abc".equals(uri.toString()) );
+ }
+
+ /**
+ * Test the optionality of the 'address' attribute by invoking the getAddress
+ * method on a parsed <endpoint> element that does not have an
+ * 'address' specified and check that it returns null.
+ */
+ public void testGetAddressParsedOptional()
+ {
+ URI uri = fParsedEndpoints[1].getAddress();
+ assertNull("EndpointElement.getAddress() did not return null, as expected.",
+ uri);
+ }
+
+ /**
+ * Test that the URI specified on the setAddress method is returned by getAddress.
+ */
+ public void testSetAndGetAddress() throws Exception
+ {
+ EndpointElement endpoint = new EndpointImpl();
+ URI uri = new URI("urn:dummy");
+ endpoint.setAddress(uri);
+ assertTrue("URI returned by EndpointElement.getAddress() was not the one set by setAddress().",
+ "urn:dummy".equals(endpoint.getAddress().toString()));
+ }
+}
Added: webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/ImportElementTest.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/ImportElementTest.java?rev=809833&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/ImportElementTest.java (added)
+++ webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/ImportElementTest.java Tue Sep 1 05:50:45 2009
@@ -0,0 +1,124 @@
+/**
+ * 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.xml;
+
+import java.net.URI;
+import java.net.URISyntaxException;
+
+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.ImportImpl;
+
+/**
+ * Unit tests for the ImportElement class.
+ *
+ * @author Graham Turrell (gturrell@apache.org)
+ */
+public class ImportElementTest extends TestCase {
+
+ private ImportElement fImport = new ImportImpl();
+ private DescriptionElement fDescriptionElement = null;
+ private URI fURI = null;
+ private WSDLFactory fFactory = null;
+
+ public static Test suite()
+ {
+ return new TestSuite(ImportElementTest.class);
+ }
+
+ /*
+ * @see TestCase#setUp()
+ */
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+
+ try {
+ fFactory = WSDLFactory.newInstance();
+ } catch (WSDLException e) {
+ fail("Can't instantiate the WSDLFactory object.");
+ }
+
+ fDescriptionElement = fFactory.newDescription();
+ }
+
+ /*
+ * @see TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ }
+
+ /**
+ * Test that a Description Element can be successfully set and retrieved from an ImportElement
+ */
+ public void testSetGetDescriptionElement()
+ {
+ fImport.setDescriptionElement(fDescriptionElement);
+ assertEquals("The retrieved Description Element object is not that which was set",
+ fDescriptionElement, fImport.getDescriptionElement());
+ }
+
+ /**
+ * Test that a Location URI can be successfully set and retrieved from an ImportElement
+ */
+ public void testSetGetLocation()
+ {
+ try
+ {
+ fURI = new URI("http://apache.org/test");
+ } catch (URISyntaxException e) {
+
+ }
+ fImport.setLocation(fURI);
+ assertEquals("The retrieved Location URI object is not that which was set", fURI, fImport.getLocation());
+ }
+
+ public void testSetGetNamespace()
+ {
+ try
+ {
+ fURI = new URI("http://apache.org/test");
+ } catch (URISyntaxException e) {
+
+ }
+ fImport.setNamespace(fURI);
+ assertEquals("The retrieved Location URI object is not that which was set", fURI, fImport.getNamespace());
+ }
+
+ /**
+ * Test that an ImportElement without its optional Namespace attribute set, returns null from its getter method
+ */
+ public void testGetNamespaceDefault()
+ {
+ assertNull("The namespace was unset but appears set.", fImport.getNamespace());
+ }
+
+ public void testGetParentElement() {
+ DescriptionElement desc = fFactory.newDescription();
+ ImportElement importEl = desc.addImportElement();
+ DescriptionElement parent = (DescriptionElement)importEl.getParentElement();
+ assertSame("The import's parent should be the description that created it", desc, parent);
+
+ }
+}
Added: webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/IncludeElementTest.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/IncludeElementTest.java?rev=809833&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/IncludeElementTest.java (added)
+++ webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/IncludeElementTest.java Tue Sep 1 05:50:45 2009
@@ -0,0 +1,89 @@
+/**
+ * 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.xml;
+
+import java.net.URI;
+import java.net.URISyntaxException;
+
+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.IncludeImpl;
+
+/**
+ * Unit tests for the IncludeElement class.
+ *
+ * @author Graham Turrell (gturrell@apache.org)
+ */
+public class IncludeElementTest extends TestCase {
+
+ private IncludeElement fInclude = new IncludeImpl();
+ private DescriptionElement fDescriptionElement = null;
+ private URI fURI = null;
+ private WSDLFactory fFactory = null;
+
+ public static Test suite()
+ {
+ return new TestSuite(IncludeElementTest.class);
+ }
+
+ /*
+ * @see TestCase#setUp()
+ */
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+
+ try {
+ fFactory = WSDLFactory.newInstance();
+ } catch (WSDLException e) {
+ fail("Can't instantiate the WSDLFactory object.");
+ }
+
+ fDescriptionElement = fFactory.newDescription();
+ }
+
+ /**
+ * Test that a Description Element can be successfully set and retrieved from an IncludeElement
+ */
+ public void testSetGetDescriptionElement()
+ {
+ fInclude.setDescriptionElement(fDescriptionElement);
+ assertEquals("The retrieved Description Element object is not that which was set",
+ fDescriptionElement, fInclude.getDescriptionElement());
+ }
+
+ /**
+ * Test that a Location URI can be successfully set and retrieved from an IncludeElement
+ */
+ public void testSetGetLocation()
+ {
+ try
+ {
+ fURI = new URI("http://apache.org/test");
+ } catch (URISyntaxException e) {
+
+ }
+ fInclude.setLocation(fURI);
+ assertEquals("The retrieved Location URI object is not that which was set", fURI, fInclude.getLocation());
+ }
+
+}
Added: webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/InterfaceElementTest.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/InterfaceElementTest.java?rev=809833&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/InterfaceElementTest.java (added)
+++ webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/InterfaceElementTest.java Tue Sep 1 05:50:45 2009
@@ -0,0 +1,287 @@
+/**
+ * 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.xml;
+
+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.types.NCName;
+
+/**
+ * Unit tests for the InterfaceElement class.
+ *
+ * @author Graham Turrell (gturrell@apache.org)
+ */
+public class InterfaceElementTest extends TestCase {
+
+ // create a parent Description to hang the Interfaces off
+ private DescriptionElement fDescriptionElement = null;
+ private InterfaceElement fInterfaceElement = null;
+ private URI fStyleDefaultURI1 = null;
+ private URI fStyleDefaultURI2 = null;
+
+ public static Test suite()
+ {
+ return new TestSuite(InterfaceElementTest.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();
+ fInterfaceElement = fDescriptionElement.addInterfaceElement();
+ fStyleDefaultURI1 = new URI("http://www.w3.org/0000/00/apacheStyle");
+ fStyleDefaultURI2 = new URI("http://www.w3.org/0000/00/anotherApacheStyle");
+ }
+
+ /*
+ * @see TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ }
+
+ /*
+ * Mandatory attribute ("name")
+ * - setName()
+ * - getName()
+ */
+ public void testGetSetName()
+ {
+ fInterfaceElement.setName(new NCName("interfaceName"));
+ QName uri = fInterfaceElement.getName();
+ assertEquals("Retrieved InterfaceElement name does not match that set -", "interfaceName", uri.toString());
+ }
+
+ /*
+ * Gets InterfaceElements referenced by the "extends" attribute (optional)
+ */
+ public void testGetExtendedInterfaceElementElements()
+ {
+ /*
+ * create some InterfaceElements to extend, add them to parent,
+ * access them via :
+ * - getExtendedInterfaceElement()
+ * - getExtendedInterfaceElements()
+ */
+
+ // check the default:
+ InterfaceElement[] ifeArray = fInterfaceElement.getExtendedInterfaceElements();
+ assertEquals("Retrieved Extended InterfaceElement group should be empty if none set -", 0, ifeArray.length);
+
+ // create further InterfaceElements and name them
+ InterfaceElement xife1 = fDescriptionElement.addInterfaceElement();
+ InterfaceElement xife2 = fDescriptionElement.addInterfaceElement();
+ xife1.setName(new NCName("extendedIE1"));
+ xife2.setName(new NCName("extendedIE2"));
+ fInterfaceElement.addExtendedInterfaceName(new QName("extendedIE1"));
+ fInterfaceElement.addExtendedInterfaceName(new QName("extendedIE2"));
+
+ // getExtendedInterfaceElements()
+ ifeArray = fInterfaceElement.getExtendedInterfaceElements();
+ assertEquals("Incorrect number of retrieved Extended InterfaceElements -", 2, ifeArray.length);
+ // verify object equivalence
+ List ifeL = Arrays.asList(ifeArray);
+ assertTrue(ifeL.contains(xife1));
+ assertTrue(ifeL.contains(xife2));
+
+ // getExtendedInterfaceElement()
+ InterfaceElement retrievedIfe = fInterfaceElement.getExtendedInterfaceElement(new QName("extendedIE1"));
+ assertEquals("Retrieved Extended InterfaceElement unexpected -", xife1, retrievedIfe);
+ retrievedIfe = fInterfaceElement.getExtendedInterfaceElement(new QName("randomUnset"));
+ assertNull("The name of a non-existent InterfaceElement should not return one -", retrievedIfe);
+ }
+
+ /*
+ * Optional attribute ("extends")
+ * - addExtendedInterfaceName()
+ * - getExtendedInterfaceNames()
+ * - removeExtendedInterfaceName()
+ */
+ public void testAddGetRemoveExtendedInterfaceNames()
+ {
+ // check the default:
+ QName[] ifeQnameArray = fInterfaceElement.getExtendedInterfaceNames();
+ assertEquals("Retrieved Extended InterfaceElement QName group should be empty if none set -", 0, ifeQnameArray.length);
+
+ // create further InterfaceElements and name them
+ InterfaceElement xife1 = fDescriptionElement.addInterfaceElement();
+ InterfaceElement xife2 = fDescriptionElement.addInterfaceElement();
+ xife1.setName(new NCName("extendedIE1"));
+ xife2.setName(new NCName("extendedIE2"));
+
+ // addExtendedInterfaceName()
+ QName xifeQname1 = new QName("extendedIE1");
+ fInterfaceElement.addExtendedInterfaceName(xifeQname1);
+ QName xifeQname2 = new QName("extendedIE2");
+ fInterfaceElement.addExtendedInterfaceName(xifeQname2);
+ assertNotNull("Retrieved Extended InterfaceElement from a valid name expected.",
+ fInterfaceElement.getExtendedInterfaceElement(xifeQname1));
+ // Add a qname on a non-existent InterfaceElement
+ QName xifeQname3 = new QName("nonExistentExtendedIE");
+ fInterfaceElement.addExtendedInterfaceName(xifeQname3);
+
+ // getExtendedInterfaceNames()
+ QName[] ifeNames = fInterfaceElement.getExtendedInterfaceNames();
+ assertNotNull("Expected an array of QNames.", ifeNames);
+ assertEquals("Incorrect number of retrieved Extended InterfaceElement names -", 3, ifeNames.length);
+ // verify all names returned
+ List ifeL = Arrays.asList(ifeNames);
+ assertTrue(ifeL.contains(xifeQname1));
+ assertTrue(ifeL.contains(xifeQname2));
+ assertTrue(ifeL.contains(xifeQname3));
+ // verify that xifeQname3 does not refer to any InterfaceElement
+ assertNull("Extended InterfaceElement for name " + xifeQname3 + " unexpected.",
+ fInterfaceElement.getExtendedInterfaceElement(xifeQname3));
+
+ // removeExtendedInterfaceName()
+ fInterfaceElement.removeExtendedInterfaceName(xifeQname1);
+ fInterfaceElement.removeExtendedInterfaceName(xifeQname3);
+ fInterfaceElement.removeExtendedInterfaceName(xifeQname2);
+ ifeNames = fInterfaceElement.getExtendedInterfaceNames();
+ assertNotNull("Expected an (empty) array of QNames.", ifeNames);
+ assertEquals("Incorrect number of retrieved Extended InterfaceElement names -", 0, ifeNames.length);
+ }
+
+ /*
+ * Optional attribute ("styleDefault")
+ * styleDefault comprises a list of URIs (IRIs in the spec)
+ * - getStyleDefault() returns the list
+ * - addStyleDefaultURI() adds to the list
+ */
+ public void testAddGetStyleDefault()
+ {
+ // check the default:
+ URI[] styleDefault = fInterfaceElement.getStyleDefault();
+ assertNotNull(styleDefault);
+ assertEquals("Retrieved InterfaceElement style default should be empty if none set -", 0, styleDefault.length);
+
+ // addStyleDefaultURI() a couple of times
+ fInterfaceElement.addStyleDefaultURI(fStyleDefaultURI1);
+ fInterfaceElement.addStyleDefaultURI(fStyleDefaultURI2);
+
+ // getStyleDefault()
+ styleDefault = fInterfaceElement.getStyleDefault();
+ assertNotNull(styleDefault);
+ assertEquals("Unexpected number of URIs in the styleDefault -", 2, styleDefault.length);
+ // check that all added URIs appear in the styleDefault
+ List sdL = Arrays.asList(styleDefault);
+ assertTrue(sdL.contains(fStyleDefaultURI1));
+ assertTrue(sdL.contains(fStyleDefaultURI2));
+ }
+
+ /*
+ * Optional element ("fault")
+ * - addInterfaceFaultElement()
+ * - getInterfaceFaultElement()
+ * - getInterfaceFaultElements()
+ */
+ public void testAddGetInterfaceFaultElements()
+ {
+ // check the default:
+ InterfaceFaultElement[] iffeArray = fInterfaceElement.getInterfaceFaultElements();
+ assertNotNull("Expected an array of InterfaceFaultElements -", iffeArray);
+ assertEquals("Retrieved InterfaceFaultElement group should be empty if none set -", 0, iffeArray.length);
+
+ // addInterfaceFaultElement()
+ InterfaceFaultElement iffe1 = fInterfaceElement.addInterfaceFaultElement();
+ InterfaceFaultElement iffe2 = fInterfaceElement.addInterfaceFaultElement();
+ assertNotNull(iffe1);
+ assertNotNull(iffe2);
+
+ // getInterfaceFaultElements()
+ iffeArray = fInterfaceElement.getInterfaceFaultElements();
+ assertNotNull("Expected an array of InterfaceFaultElements -", iffeArray);
+ assertEquals("Incorrect number of retrieved InterfaceFaultElements -", 2, iffeArray.length);
+
+ // verify all Fault objects returned
+ List iffeL = Arrays.asList(iffeArray);
+ assertTrue(iffeL.contains(iffe1));
+ assertTrue(iffeL.contains(iffe2));
+
+ // getInterfaceFaultElement()
+ // name one of them
+ iffe1.setName(new NCName("FaultName"));
+ InterfaceFaultElement retrievedIffe = fInterfaceElement.getInterfaceFaultElement(new QName("FaultName"));
+ assertNotNull(retrievedIffe);
+ assertEquals("Retrieved InterfaceFaultElement differs from that expected", iffe1, retrievedIffe);
+ // try a non-existent fault - should return null
+ retrievedIffe = fInterfaceElement.getInterfaceFaultElement(new QName("nonExistentFault"));
+ assertNull(retrievedIffe);
+ }
+
+ /*
+ * Optional element ("operation")
+ * - addInterfaceOperationElement()
+ * - getInterfaceOperationElement()
+ * - getInterfaceOperationElements()
+ */
+ public void testAddGetInterfaceOperationElements()
+ {
+ // check the default:
+ InterfaceOperationElement[] ifopArray = fInterfaceElement.getInterfaceOperationElements();
+ assertNotNull("Expected an array of InterfaceOperationElements -", ifopArray);
+ assertEquals("Retrieved InterfaceOperationElement group should be empty if none set -", 0, ifopArray.length);
+
+ // addInterfaceOperationElement()
+ InterfaceOperationElement ifop1 = fInterfaceElement.addInterfaceOperationElement();
+ InterfaceOperationElement ifop2 = fInterfaceElement.addInterfaceOperationElement();
+ assertNotNull(ifop1);
+ assertNotNull(ifop2);
+
+ // getInterfaceOperationElements()
+ ifopArray = fInterfaceElement.getInterfaceOperationElements();
+ assertNotNull("Expected an array of InterfaceOperationElements -", ifopArray);
+ assertEquals("Incorrect number of retrieved InterfaceOperationElements -", 2, ifopArray.length);
+
+ // verify all Operation objects returned
+ List ifopL = Arrays.asList(ifopArray);
+ assertTrue(ifopL.contains(ifop1));
+ assertTrue(ifopL.contains(ifop2));
+
+ // getInterfaceOperationElement()
+ // name one of them
+ ifop1.setName(new NCName("OperationName"));
+ InterfaceOperationElement retrievedIfop = fInterfaceElement.getInterfaceOperationElement(new QName("OperationName"));
+ assertNotNull(retrievedIfop);
+ assertEquals("Retrieved InterfaceOperationElement differs from that expected", ifop1, retrievedIfop);
+ // try a non-existent operation - should return null
+ retrievedIfop = fInterfaceElement.getInterfaceOperationElement(new QName("nonExistentOperation"));
+ assertNull(retrievedIfop);
+ }
+}
Added: webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/InterfaceFaultElementTest.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/InterfaceFaultElementTest.java?rev=809833&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/InterfaceFaultElementTest.java (added)
+++ webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/InterfaceFaultElementTest.java Tue Sep 1 05:50:45 2009
@@ -0,0 +1,177 @@
+/**
+ * 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.xml;
+
+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.schema.InlinedSchema;
+import org.apache.woden.types.NCName;
+import org.apache.woden.types.QNameTokenUnion;
+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 InterfaceFaultElement class.
+ *
+ * @author Graham Turrell (gturrell@apache.org)
+ */
+public class InterfaceFaultElementTest extends TestCase {
+
+ private DescriptionElement fDescriptionElement = null;
+ private InterfaceElement fInterfaceElement = null;
+ private InterfaceFaultElement fFaultElement;
+ private final String TNS = "http://example.org";
+ private final String INTF_NAME = "interfaceName";
+ private final String FAULT_NAME = "faultName";
+
+ public static Test suite()
+ {
+ return new TestSuite(InterfaceFaultElementTest.class);
+ }
+
+ public void 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();
+ }
+
+ /*
+ * Test that a (Mandatory) Name QName can be successfully set and retrieved
+ */
+ public void testSetGetName()
+ {
+ QName faultName = new QName(TNS, FAULT_NAME);
+ NCName faultNCName = new NCName(FAULT_NAME);
+ fFaultElement.setName(faultNCName);
+ assertEquals("The retrieved fault name is not that which was set",
+ faultName, fFaultElement.getName());
+ }
+
+ /*
+ * Test that the optional attribute ("element") can be successfully set and retrieved
+ */
+ public void testSetGetElement()
+ {
+ //test with type qname.
+ QNameTokenUnion element = new QNameTokenUnion(new QName("ElementName"));
+ fFaultElement.setElement(element);
+ assertEquals("The retrieved 'element' attribute is not that which was set",
+ element, fFaultElement.getElement());
+
+ //test with type token.
+ QNameTokenUnion token = QNameTokenUnion.ANY;
+ fFaultElement.setElement(token);
+ assertEquals("The retrieved 'element' attribute is not that which was set",
+ token, fFaultElement.getElement());
+ }
+
+ /*
+ * Test that the optional schema element declaration can be successfully retrieved if
+ * the QNameTokenUnion is of type qname and if it is of type token, that there is no
+ * element declaration returned.
+ */
+ public void testGetXmlSchemaElement() throws Exception
+ {
+ WSDLFactory factory = null;
+ try {
+ factory = WSDLFactory.newInstance();
+ } catch (WSDLException e) {
+ fail("Can't instantiate the WSDLFactory object.");
+ }
+
+ // Create the DescriptionElement->InterfaceElement->InterfaceOperationElement->InterfaceMessageReferenceElement hierarchy
+ DescriptionElement descriptionElement = factory.newDescription();
+ InterfaceElement interfaceElement = descriptionElement.addInterfaceElement();
+ InterfaceFaultElement faultElement = interfaceElement.addInterfaceFaultElement();
+
+ // Default case:
+ XmlSchemaElement retrievedElement = faultElement.getXmlSchemaElement();
+ assertNull("Should return null if 'element' attribute is not set", retrievedElement);
+
+ // Case 1 - (with 'element' set to #any)
+ faultElement.setElement(QNameTokenUnion.ANY);
+ retrievedElement = faultElement.getXmlSchemaElement();
+ assertNull("Should return null if 'element' attribute is #any", retrievedElement);
+
+ // Case 2 - (with 'element' set to #none)
+ faultElement.setElement(QNameTokenUnion.NONE);
+ retrievedElement = faultElement.getXmlSchemaElement();
+ assertNull("Should return null if 'element' attribute is #none", retrievedElement);
+
+ // Case 3 - (with 'element' set to #other)
+ faultElement.setElement(QNameTokenUnion.OTHER);
+ retrievedElement = faultElement.getXmlSchemaElement();
+ assertNull("Should return null if 'element' attribute is #other", retrievedElement);
+
+ // Case 4 - (with 'element' set to the qname of a schema element declaration)
+ TypesElement typesElement = descriptionElement.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");
+ XmlSchemaElement expectedElement = xs1.getElementByName(elemQN);
+
+ faultElement.setElement(new QNameTokenUnion(elemQN));
+ retrievedElement = faultElement.getXmlSchemaElement();
+ assertEquals("The 'element' qname should resolve to the expected XML Schema element declaration",
+ expectedElement, retrievedElement);
+ }
+
+}
Added: webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/InterfaceFaultReferenceElementTest.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/InterfaceFaultReferenceElementTest.java?rev=809833&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/InterfaceFaultReferenceElementTest.java (added)
+++ webservices/woden/trunk/java/woden-tests/src/test/java/org/apache/woden/wsdl20/xml/InterfaceFaultReferenceElementTest.java Tue Sep 1 05:50:45 2009
@@ -0,0 +1,127 @@
+/**
+ * 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.xml;
+
+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;
+
+/**
+ * Unit tests for the InterfaceFaultReferenceElement class.
+ *
+ * @author Graham Turrell (gturrell@apache.org)
+ */
+public class InterfaceFaultReferenceElementTest extends TestCase {
+
+ private InterfaceFaultReferenceElement fFaultReference = null;
+
+ public static Test suite()
+ {
+ return new TestSuite(InterfaceFaultReferenceElementTest.class);
+
+ }
+ /*
+ * @see TestCase#setUp()
+ */
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ fFaultReference = new InterfaceFaultReferenceImpl();
+ }
+
+ /*
+ * @see TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ }
+
+ /*
+ * Test that a (mandatory) direction can be successfully set and retrieved
+ */
+ public void testSetGetDirection()
+ {
+ // Default case
+ assertNull("The retrieved Element name when unset should be null", fFaultReference.getDirection());
+
+ fFaultReference.setDirection(Direction.IN);
+ assertEquals("The retrieved FaultReference direction is not that which was set",
+ Direction.IN, fFaultReference.getDirection());
+ }
+
+ /*
+ * Test that the (Mandatory) message label attribute ("messageLabel") can be successfully set and retrieved
+ */
+ public void testSetGetMessageLabel()
+ {
+ NCName faultRefNCName = new NCName("faultRefName");
+ fFaultReference.setMessageLabel(faultRefNCName);
+ assertEquals("The retrieved Element name is not that which was set",
+ faultRefNCName, fFaultReference.getMessageLabel());
+ }
+
+ /*
+ * Test that the(Mandatory) InterfaceFault reference attribute ("ref") can be successfully set and retrieved
+ */
+ public void testSetGetRef()
+ {
+ QName faultRefName = new QName("faultRefName");
+ fFaultReference.setRef(faultRefName);
+ assertEquals("The retrieved Element name is not that which was set",
+ faultRefName, fFaultReference.getRef());
+ }
+
+ /*
+ * Test that the (Mandatory) InterfaceFault can be successfully retrieved.
+ * The fault reference is to an Interface Fault associated with the grandparent InterfaceElement.
+ */
+ public void testGetInterfaceFaultElement()
+ {
+ 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"));
+ InterfaceFaultElement retrievedFault = faultReference.getInterfaceFaultElement();
+ assertEquals("The retrieved InterfaceFaultElement is not that which was set",
+ faultElement, retrievedFault);
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org