Author: gturrell Date: Mon Jan 22 15:29:38 2007 New Revision: 498849 URL: http://svn.apache.org/viewvc?view=rev&rev=498849 Log: [WODEN-54] Part 2 - Created unit tests for all API methods of InterfaceFaultElement, InterfaceFaultReferenceElement, InterfaceOperationElement.
Added: incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/InterfaceFaultElementTest.java incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/InterfaceFaultReferenceElementTest.java incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/InterfaceOperationElementTest.java Modified: incubator/woden/trunk/java/test/org/apache/woden/tests/AllWodenTestsDOM.java Modified: incubator/woden/trunk/java/test/org/apache/woden/tests/AllWodenTestsDOM.java URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/test/org/apache/woden/tests/AllWodenTestsDOM.java?view=diff&rev=498849&r1=498848&r2=498849 ============================================================================== --- incubator/woden/trunk/java/test/org/apache/woden/tests/AllWodenTestsDOM.java (original) +++ incubator/woden/trunk/java/test/org/apache/woden/tests/AllWodenTestsDOM.java Mon Jan 22 15:29:38 2007 @@ -48,6 +48,9 @@ import org.apache.woden.wsdl20.xml.ImportElementTest; import org.apache.woden.wsdl20.xml.IncludeElementTest; import org.apache.woden.wsdl20.xml.InterfaceElementTest; +import org.apache.woden.wsdl20.xml.InterfaceFaultElementTest; +import org.apache.woden.wsdl20.xml.InterfaceFaultReferenceElementTest; +import org.apache.woden.wsdl20.xml.InterfaceOperationElementTest; import org.apache.woden.wsdl20.xml.NameAttributeTest; import org.apache.woden.wsdl20.xml.ServiceElementTest; import org.apache.woden.wsdl20.xml.TypesElementTest; @@ -123,6 +126,9 @@ addTest(ElementDeclarationTest.suite()); addTest(TypeDefinitionTest.suite()); addTest(InterfaceElementTest.suite()); + addTest(InterfaceFaultElementTest.suite()); + addTest(InterfaceOperationElementTest.suite()); + addTest(InterfaceFaultReferenceElementTest.suite()); //TODO in-progress 30May06 tests for BindingOpExt and BindingMsgRefExt } Added: incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/InterfaceFaultElementTest.java URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/InterfaceFaultElementTest.java?view=auto&rev=498849 ============================================================================== --- incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/InterfaceFaultElementTest.java (added) +++ incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/InterfaceFaultElementTest.java Mon Jan 22 15:29:38 2007 @@ -0,0 +1,67 @@ +/** + * Copyright 2005 Apache Software Foundation + * + * Licensed 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.internal.wsdl20.InterfaceFaultImpl; +import org.apache.woden.types.NCName; + +/** + * Unit tests for the InterfaceFaultElement class. + * + * @author Graham Turrell ([EMAIL PROTECTED]) + */ +public class InterfaceFaultElementTest extends TestCase { + + private InterfaceFaultElement fFault = new InterfaceFaultImpl(); + + public static Test suite() + { + return new TestSuite(InterfaceFaultElementTest.class); + } + + /* + * Test that an (optional) ElementName QName can be successfully set and retrieved + */ + public void testSetGetElementName() + { + // Default case + assertNull("The retrieved Element name when unset should be null", fFault.getElementName()); + + QName elementName = new QName("elementName"); + fFault.setElementName(elementName); + assertEquals("The retrieved Element name is not that which was set", + elementName, fFault.getElementName()); + } + + /* + * Test that a (Mandatory) Name QName can be successfully set and retrieved + */ + public void testSetGetName() + { + QName faultName = new QName("faultName"); + NCName faultNCName = new NCName("faultName"); + fFault.setName(faultNCName); + assertEquals("The retrieved Element name is not that which was set", + faultName, fFault.getName()); + } + +} Added: incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/InterfaceFaultReferenceElementTest.java URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/InterfaceFaultReferenceElementTest.java?view=auto&rev=498849 ============================================================================== --- incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/InterfaceFaultReferenceElementTest.java (added) +++ incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/InterfaceFaultReferenceElementTest.java Mon Jan 22 15:29:38 2007 @@ -0,0 +1,119 @@ +/** + * Copyright 2005 Apache Software Foundation + * + * Licensed 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.internal.wsdl20.InterfaceFaultReferenceImpl; +import org.apache.woden.internal.wsdl20.InterfaceImpl; +import org.apache.woden.types.NCName; +import org.apache.woden.wsdl20.enumeration.Direction; + +/** + * Unit tests for the InterfaceFaultReferenceElement class. + * + * @author Graham Turrell ([EMAIL PROTECTED]) + */ +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() + { + // Create the InterfaceElement->InterfaceOperationElement->InterfaceFaultReference hierarchy + InterfaceElement interfaceElement = new InterfaceImpl(); + 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 InterfaceFault is not that which was set", + faultElement, retrievedFault); + } + + +} Added: incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/InterfaceOperationElementTest.java URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/InterfaceOperationElementTest.java?view=auto&rev=498849 ============================================================================== --- incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/InterfaceOperationElementTest.java (added) +++ incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/InterfaceOperationElementTest.java Mon Jan 22 15:29:38 2007 @@ -0,0 +1,228 @@ +/** + * Copyright 2005 Apache Software Foundation + * + * Licensed 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.internal.wsdl20.DescriptionImpl; +import org.apache.woden.types.NCName; + +/** + * Unit tests for the InterfaceOperationElementTest class. + * + * @author Graham Turrell ([EMAIL PROTECTED]) + */ +public class InterfaceOperationElementTest extends TestCase { + + // create a parent Description to hang the Interfaces off + private DescriptionElement fDescriptionElement = null; + private InterfaceElement fInterfaceElement = null; + private InterfaceOperationElement fInterfaceOperationElement = null; + private URI fStyleURI1 = null; + private URI fStyleURI2 = null; + private URI fPattern = null; + + public static Test suite() + { + return new TestSuite(InterfaceOperationElementTest.class); + } + + /* + * @see TestCase#setUp() + */ + protected void setUp() throws Exception + { + super.setUp(); + fDescriptionElement = new DescriptionImpl(); + fInterfaceElement = fDescriptionElement.addInterfaceElement(); + fInterfaceOperationElement = fInterfaceElement.addInterfaceOperationElement(); + fStyleURI1 = new URI("http://www.w3.org/0000/00/apacheStyle"); + fStyleURI2 = new URI("http://www.w3.org/0000/00/anotherApacheStyle"); + fPattern = new URI("http://www.w3.org/0000/00/wsdl/in-out"); + } + + /* + * @see TestCase#tearDown() + */ + protected void tearDown() throws Exception + { + super.tearDown(); + } + + /* + * Mandatory attribute ("name") + * - setName() + * - getName() + */ + public void testGetSetName() { + + fInterfaceOperationElement.setName(new NCName("interfaceOperationName")); + QName retrievedName = fInterfaceOperationElement.getName(); + assertEquals("Retrieved InterfaceOperationElement name does not match that set -", "interfaceOperationName", retrievedName.toString()); + } + + /* + * Mandatory attribute ("pattern") (message exchange pattern) + * - setPattern() + * - getPattern() + */ + public void testGetSetPattern() { + + fInterfaceOperationElement.setPattern(fPattern); + URI uri = fInterfaceOperationElement.getPattern(); + assertEquals("Retrieved InterfaceOperationElement mep does not match that set -", fPattern, uri); + } + + /* + * Optional attribute ("style") + * style comprises a list of URIs + * - getStyle() returns the list + * - addStyleURI() adds to the list + * - removeStyleURI() removes from the list + */ + public void testAddGetRemoveStyle() { + // check the default: + URI[] style = fInterfaceOperationElement.getStyle(); + assertNotNull(style); + assertEquals("Retrieved InterfaceOperationElement style should be empty if none set -", 0, style.length); + + // addStyleURI() a couple of times + fInterfaceOperationElement.addStyleURI(fStyleURI1); + fInterfaceOperationElement.addStyleURI(fStyleURI2); + + // getStyle() + style = fInterfaceOperationElement.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)); + + // removeStyleURI() + fInterfaceOperationElement.removeStyleURI(fStyleURI1); + fInterfaceOperationElement.removeStyleURI(fStyleURI2); + style = fInterfaceOperationElement.getStyle(); + assertNotNull(style); + assertEquals("Unexpected number of URIs in the style -", 0, style.length); + } + + /* TODO + * References to Optional child elements "infault" and "outfault" + * - addInterfaceFaultReferenceElement() + * - getInterfaceFaultReferenceElements() + * - removeInterfaceFaultReferenceElement() + */ + public void testAddGetRemoveInterfaceFaultReferenceElements() { + + // check the default: + InterfaceFaultReferenceElement[] ifreArray = fInterfaceOperationElement.getInterfaceFaultReferenceElements(); + assertNotNull("Expected an array of InterfaceFaultReferenceElement.", ifreArray); + assertEquals("Retrieved InterfaceFaultReferenceElement group should be empty if none set -", 0, ifreArray.length); + + // addInterfaceFaultReferenceElement() - create some InterfaceFaultReferenceElements + InterfaceFaultReferenceElement ifre1 = fInterfaceOperationElement.addInterfaceFaultReferenceElement(); + InterfaceFaultReferenceElement ifre2 = fInterfaceOperationElement.addInterfaceFaultReferenceElement(); + + // getInterfaceFaultReferenceElements() + ifreArray = fInterfaceOperationElement.getInterfaceFaultReferenceElements(); + assertNotNull("Expected an array of InterfaceFaultReferenceElement.", ifreArray); + assertEquals("Retrieved InterfaceFaultReferenceElement group should be same number as those set -", 2, ifreArray.length); + + // verify all fault references returned + List ifreL = Arrays.asList(ifreArray); + assertTrue(ifreL.contains(ifre1)); + assertTrue(ifreL.contains(ifre2)); + + // removeInterfaceFaultReferenceElement() + // 1 - attempt to remove an unadded IFRE + InterfaceFaultReferenceElement ifre3 = null; + fInterfaceOperationElement.removeInterfaceFaultReferenceElement(ifre3); + ifreArray = fInterfaceOperationElement.getInterfaceFaultReferenceElements(); + assertNotNull("Expected an array of InterfaceFaultReferenceElement.", ifreArray); + assertEquals("Retrieved InterfaceFaultReferenceElement group should be same number as those set -", 2, ifreArray.length); + + // 2- remove all added + fInterfaceOperationElement.removeInterfaceFaultReferenceElement(ifre1); + fInterfaceOperationElement.removeInterfaceFaultReferenceElement(ifre2); + ifreArray = fInterfaceOperationElement.getInterfaceFaultReferenceElements(); + assertNotNull("Expected an array of InterfaceFaultReferenceElement.", ifreArray); + assertEquals("Retrieved InterfaceFaultReferenceElement group should be empty if all removed -", 0, ifreArray.length); + + //3 - attempt to remove previously removed from empty list + fInterfaceOperationElement.removeInterfaceFaultReferenceElement(ifre2); + ifreArray = fInterfaceOperationElement.getInterfaceFaultReferenceElements(); + assertNotNull("Expected an array of InterfaceFaultReferenceElement.", ifreArray); + assertEquals("Retrieved InterfaceFaultReferenceElement group should be empty if all removed -", 0, ifreArray.length); + } + + /* TODO + * References to Optional child elements "input" and "output" + * - addInterfaceMessageReferenceElement() + * - getInterfaceMessageReferenceElements() + * - removeInterfaceMessageReferenceElement() + */ + public void testAddGetRemoveInterfaceMessageReferenceElements() { + // base on testAddGetRemoveInterfaceFaultReferenceElements + // check the default: + InterfaceMessageReferenceElement[] imreArray = fInterfaceOperationElement.getInterfaceMessageReferenceElements(); + assertNotNull("Expected an array of InterfaceMessageReferenceElement.", imreArray); + assertEquals("Retrieved InterfaceFaultReferenceElement group should be empty if none set -", 0, imreArray.length); + + // addInterfaceMessageReferenceElement() - create some addInterfaceMessageReferenceElements + InterfaceMessageReferenceElement imre1 = fInterfaceOperationElement.addInterfaceMessageReferenceElement(); + InterfaceMessageReferenceElement imre2 = fInterfaceOperationElement.addInterfaceMessageReferenceElement(); + + // getInterfaceMessageReferenceElements() + imreArray = fInterfaceOperationElement.getInterfaceMessageReferenceElements(); + assertNotNull("Expected an array of InterfaceMessageReferenceElement.", imreArray); + assertEquals("Retrieved InterfaceMessageReferenceElement group should be same number as those set -", 2, imreArray.length); + + // verify all fault references returned + List imreL = Arrays.asList(imreArray); + assertTrue(imreL.contains(imre1)); + assertTrue(imreL.contains(imre2)); + + // removeInterfaceMessageReferenceElement() + // 1 - attempt to remove an unadded IMRE + InterfaceMessageReferenceElement imre3 = null; + fInterfaceOperationElement.removeInterfaceMessageReferenceElement(imre3); + imreArray = fInterfaceOperationElement.getInterfaceMessageReferenceElements(); + assertNotNull("Expected an array of InterfaceMessageReferenceElement.", imreArray); + assertEquals("Retrieved InterfaceMessageReferenceElement group should be same number as those set -", 2, imreArray.length); + + // 2- remove all added + fInterfaceOperationElement.removeInterfaceMessageReferenceElement(imre1); + fInterfaceOperationElement.removeInterfaceMessageReferenceElement(imre2); + imreArray = fInterfaceOperationElement.getInterfaceMessageReferenceElements(); + assertNotNull("Expected an array of InterfaceMessageReferenceElement.", imreArray); + assertEquals("Retrieved InterfaceMessageReferenceElement group should be empty if all removed -", 0, imreArray.length); + + //3 - attempt to remove previously removed from empty list + fInterfaceOperationElement.removeInterfaceMessageReferenceElement(imre2); + imreArray = fInterfaceOperationElement.getInterfaceMessageReferenceElements(); + assertNotNull("Expected an array of InterfaceMessageReferenceElement.", imreArray); + assertEquals("Retrieved InterfaceMessageReferenceElement group should be empty if all removed -", 0, imreArray.length); + } +} --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]