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 ([EMAIL PROTECTED])
+ */
+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 ([EMAIL PROTECTED])
+ */
+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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to