Package com.smartbear.soapui.other.soap.wsdl

Source Code of com.smartbear.soapui.other.soap.wsdl.WsdlDefinitionExporterTestCaseTest

/*
* Copyright 2004-2014 SmartBear Software
*
* Licensed under the EUPL, Version 1.1 or - as soon as they will be approved by the European Commission - subsequent
* versions of the EUPL (the "Licence");
* You may not use this work except in compliance with the Licence.
* You may obtain a copy of the Licence at:
*
* http://ec.europa.eu/idabc/eupl
*
* Unless required by applicable law or agreed to in writing, software distributed under the Licence is
* distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the Licence for the specific language governing permissions and limitations
* under the Licence.
*/

package com.smartbear.soapui.other.soap.wsdl;

import com.eviware.soapui.impl.support.definition.export.WsdlDefinitionExporter;
import com.eviware.soapui.impl.wsdl.WsdlInterface;
import com.eviware.soapui.impl.wsdl.WsdlProject;
import com.eviware.soapui.impl.wsdl.support.wsdl.WsdlImporter;
import com.eviware.soapui.settings.WsdlSettings;
import com.smartbear.soapui.utils.IntegrationTest;
import com.smartbear.soapui.utils.jetty.JettyTestCaseBase;
import org.junit.Test;
import org.junit.experimental.categories.Category;

import java.io.File;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

@Category(IntegrationTest.class)
public class WsdlDefinitionExporterTestCaseTest extends JettyTestCaseBase {
    private static final String OUTPUT_FOLDER_BASE_PATH = WsdlDefinitionExporterTestCaseTest.class.getResource("/").getPath();

    @Test
    public void shouldSaveDefinition() throws Exception {
        replaceInFile("wsdls/test7/TestService.wsdl", "8082", "" + getPort());
        replaceInFile("wsdls/test8/TestService.wsdl", "8082", "" + getPort());

        testLoader("http://localhost:" + getPort() + "/wsdls/test1/TestService.wsdl");
        testLoader("http://localhost:" + getPort() + "/wsdls/test2/TestService.wsdl");
        testLoader("http://localhost:" + getPort() + "/wsdls/test3/TestService.wsdl");
        testLoader("http://localhost:" + getPort() + "/wsdls/test4/TestService.wsdl");
        testLoader("http://localhost:" + getPort() + "/wsdls/test5/TestService.wsdl");
        testLoader("http://localhost:" + getPort() + "/wsdls/test6/TestService.wsdl");
        testLoader("http://localhost:" + getPort() + "/wsdls/test7/TestService.wsdl");
        testLoader("http://localhost:" + getPort() + "/wsdls/test8/TestService.wsdl");
        testLoader("http://localhost:" + getPort() + "/wsdls/testonewayop/TestService.wsdl");
    }

    private void testLoader(String wsdlUrl) throws Exception {
        WsdlProject project = new WsdlProject();
        project.getSettings().setBoolean(WsdlSettings.CACHE_WSDLS, true);
        WsdlInterface wsdlInterface = WsdlImporter.importWsdl(project, wsdlUrl)[0];

        assertTrue(wsdlInterface.isCached());

        WsdlDefinitionExporter exporter = new WsdlDefinitionExporter(wsdlInterface);

        String root = exporter.export(OUTPUT_FOLDER_BASE_PATH + "test" + File.separatorChar + "output");

        WsdlProject project2 = new WsdlProject();
        WsdlInterface wsdl2 = WsdlImporter.importWsdl(project2, new File(root).toURI().toURL().toString())[0];

        assertEquals(wsdlInterface.getBindingName(), wsdl2.getBindingName());
        assertEquals(wsdlInterface.getOperationCount(), wsdl2.getOperationCount());
        assertEquals(wsdlInterface.getWsdlContext().getInterfaceDefinition().getDefinedNamespaces(), wsdl2
                .getWsdlContext().getInterfaceDefinition().getDefinedNamespaces());
    }
}
TOP

Related Classes of com.smartbear.soapui.other.soap.wsdl.WsdlDefinitionExporterTestCaseTest

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.