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 gt...@apache.org on 2007/01/16 16:41:13 UTC
svn commit: r496733 - in /incubator/woden/trunk/java/test/org/apache/woden:
tests/AllWodenTestsDOM.java wsdl20/xml/DescriptionTest.java
wsdl20/xml/DescriptiontElementTest.java
Author: gturrell
Date: Tue Jan 16 07:41:12 2007
New Revision: 496733
URL: http://svn.apache.org/viewvc?view=rev&rev=496733
Log:
WODEN-51 Created unit tests for woden wsdl20 Description and DescriptionElement API methods of DescriptionImpl.
Added:
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/DescriptionTest.java
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/DescriptiontElementTest.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=496733&r1=496732&r2=496733
==============================================================================
--- incubator/woden/trunk/java/test/org/apache/woden/tests/AllWodenTestsDOM.java (original)
+++ incubator/woden/trunk/java/test/org/apache/woden/tests/AllWodenTestsDOM.java Tue Jan 16 07:41:12 2007
@@ -38,6 +38,8 @@
import org.apache.woden.wsdl20.extensions.soap.SOAPBindingFaultReferenceExtensionsTest;
import org.apache.woden.wsdl20.extensions.soap.SOAPBindingMessageReferenceExtensionsTest;
import org.apache.woden.wsdl20.extensions.soap.SOAPBindingOperationExtensionsTest;
+import org.apache.woden.wsdl20.xml.DescriptionTest;
+import org.apache.woden.wsdl20.xml.DescriptiontElementTest;
import org.apache.woden.wsdl20.xml.EndpointElementTest;
import org.apache.woden.wsdl20.xml.EndpointTest;
import org.apache.woden.wsdl20.xml.ImportElementTest;
@@ -111,6 +113,8 @@
addTest(IncludeElementTest.suite());
addTest(EndpointTest.suite());
addTest(ServiceTest.suite());
+ addTest(DescriptionTest.suite());
+ addTest(DescriptiontElementTest.suite());
//TODO in-progress 30May06 tests for BindingOpExt and BindingMsgRefExt
}
Added: incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/DescriptionTest.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/DescriptionTest.java?view=auto&rev=496733
==============================================================================
--- incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/DescriptionTest.java (added)
+++ incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/DescriptionTest.java Tue Jan 16 07:41:12 2007
@@ -0,0 +1,147 @@
+/**
+ * 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.DescriptionImpl;
+import org.apache.woden.internal.wsdl20.ServiceImpl;
+import org.apache.woden.types.NCName;
+import org.apache.woden.wsdl20.Description;
+import org.apache.woden.wsdl20.Endpoint;
+import org.apache.woden.wsdl20.Interface;
+import org.apache.woden.wsdl20.Service;
+
+/**
+ * Unit tests for the implementation of Service interface.
+ *
+ * @author Graham Turrell (gturrell@apache.org)
+ */
+public class DescriptionTest extends TestCase {
+
+ private Service fEmptyService = null;
+
+ public static Test suite()
+ {
+ return new TestSuite(DescriptionTest.class);
+ }
+
+ /*
+ * @see TestCase#setUp()
+ */
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ fEmptyService = new ServiceImpl();
+ }
+
+ /*
+ * @see TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ }
+
+ /*
+ * Test that endpoints associated with a service are correctly returned with
+ * getEndpoint() and getEndpoints().
+ *
+ * Note that a service must have at least one endpoint associated.
+ */
+
+ public void testGetEndpointGetEndpoints()
+ {
+ /* Set up prereqs:
+ * - Service with > 1 endpoints created.
+ */
+ ServiceElement fServiceElement = new ServiceImpl();
+ EndpointElement fEndpointElement1 = fServiceElement.addEndpointElement();
+ fEndpointElement1.setName(new NCName("endpoint1"));
+ EndpointElement fEndpointElement2 = fServiceElement.addEndpointElement();
+ fEndpointElement2.setName(new NCName("endpoint2"));
+ Service fService = (Service) fServiceElement;
+
+ // test getEndpoint()
+ Endpoint e1 = fService.getEndpoint(new NCName("endpoint1"));
+ assertEquals("The retrieved Endpoint object is not that which was set", e1, fEndpointElement1);
+
+ // test getEndpoints()
+ Endpoint[] e = fService.getEndpoints();
+ assertEquals("The incorrect number of endpoints were returned", e.length, 2);
+ assertEquals("First endpoint is not endpoint1", e[0], fEndpointElement1);
+ assertEquals("Second endpoint is not endpoint2", e[1], fEndpointElement2);
+ }
+
+ /*
+ * Test that a service returns its (required) associated interface.
+ *
+ */
+ public void testGetInterface()
+ {
+ /* Set up prereqs:
+ * - Description containing one named Interface;
+ * - Service using that same Interface.
+ */
+
+ // Description...
+ DescriptionElement fDescElement = new DescriptionImpl();
+
+ // Interface
+ InterfaceElement fInterfaceElement = fDescElement.addInterfaceElement();
+ fInterfaceElement.setName(new NCName("interface1"));
+
+ // Service...
+ ServiceElement fServiceElement = fDescElement.addServiceElement();
+ fServiceElement.setName(new NCName("service1"));
+ fServiceElement.setInterfaceName(new QName("interface1"));
+ fServiceElement.setParentElement(fDescElement);
+
+ // "create" the component model to complete the woden object hierachy references
+ Description fDesc = fDescElement.toComponent();
+ fDesc.getServices(); // necessary to set the reference to Description in Service
+
+ /* Test assertions:
+ * (Object equivalence is fine here - we check both refer to same Object)
+ */
+ assertEquals(((Service)fServiceElement).getInterface(), (Interface) fInterfaceElement);
+ }
+
+ /*
+ * Test that getName() correctly returns the assigned service name
+ */
+ public void testGetName()
+ {
+ // for simplicity, the default namespace is used throughout such that the string representation of
+ // QName from the getter will be identical to the NCName of the setter, for the test to succeed.
+ ((ServiceImpl)fEmptyService).setName(new NCName("service1"));
+ assertEquals("The service name from getName() differs from that set.", fEmptyService.getName().toString(), "service1");
+ }
+
+ /*
+ * Tests that the returned class is a ServiceElement
+ *
+ */
+ public void testToElement()
+ {
+ assertTrue(fEmptyService.toElement() instanceof ServiceElement);
+ }
+
+}
Added: incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/DescriptiontElementTest.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/DescriptiontElementTest.java?view=auto&rev=496733
==============================================================================
--- incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/DescriptiontElementTest.java (added)
+++ incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/DescriptiontElementTest.java Tue Jan 16 07:41:12 2007
@@ -0,0 +1,178 @@
+/**
+ * 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.Map;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+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;
+
+ public static Test suite()
+ {
+ return new TestSuite(DescriptiontElementTest.class);
+ }
+
+ /*
+ * @see TestCase#setUp()
+ */
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ fDescriptionElement = new DescriptionImpl();
+ 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 testAddGetNamespace() {
+ fDescriptionElement.addNamespace(fPrefix1,fNamespace1);
+ URI uri = fDescriptionElement.getNamespace(fPrefix1);
+ assertEquals("Retrieved NamespaceURI does not match that set", uri, fNamespace1);
+ }
+
+ /*
+ * Test getNamespace() when the prefix & namespace pair has not been previously added
+ */
+ public void testGetNullNamespace() {
+ assertNull("Null was not returned when a non-existent prefix was given", fDescriptionElement.getNamespace("nosuchprefix"));
+ }
+
+ public void testRemoveNamespace() {
+ fDescriptionElement.addNamespace(fPrefix1,fNamespace1);
+ assertNotNull(fDescriptionElement.getNamespace(fPrefix1));
+ fDescriptionElement.removeNamespace(fPrefix1);
+ assertNull(fDescriptionElement.getNamespace(fPrefix1));
+ }
+
+ public void testAddGetNamespaces() {
+ fDescriptionElement.addNamespace(fPrefix1,fNamespace1);
+ fDescriptionElement.addNamespace(fPrefix2,fNamespace2);
+ Map uriMap = fDescriptionElement.getNamespaces();
+ assertEquals("Expected 2 namespaces", uriMap.size(),2);
+ URI uri1 = (URI)uriMap.get(fPrefix1);
+ URI uri2 = (URI)uriMap.get(fPrefix2);
+ assertEquals("Expected NamespaceURI not found", uri1, fNamespace1);
+ assertEquals("Expected NamespaceURI not found", uri2, fNamespace2);
+ }
+
+
+ public void testAddGetImportElements() {
+ ImportElement importElement1 = fDescriptionElement.addImportElement();
+ ImportElement importElement2 = fDescriptionElement.addImportElement();
+ ImportElement[] imports = fDescriptionElement.getImportElements();
+ assertEquals("Expected 2 import elements", imports.length, 2);
+ }
+
+ public void testAddGetIncludeElements() {
+ IncludeElement includeElement1 = fDescriptionElement.addIncludeElement();
+ IncludeElement includeElement2 = fDescriptionElement.addIncludeElement();
+ IncludeElement[] includes = fDescriptionElement.getIncludeElements();
+ assertEquals("Expected 2 include elements", includes.length, 2);
+ }
+
+ public void testAddGetInterfaceElements() {
+ InterfaceElement interfaceElement1 = fDescriptionElement.addInterfaceElement();
+ InterfaceElement interfaceElement2 = fDescriptionElement.addInterfaceElement();
+ InterfaceElement[] interfaces = fDescriptionElement.getInterfaceElements();
+ assertEquals("Expected 2 interface elements", interfaces.length, 2);
+ }
+
+ public void testAddGetBindingElements() {
+ BindingElement bindingElement1 = fDescriptionElement.addBindingElement();
+ BindingElement bindingElement2 = fDescriptionElement.addBindingElement();
+ BindingElement[] bindings = fDescriptionElement.getBindingElements();
+ assertEquals("Expected 2 binding elements", bindings.length, 2);
+ }
+
+ public void testAddGetServiceElements() {
+ ServiceElement serviceElement1 = fDescriptionElement.addServiceElement();
+ ServiceElement serviceElement2 = fDescriptionElement.addServiceElement();
+ ServiceElement[] services = fDescriptionElement.getServiceElements();
+ assertEquals("Expected 2 service elements", services.length, 2);
+ }
+
+ /*
+ * Call the method once to create a new TypesElement and check that its parent is the
+ * DecsriptionElement 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();
+ 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 testSetGetExtensionRegistry() {
+ ExtensionRegistry er = new ExtensionRegistry();
+ fDescriptionElement.setExtensionRegistry(er);
+ ExtensionRegistry erRetrieved = fDescriptionElement.getExtensionRegistry();
+ assertNotNull("Null given but ExtensionRegistry object expected", erRetrieved);
+ assertSame("Retrieved ExtensionRegistry object differs fromt hat set", er, erRetrieved);
+ }
+
+ public void testToComponent() {
+ Description descComponent = fDescriptionElement.toComponent();
+ assertNotNull("Null component object model unexpected", descComponent);
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org