From d697198d691cb53cdddc52bded672e3b8f3f5b2e Mon Sep 17 00:00:00 2001 From: antelder Date: Thu, 16 Aug 2012 08:23:52 +0000 Subject: Add dynamic testcase using dom inoker git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1373750 13f79535-47bb-0310-9956-ffa450edef68 --- .../src/test/java/test/ComponentTestCase.java | 8 +- .../src/test/java/test/DomInvokerTestCase.java | 89 ++++++++++++++++++++++ 2 files changed, 93 insertions(+), 4 deletions(-) create mode 100644 sca-java-2.x/trunk/testing/itest/dynamic/src/test/java/test/DomInvokerTestCase.java (limited to 'sca-java-2.x') diff --git a/sca-java-2.x/trunk/testing/itest/dynamic/src/test/java/test/ComponentTestCase.java b/sca-java-2.x/trunk/testing/itest/dynamic/src/test/java/test/ComponentTestCase.java index 096317e2b8..934ce923cc 100644 --- a/sca-java-2.x/trunk/testing/itest/dynamic/src/test/java/test/ComponentTestCase.java +++ b/sca-java-2.x/trunk/testing/itest/dynamic/src/test/java/test/ComponentTestCase.java @@ -48,10 +48,10 @@ import sample.HelloworldImpl; */ public class ComponentTestCase extends TestCase { - private TuscanyRuntime tuscanyRuntime; - private ExtensionPointRegistry extensionPoints; - private FactoryExtensionPoint modelFactories; - private Node node; + TuscanyRuntime tuscanyRuntime; + ExtensionPointRegistry extensionPoints; + FactoryExtensionPoint modelFactories; + Node node; @Override protected void setUp() throws Exception { diff --git a/sca-java-2.x/trunk/testing/itest/dynamic/src/test/java/test/DomInvokerTestCase.java b/sca-java-2.x/trunk/testing/itest/dynamic/src/test/java/test/DomInvokerTestCase.java new file mode 100644 index 0000000000..8712ded305 --- /dev/null +++ b/sca-java-2.x/trunk/testing/itest/dynamic/src/test/java/test/DomInvokerTestCase.java @@ -0,0 +1,89 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 test; + +import java.io.IOException; + +import junit.framework.Assert; +import junit.framework.TestCase; + +import org.apache.tuscany.sca.common.xml.dom.DOMHelper; +import org.apache.tuscany.sca.core.ExtensionPointRegistry; +import org.apache.tuscany.sca.impl.NodeImpl; +import org.apache.tuscany.sca.runtime.DOMInvoker; +import org.junit.Test; +import org.xml.sax.SAXException; + +import sample.Helloworld; + +/** + * Shows programatically creating a contribution, composite and component, starting the composite and + * then test invoking the components service. + */ +public class DomInvokerTestCase extends TestCase { + + private ComponentTestCase service; + private DOMHelper domHelper; + + @Override + protected void setUp() throws Exception { + + // start the ComponentTestCase service + service = new ComponentTestCase(); + service.setUp(); + service.testInvoke(); + + this.domHelper = DOMHelper.getInstance(service.extensionPoints); + } + + @Test + public void testInvoke() throws Exception { + + DOMInvoker domInvoker = service.node.getDOMInvoker("testComponent"); + org.w3c.dom.Node arg = getRequestDOM("petra"); + org.w3c.dom.Node response = domInvoker.invoke("sayHello", arg); + Assert.assertEquals("Hello petra", getResponseString(response)); + } + + private String getResponseString(org.w3c.dom.Node responseDOM) { + String xml = domHelper.saveAsString(responseDOM); + int x = xml.indexOf("") + "".length(); + int y = xml.indexOf(""); + return xml.substring(x, y); + } + + private org.w3c.dom.Node getRequestDOM(String name) { + try { + + String xml = ""+ name + ""; + return domHelper.load(xml); + + } catch (IOException e) { + throw new RuntimeException(e); + } catch (SAXException e) { + throw new RuntimeException(e); + } + } + + @Override + protected void tearDown() throws Exception { + service.tearDown(); + } + +} -- cgit v1.2.3