From e1539a531da3192dac843520d77c8c76e407a402 Mon Sep 17 00:00:00 2001 From: lresende Date: Sat, 21 Nov 2009 07:55:07 +0000 Subject: Moving 1.x tags git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@882849 13f79535-47bb-0310-9956-ffa450edef68 --- .../WebServiceAssemblyFactoryTestCase.java | 110 +++++++++++++ .../celtix/handler/io/NodeDataWriterTestCase.java | 103 ++++++++++++ .../loader/WebServiceBindingLoaderTestCase.java | 54 +++++++ .../src/test/resources/wsdl/hello_world.wsdl | 178 +++++++++++++++++++++ 4 files changed, 445 insertions(+) create mode 100644 sca-java-1.x/tags/java-M1-20060522/java/sca/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/assembly/WebServiceAssemblyFactoryTestCase.java create mode 100644 sca-java-1.x/tags/java-M1-20060522/java/sca/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/handler/io/NodeDataWriterTestCase.java create mode 100644 sca-java-1.x/tags/java-M1-20060522/java/sca/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/loader/WebServiceBindingLoaderTestCase.java create mode 100644 sca-java-1.x/tags/java-M1-20060522/java/sca/bindings/binding.celtix/src/test/resources/wsdl/hello_world.wsdl (limited to 'sca-java-1.x/tags/java-M1-20060522/java/sca/bindings/binding.celtix/src/test') diff --git a/sca-java-1.x/tags/java-M1-20060522/java/sca/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/assembly/WebServiceAssemblyFactoryTestCase.java b/sca-java-1.x/tags/java-M1-20060522/java/sca/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/assembly/WebServiceAssemblyFactoryTestCase.java new file mode 100644 index 0000000000..dc6389ef93 --- /dev/null +++ b/sca-java-1.x/tags/java-M1-20060522/java/sca/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/assembly/WebServiceAssemblyFactoryTestCase.java @@ -0,0 +1,110 @@ +/** + * + * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. + * + * 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.tuscany.binding.celtix.assembly; + +import java.net.URL; +import java.util.ArrayList; +import java.util.List; + +import javax.wsdl.Definition; +import javax.wsdl.factory.WSDLFactory; +import javax.wsdl.xml.WSDLReader; + +import junit.framework.TestCase; + +import org.apache.tuscany.binding.celtix.assembly.impl.WebServiceAssemblyFactoryImpl; +import org.apache.tuscany.binding.celtix.assembly.impl.WebServiceBindingImpl; +import org.apache.tuscany.core.loader.WSDLDefinitionRegistry; +import org.apache.tuscany.model.assembly.AssemblyContext; +import org.easymock.EasyMock; + +public class WebServiceAssemblyFactoryTestCase extends TestCase { + + + private void setupMocks(WSDLDefinitionRegistry reg, + List wsdlList) { + EasyMock.reset(new Object[] {reg}); + + //FIXME pass the current ResourceLoader + reg.getDefinitionsForNamespace("http://objectweb.org/hello_world_soap_http", null); + EasyMock.expectLastCall().andReturn(wsdlList); + + EasyMock.replay(new Object[] {reg}); + } + + public void testCreate() throws Exception { + WSDLDefinitionRegistry reg = EasyMock.createNiceMock(WSDLDefinitionRegistry.class); + + WebServiceAssemblyFactoryImpl impl = new WebServiceAssemblyFactoryImpl(); + WebServiceBinding bind = impl.createWebServiceBinding(reg); + assertNotNull("Did not create the binding", bind); + assertTrue("bind object wrong class: " + bind.getClass(), + bind instanceof WebServiceBindingImpl); + + assertNull("Should be initialized with null WSDL", bind.getWSDLDefinition()); + assertNull("Should be initialized with null port", bind.getWSDLPort()); + assertNull("Should be initialized with null service", bind.getWSDLService()); + assertNull("Should be initialized with null URI", bind.getURI()); + assertNull("Should be initialized with null TypeHelper", + bind.getTypeHelper()); + assertNull("Should be initialized with null ResourceLoader", + bind.getResourceLoader()); + + bind.setURI("http://objectweb.org/hello_world_soap_http"); + bind.setPortURI("http://objectweb.org/hello_world_soap_http#SoapPort"); + + AssemblyContext modelContext = EasyMock.createNiceMock(AssemblyContext.class); + + WSDLReader reader = WSDLFactory.newInstance().newWSDLReader(); + reader.setFeature("javax.wsdl.verbose", false); + URL url = getClass().getResource("/wsdl/hello_world.wsdl"); + Definition definition = reader.readWSDL(url.toString()); + + List wsdlList = new ArrayList(); + + setupMocks(reg, wsdlList); + try { + bind.initialize(modelContext); + fail("Should have failed getting the wsdl"); + } catch (IllegalArgumentException ex) { + //expected + } + + setupMocks(reg, wsdlList); + + + wsdlList.add(definition); + bind = impl.createWebServiceBinding(reg); + bind.setURI("http://objectweb.org/hello_world_soap_http"); + bind.setPortURI("http://objectweb.org/hello_world_soap_http#SoapPort"); + bind.initialize(modelContext); + + setupMocks(reg, wsdlList); + + wsdlList.add(definition); + bind = impl.createWebServiceBinding(reg); + bind.setURI("http://objectweb.org/hello_world_soap_http"); + bind.setPortURI("http://objectweb.org/hello_world_soap_http#FooPort"); + + try { + bind.initialize(modelContext); + fail("Should have failed finding the port"); + } catch (IllegalArgumentException ex) { + //expected + } + } +} diff --git a/sca-java-1.x/tags/java-M1-20060522/java/sca/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/handler/io/NodeDataWriterTestCase.java b/sca-java-1.x/tags/java-M1-20060522/java/sca/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/handler/io/NodeDataWriterTestCase.java new file mode 100644 index 0000000000..be4d910069 --- /dev/null +++ b/sca-java-1.x/tags/java-M1-20060522/java/sca/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/handler/io/NodeDataWriterTestCase.java @@ -0,0 +1,103 @@ +/** + * + * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. + * + * 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.tuscany.binding.celtix.handler.io; + +import java.net.URL; + +import javax.wsdl.Definition; +import javax.wsdl.Port; +import javax.wsdl.factory.WSDLFactory; +import javax.wsdl.xml.WSDLReader; +import javax.xml.namespace.QName; +import javax.xml.parsers.DocumentBuilderFactory; + +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; + + +import commonj.sdo.helper.TypeHelper; + +import junit.framework.TestCase; + +import org.apache.tuscany.common.resource.impl.ResourceLoaderImpl; +import org.apache.tuscany.sdo.helper.XSDHelperImpl; +import org.apache.tuscany.sdo.util.DataObjectUtil; +import org.apache.tuscany.sdo.util.SDOUtil; +import org.objectweb.celtix.bindings.DataReader; +import org.objectweb.celtix.bindings.DataWriter; +import org.objectweb.celtix.bus.bindings.WSDLMetaDataCache; +import org.objectweb.celtix.context.ObjectMessageContext; +import org.objectweb.celtix.context.ObjectMessageContextImpl; + + + +public class NodeDataWriterTestCase extends TestCase { + + private TypeHelper typeHelper; + + protected void setUp() throws Exception { + super.setUp(); + DataObjectUtil.initRuntime(); + ClassLoader cl = Thread.currentThread().getContextClassLoader(); + try { + Thread.currentThread().setContextClassLoader(getClass().getClassLoader()); + typeHelper = SDOUtil.createTypeHelper(); + URL url = getClass().getResource("/wsdl/hello_world.wsdl"); + new XSDHelperImpl(typeHelper).define(url.openStream(), null); + } finally { + Thread.currentThread().setContextClassLoader(cl); + } + + + } + + public void testWriteWrapper() throws Exception { + WSDLReader wreader = WSDLFactory.newInstance().newWSDLReader(); + wreader.setFeature("javax.wsdl.verbose", false); + URL url = getClass().getResource("/wsdl/hello_world.wsdl"); + Definition definition = wreader.readWSDL(url.toString()); + Port port = definition.getService(new QName("http://objectweb.org/hello_world_soap_http", + "SOAPService")).getPort("SoapPort"); + + WSDLMetaDataCache wsdlCache = new WSDLMetaDataCache(definition, + port); + + + ResourceLoaderImpl loader = new ResourceLoaderImpl(getClass().getClassLoader()); + SCADataBindingCallback callback = new SCADataBindingCallback(wsdlCache.getOperationInfo("greetMe"), + typeHelper, + loader, + false); + + DataWriter writer = callback.createWriter(Node.class); + Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); + Element element = doc.createElement("ROOT"); + + ObjectMessageContext objCtx = new ObjectMessageContextImpl(); + objCtx.setMessageObjects(new Object[] {"Hello"}); + writer.writeWrapper(objCtx , false, element); + + assertEquals("Value not written", "Hello", element.getFirstChild().getTextContent().trim()); + + DataReader reader = callback.createReader(Node.class); + reader.readWrapper(objCtx , true, element); + + assertEquals("Hello", objCtx.getReturn()); + } + +} diff --git a/sca-java-1.x/tags/java-M1-20060522/java/sca/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/loader/WebServiceBindingLoaderTestCase.java b/sca-java-1.x/tags/java-M1-20060522/java/sca/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/loader/WebServiceBindingLoaderTestCase.java new file mode 100644 index 0000000000..a27d866191 --- /dev/null +++ b/sca-java-1.x/tags/java-M1-20060522/java/sca/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/loader/WebServiceBindingLoaderTestCase.java @@ -0,0 +1,54 @@ +/** + * + * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. + * + * 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.tuscany.binding.celtix.loader; + +import javax.xml.stream.XMLStreamReader; + +import junit.framework.TestCase; + +import org.apache.tuscany.core.loader.LoaderContext; +import org.apache.tuscany.core.loader.StAXLoaderRegistry; +import org.apache.tuscany.model.assembly.AssemblyContext; +import org.easymock.EasyMock; + +public class WebServiceBindingLoaderTestCase extends TestCase { + + @SuppressWarnings("deprecation") + public void testLoad() throws Exception { + + WebServiceBindingLoader loader = new WebServiceBindingLoader(); + StAXLoaderRegistry reg = EasyMock.createNiceMock(StAXLoaderRegistry.class); + reg.getContext(); + EasyMock.expectLastCall().andReturn(EasyMock.createNiceMock(AssemblyContext.class)); + EasyMock.replay(reg); + + loader.setRegistry(reg); + + XMLStreamReader reader = EasyMock.createNiceMock(XMLStreamReader.class); + reader.getAttributeValue(null, "uri"); + EasyMock.expectLastCall().andReturn("http://objectweb.org/hello_world_soap_http"); + reader.getAttributeValue(null, "port"); + EasyMock.expectLastCall().andReturn("SoapPort"); + EasyMock.replay(reader); + + LoaderContext loaderContext = new LoaderContext(null); + + assertNotNull("Did not load binding", loader.load(reader, loaderContext)); + + } + +} diff --git a/sca-java-1.x/tags/java-M1-20060522/java/sca/bindings/binding.celtix/src/test/resources/wsdl/hello_world.wsdl b/sca-java-1.x/tags/java-M1-20060522/java/sca/bindings/binding.celtix/src/test/resources/wsdl/hello_world.wsdl new file mode 100644 index 0000000000..a1d40daf26 --- /dev/null +++ b/sca-java-1.x/tags/java-M1-20060522/java/sca/bindings/binding.celtix/src/test/resources/wsdl/hello_world.wsdl @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3