Author: gturrell
Date: Sat Jan 13 11:41:48 2007
New Revision: 495953

URL: http://svn.apache.org/viewvc?view=rev&rev=495953
Log:
WODEN-50 Created unit tests for woden wsdl20 Service and Endpoint.

Added:
    
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/EndpointTest.java
    incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/ServiceTest.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=495953&r1=495952&r2=495953
==============================================================================
--- 
incubator/woden/trunk/java/test/org/apache/woden/tests/AllWodenTestsDOM.java 
(original)
+++ 
incubator/woden/trunk/java/test/org/apache/woden/tests/AllWodenTestsDOM.java 
Sat Jan 13 11:41:48 2007
@@ -39,10 +39,12 @@
 import 
org.apache.woden.wsdl20.extensions.soap.SOAPBindingMessageReferenceExtensionsTest;
 import 
org.apache.woden.wsdl20.extensions.soap.SOAPBindingOperationExtensionsTest;
 import org.apache.woden.wsdl20.xml.EndpointElementTest;
+import org.apache.woden.wsdl20.xml.EndpointTest;
 import org.apache.woden.wsdl20.xml.ImportElementTest;
 import org.apache.woden.wsdl20.xml.IncludeElementTest;
 import org.apache.woden.wsdl20.xml.NameAttributeTest;
 import org.apache.woden.wsdl20.xml.ServiceElementTest;
+import org.apache.woden.wsdl20.xml.ServiceTest;
 import org.apache.woden.xml.IntOrTokenAttrTest;
 import org.apache.woden.xml.TokenAttrTest;
 
@@ -107,6 +109,8 @@
     addTest(SimpleURIResolverTest.suite());
     addTest(ImportElementTest.suite());
     addTest(IncludeElementTest.suite());
+    addTest(EndpointTest.suite());
+    addTest(ServiceTest.suite());
     //TODO in-progress 30May06 tests for BindingOpExt and BindingMsgRefExt
   }
 

Added: 
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/EndpointTest.java
URL: 
http://svn.apache.org/viewvc/incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/EndpointTest.java?view=auto&rev=495953
==============================================================================
--- 
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/EndpointTest.java 
(added)
+++ 
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/EndpointTest.java 
Sat Jan 13 11:41:48 2007
@@ -0,0 +1,151 @@
+/**
+ * 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 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.EndpointImpl;
+import org.apache.woden.types.NCName;
+import org.apache.woden.wsdl20.Description;
+import org.apache.woden.wsdl20.Endpoint;
+
+/**
+ * Unit tests for the ImportElement class.
+ * 
+ * @author Graham Turrell ([EMAIL PROTECTED])
+ */
+public class EndpointTest extends TestCase {
+
+       private EndpointImpl fEndpointImpl = null;
+       private Endpoint fEndpoint = null;
+       private URI fURI = null;
+       private QName fBindingQName = null;
+       private NCName fBindingNCName = null;
+       private NCName fName = null;
+       
+       public static Test suite()
+       {
+          return new TestSuite(EndpointTest.class);
+       }
+          
+    /*
+     * @see TestCase#setUp()
+     */
+    protected void setUp() throws Exception 
+    {
+        super.setUp();
+        fURI = new URI("http://apache.org/endpointURI";);
+       fEndpointImpl = new EndpointImpl();
+       fEndpoint = fEndpointImpl;
+    }
+
+    /*
+     * @see TestCase#tearDown()
+     */
+    protected void tearDown() throws Exception 
+    {
+        super.tearDown(); 
+        fURI = null;
+       fEndpointImpl = null;
+       fEndpoint = null;
+       fBindingQName = null;
+       fBindingNCName = null;
+       fName = null;
+    }
+       
+    /*
+     * Test getAddress() when the (optional) address attribute is set 
(specified)
+     */
+    public void testGetAddress()
+       {
+        fEndpointImpl.setAddress(fURI);
+       assertEquals(fEndpoint.getAddress(), fURI); // java.net.URI overrides 
Object.equals()           
+       }
+    
+    /*
+     * Test getAddress() when the (optional) address attribute is unspecified
+     */
+    public void testDefaultGetAddress()
+       {
+       assertNull(fEndpoint.getAddress());     
+       }
+ 
+    /*
+     * The Binding with fBindingName is obtained from the Description element 
associated with the Endpoint's Service
+     *
+     */
+    public void testGetBinding()
+       {       
+       /* 
+        *  Test setup :  work with the Infoset view for the creation of the 
+        *  necessary prerequisite partial hierarchy 
+        *  Note create the minimum necessary wsdl20 objects
+        */
+       
+       // Description...
+       DescriptionElement fDescElement = new DescriptionImpl();
+       
+       // Binding...
+        fBindingQName = new QName("binding1");
+       BindingElement fBindingElement = fDescElement.addBindingElement();
+        fBindingNCName = new NCName("binding1");
+        NCName fServiceNCName = new NCName("service1");
+        QName fServiceQName = new QName("service1");
+        NCName fEndpointNCname = new NCName("endpoint1");
+       fBindingElement.setName(fBindingNCName);
+       
+       // Service... (attach our Endpoint to a Service parented by our 
Description)
+       ServiceElement fServiceElement = fDescElement.addServiceElement();
+       fServiceElement.setName(fServiceNCName);
+       
+       // Endpoint...
+       EndpointElement fEndpointElement = fServiceElement.addEndpointElement();
+       fEndpointElement.setName(fEndpointNCname);
+        fEndpointElement.setParentElement(fServiceElement);
+        fEndpointElement.setBindingName(fBindingQName);
+       fEndpointElement.setParentElement(fServiceElement);
+       
+       // Component model creation
+        Description fDesc = fDescElement.toComponent();
+        Endpoint fDerivedEndpoint = 
fDesc.getService(fServiceQName).getEndpoint(fEndpointNCname);
+        
+       assertEquals(fDerivedEndpoint.getBinding().getName(), fBindingQName); 
// just compare QNames
+       }
+    
+    public void testGetName()
+       {
+        fName = new NCName("endpoint_name");  
+       fEndpointImpl.setName(fName);
+       assertEquals(fEndpoint.getName(), fName);
+       }
+    
+    /*
+     * Tests that the returned class is precisely an EndpointElement (ie not a 
subclass)
+     *
+     */
+    public void testToElement()
+       {
+       assertTrue(fEndpoint.toElement() instanceof EndpointElement);
+       }
+    
+}
\ No newline at end of file

Added: 
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/ServiceTest.java
URL: 
http://svn.apache.org/viewvc/incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/ServiceTest.java?view=auto&rev=495953
==============================================================================
--- 
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/ServiceTest.java 
(added)
+++ 
incubator/woden/trunk/java/test/org/apache/woden/wsdl20/xml/ServiceTest.java 
Sat Jan 13 11:41:48 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 ServiceTest extends TestCase {
+
+       private Service fEmptyService = null;
+       
+       public static Test suite()
+       {
+          return new TestSuite(ServiceTest.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);
+       }
+
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to