Package org.apache.tuscany.test.interop.client

Source Code of org.apache.tuscany.test.interop.client.InteropTestDocLitTestCase

/*
* 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.test.interop.client;

import java.rmi.RemoteException;
import java.util.Arrays;
import java.util.List;

import org.apache.tuscany.test.SCATestCase;
import org.osoa.sca.CompositeContext;
import org.osoa.sca.CurrentCompositeContext;
import org.soapinterop.wsdl.interop.test.doc.lit.WSDLInteropTestDocLitPortType;
import org.soapinterop.xsd.ArrayOfstring_literal;
import org.soapinterop.xsd.SOAPStruct;
import org.soapinterop.xsd.XsdPackage;

import commonj.sdo.helper.DataFactory;

/**
* This test case is part of the tuscany interop tests. This is a reduced version of the SOAPBuilders InteropTest test, document/literal mode. This
* version has operations such as echoString, echoArrayOfString and echoStruct.
*
* <p>
* The WSDL for the external service used in this test case can be downloaded from http://www.mssoapinterop.org/stkV3/wsdl/InteropTestDocLit.wsdl.
* This is part of the WSDL interop test from Microsoft and more details aobout this test case are found at
* http://www.mssoapinterop.org/stkV3/wsdl/WSDLInterop-0118.htm
*/
public class InteropTestDocLitTestCase extends TestCase {

    private WSDLInteropTestDocLitPortType doc = null;

    private DataFactory dataFactory;

   
    protected void setUp() throws Exception {
        setApplicationSCDL(InteropTestDocLit.class, "META-INF/sca/default.scdl");
        addExtension("test.extensions", InteropTestDocLit.class.getClassLoader().getResource("META-INF/tuscany/extensions/test-extensions.scdl"));

         super.setUp();

        // Get the SDO DataFactory
        dataFactory = DataFactory.INSTANCE;

        // Locate the service to test
        doc = locateInteropDocService();
    }

    /**
     * Locate the interop service to test
     *
     * @return
     */
    protected WSDLInteropTestDocLitPortType locateInteropDocService() {

        CompositeContext compositeContext = CurrentCompositeContext.getContext();
        return compositeContext.locateService(WSDLInteropTestDocLitPortType.class, "RemoteInteropDocService");

    }

    /**
     * test echo void
     *
     * @throws RemoteException
     */
    public void testEchoVoid() throws RemoteException {
        doc.echoVoid();
        assertTrue(true);
    }

    /**
     * test echo string
     *
     * @throws RemoteException
     */
    public void testEchoString() throws RemoteException {
        String input = "a test string";
        String output = doc.echoString(input);
        assertEquals(input, output);
    }

    /**
     * test echo string
     *
     * @throws RemoteException
     */
    public void testEchoStringArray() throws RemoteException {

        ArrayOfstring_literal input = (ArrayOfstring_literal) dataFactory.create(ArrayOfstring_literal.class);
        List inStrings = Arrays.asList(new String[] { "petra", "sue" });
        input.set(XsdPackage.ARRAY_OFSTRING_LITERAL__STRING, inStrings);

        ArrayOfstring_literal output = doc.echoStringArray(input);

        List outStrings = output.getString();
        assertNotNull(outStrings);
        assertEquals(2, outStrings.size());
        assertEquals("petra", outStrings.get(0));
        assertEquals("sue", outStrings.get(1));
    }

    /**
     * test echo struct
     *
     * @throws RemoteException
     */
    public void testEchoStruct() throws RemoteException {
        SOAPStruct input = (SOAPStruct) dataFactory.create(SOAPStruct.class);
        input.setVarInt(200);
        input.setVarFloat(.002f);
        input.setVarString("Hello");
        SOAPStruct output = doc.echoStruct(input);
        assertEquals(input.getVarInt(), output.getVarInt());
        assertEquals(input.getVarFloat(), output.getVarFloat());
        assertEquals(input.getVarString(), output.getVarString());
    }

}
TOP

Related Classes of org.apache.tuscany.test.interop.client.InteropTestDocLitTestCase

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.