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

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

/*
* 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 junit.framework.TestCase;

import org.apache.tuscany.sca.host.embedded.SCADomain;
import org.soapinterop.ArrayOfSimpleDocument;
import org.soapinterop.ChildDocument;
import org.soapinterop.ComplexDocument;
import org.soapinterop.DocTestPortType;
import org.soapinterop.SimpleDocument;
import org.soapinterop.SimpleDocument1;
import org.soapinterop.SingleTag;

import commonj.sdo.helper.DataFactory;

public class InteropDocClientTestCase extends TestCase {
    private SCADomain scaDomain;
   
    private DataFactory dataFactory;

    private DocTestPortType interopDoc;

    public InteropDocClientTestCase(){};

   
    @Override
    protected void setUp() throws Exception {

        scaDomain = SCADomain.newInstance("default.composite");
        interopDoc = locateInteropDocService();

        //Get the SDO DataFactory
        dataFactory = DataFactory.INSTANCE;
    }
   
   
    public void testSingleTag() throws RemoteException {

        assertNotNull(interopDoc);
       
        // Create the input
        SingleTag input = (SingleTag) dataFactory.create(SingleTag.class);

        // Invoke the service
        SingleTag output = interopDoc.SingleTag(input);

        // Test the results
        assertNotNull(output);

    }

    public void testSimpleDocument() throws RemoteException {

        assertNotNull(interopDoc);
       
        // Create the input
        SimpleDocument1 input = (SimpleDocument1) dataFactory.create(SimpleDocument1.class);
        input.setValue("123");

        // Invoke the service
        SimpleDocument1 output = interopDoc.SimpleDocument(input);

        // Test the results
        assertNotNull(output);
        assertEquals("123", output.getValue());

    }

    public void testComplexDocument() throws RemoteException {

        assertNotNull(interopDoc);
       
        // Create the input
        ComplexDocument input = (ComplexDocument) dataFactory.create(ComplexDocument.class);
        input.setAnAttribute("789");
        ChildDocument childDocument = (ChildDocument) dataFactory.create(ChildDocument.class);
        SimpleDocument simpleDocument = (SimpleDocument) dataFactory.create(SimpleDocument.class);

        SimpleDocument1 simpleDocument1 = (SimpleDocument1) dataFactory.create(SimpleDocument1.class);

        simpleDocument.setSimpleDocument(simpleDocument1);
        simpleDocument1.setValue("456");
        ArrayOfSimpleDocument arrayOfSimpleDocument = (ArrayOfSimpleDocument) dataFactory.create(ArrayOfSimpleDocument.class);

        arrayOfSimpleDocument.getSimpleDocument().add(simpleDocument1);
        childDocument.setChildSimpleDoc(arrayOfSimpleDocument);
        input.setChild(childDocument);

        // Invoke the service
        ComplexDocument output = interopDoc.ComplexDocument(input);

        // Test the results
        assertNotNull(output);
        assertEquals("789", output.getAnAttribute());
        assertNotNull(output.getChild());
        assertNotNull(output.getChild().getChildSimpleDoc());

        // FIXME Add more tests of the output document

    }


    /**
     * Locate the interop service to test
     *
     * @return
     */
    protected DocTestPortType locateInteropDocService() {
        String interopLocation = System.getProperty("interopLocation");

        // Valid service names are:
        // RemoteInteropDocService: the live interop Web Service
        // LocalHostInteropDocService: the interop Web Service hosted by Tuscany on localhost
        // LoopbackInteropDocServiceComponent: a dummy loopback service component

        // To specify the service name run mvn -interopLocation="Remote"

        if (interopLocation == null)
            interopLocation = "Remote";

        return scaDomain.getService(DocTestPortType.class, interopLocation + "InteropDocService");
    }

}
TOP

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

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.