/*
* 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 org.apache.tuscany.sca.itest.sdodatabinding;
import junit.framework.TestCase;
import org.apache.tuscany.sca.host.embedded.SCADomain;
import org.apache.tuscany.sca.itest.sdodatabinding.GreeterService;
// Data types
import org.apache.tuscany.sca.itest.databinding.types.PersonType;
import org.apache.tuscany.sca.itest.databinding.types.TypesFactory;
import org.apache.tuscany.interop.AttributeComplexType;
import org.apache.tuscany.interop.InteropFactory;
import org.apache.tuscany.interop.AttributeReferenceComplexType;
import org.apache.tuscany.interop.InteropFactory;
import org.apache.tuscany.interop.SimpleTypeWithAbstractComplexType;
import org.apache.tuscany.interop.InteropFactory;
import org.apache.tuscany.interop.SimpleTypeWithNameComplexType;
import org.apache.tuscany.interop.InteropFactory;
import org.apache.tuscany.interop.ComplexTypeWithContentType;
import org.apache.tuscany.interop.InteropFactory;
/**
* Automatically generated test case. Calls the greeter client for a number of
* bindings and a number of data types.
*
* @version $Rev: 511417 $ $Date: 2007-02-25 03:06:42 +0000 (Sun, 25 Feb 2007) $
*/
public class InteropDatabindingTestCase extends TestCase {
private static boolean initalised = false;
private GreeterService greeterClient;
private static SCADomain domain;
/**
* Runs before each test method
*/
protected void setUp() throws Exception {
if (!initalised) {
domain = SCADomain.newInstance("interopgreeter.composite");
super.setUp();
initalised = true;
}
}
/**
* Runs after each test method
*/
protected void tearDown() {
}
/**
* Finds the SCA component that relates to the protocol being tested. This test
* always connects locally to the client component but the client component will
* connect to the back end component using the appropriate protocol
*
* @param ext the protcol required
*/
private void setUpClient(String ext) throws Exception {
greeterClient = domain.getService(GreeterService.class, "SDO" + ext + "GreeterServiceClient");
}
/**
* Invokes the SDO Greet service using web service bindings with SDO payload
*/
public void testWSGreet() throws Exception {
setUpClient("WS");
greet();
}
/**
* Invokes the SDO Greet service using default bindings with SDO payload
*/
public void testDefaultGreet() throws Exception {
setUpClient("Default");
greet();
}
/**
* A generic method which, regarless of which client is connected, sends out a
* series of requrests passing different data types.
*/
public void greet() {
// test PersonType
{
PersonType param = null;
TypesFactory factory = TypesFactory.INSTANCE;
param = factory.createPersonType();
param.setFirstName("George");
param.setLastName("Doors");
PersonType result = greeterClient.greetPersonType(param);
assertNotSame("greetedPerson.getGreeting() not set", "", result.getGreeting());
}
// test AttributeComplexType
{
AttributeComplexType param = null;
InteropFactory factory = InteropFactory.INSTANCE;
org.apache.tuscany.interop.AttributeType attrib = factory.createAttributeType();
attrib.setAttribute("SomeText");
param = factory.createAttributeComplexType();
param.setAttributeElement(attrib);
AttributeComplexType result = greeterClient.greetAttributeComplexType(param);
assertEquals("data not changed corretly", "SomeChangedText", result.getAttributeElement().getAttribute());
}
// test AttributeReferenceComplexType
{
AttributeReferenceComplexType param = null;
InteropFactory factory = InteropFactory.INSTANCE;
param = factory.createAttributeReferenceComplexType();
param.setReferencedAttribute("SomeText");
AttributeReferenceComplexType result = greeterClient.greetAttributeReferenceComplexType(param);
assertEquals("data not changed corretly", "SomeChangedText", result.getReferencedAttribute());
}
// test SimpleTypeWithAbstractComplexType
{
SimpleTypeWithAbstractComplexType param = null;
InteropFactory factory = InteropFactory.INSTANCE;
param = factory.createSimpleTypeWithAbstractComplexType();
param.setSimpleTypeWithAbstractExtensionElement("SomeText");
SimpleTypeWithAbstractComplexType result = greeterClient.greetSimpleTypeWithAbstractComplexType(param);
assertEquals("data not changed corretly", "SomeChangedText", result.getSimpleTypeWithAbstractExtensionElement());
}
// test SimpleTypeWithNameComplexType
{
SimpleTypeWithNameComplexType param = null;
InteropFactory factory = InteropFactory.INSTANCE;
param = factory.createSimpleTypeWithNameComplexType();
param.setSimpleTypeWithNameElement("SomeText");
SimpleTypeWithNameComplexType result = greeterClient.greetSimpleTypeWithNameComplexType(param);
assertEquals("data not changed corretly", "SomeChangedText", result.getSimpleTypeWithNameElement());
}
// test ComplexTypeWithContentType
{
ComplexTypeWithContentType param = null;
InteropFactory factory = InteropFactory.INSTANCE;
param = factory.createComplexTypeWithContentType();
param.setSimpleTypeWithName("SomeText");
ComplexTypeWithContentType result = greeterClient.greetComplexTypeWithContentType(param);
assertEquals("data not changed corretly", "SomeChangedText", result.getSimpleTypeWithName());
}
}
}