Package com.eviware.soapui.impl.wsdl.support.wsrm

Source Code of com.eviware.soapui.impl.wsdl.support.wsrm.WsrmUtilsTest

/*
* 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.eviware.soapui.impl.wsdl.support.wsrm;

import com.eviware.soapui.impl.support.wsa.WsaRequest;
import com.eviware.soapui.impl.wsdl.support.soap.SoapVersion;
import com.eviware.soapui.utils.ModelItemFactory;
import org.junit.Before;
import org.junit.Test;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.util.UUID;

import static com.eviware.soapui.utils.CommonMatchers.compliantWithSchema;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;

/**
* Unit tests for WS-RM functionality in WsrmUtils
*/
public class WsrmUtilsTest {

    public static final String WSRM_1_0_SCHEMA_200502_LOCATION = "/xsds/wsrm-1.0-schema-200502.xsd";
    public static final String WSRM_1_1_SCHEMA_200702_LOCATION = "/xsds/wsrm-1.1-schema-200702.xsd";

    @Before
    public void setUp() throws Exception {

    }

    @Test
    public void buildsValidStartSequenceRequest() throws Exception {
        WsrmUtils requestBuilder = new WsrmUtils(SoapVersion.Soap12);
        WsaRequest wsaRequest = requestBuilder.buildStartSequenceRequest("http://example.com", SoapVersion.Soap12, WsrmUtils.WSRM_NS_1_1, "http://example.com",
                0l, ModelItemFactory.makeWsdlOperation(), UUID.randomUUID().toString(), null);
        Document soapEnvelope = getContentAsDocument(wsaRequest);
        NodeList nodeList = soapEnvelope.getElementsByTagNameNS(WsrmUtils.WSRM_NS_1_1, "CreateSequence");

        assertThat(nodeList.item(0), is(compliantWithSchema(WSRM_1_1_SCHEMA_200702_LOCATION)));
    }

    @Test
    public void buildsValidStartSequenceRequestWithVersion10() throws Exception {
        WsrmUtils requestBuilder = new WsrmUtils(SoapVersion.Soap12);
        WsaRequest wsaRequest = requestBuilder.buildStartSequenceRequest("http://example.com", SoapVersion.Soap12, WsrmUtils.WSRM_NS_1_0, "http://example.com",
                0l, ModelItemFactory.makeWsdlOperation(), UUID.randomUUID().toString(), null);
        Document soapEnvelope = getContentAsDocument(wsaRequest);
        NodeList nodeList = soapEnvelope.getElementsByTagNameNS(WsrmUtils.WSRM_NS_1_0, "CreateSequence");

        assertThat(nodeList.item(0), is(compliantWithSchema(WSRM_1_0_SCHEMA_200502_LOCATION)));
    }

    @Test
    public void buildsValidStartSequenceRequestWhenOfferEndpointIsSet() throws Exception {
        WsrmUtils requestBuilder = new WsrmUtils(SoapVersion.Soap12);
        WsaRequest wsaRequest = requestBuilder.buildStartSequenceRequest("http://example.com", SoapVersion.Soap12, WsrmUtils.WSRM_NS_1_1, "http://example.com",
                0l, ModelItemFactory.makeWsdlOperation(), UUID.randomUUID().toString(), "http://some.endpoint.com");
        Document soapEnvelope = getContentAsDocument(wsaRequest);
        NodeList nodeList = soapEnvelope.getElementsByTagNameNS(WsrmUtils.WSRM_NS_1_1, "CreateSequence");

        assertThat(nodeList.item(0), is(compliantWithSchema(WSRM_1_1_SCHEMA_200702_LOCATION)));
    }

    @Test
    public void buildsValidStartSequenceRequestWhenOfferEndpointIsSetWithVersion10() throws Exception {
        WsrmUtils requestBuilder = new WsrmUtils(SoapVersion.Soap12);
        WsaRequest wsaRequest = requestBuilder.buildStartSequenceRequest("http://example.com", SoapVersion.Soap12, WsrmUtils.WSRM_NS_1_0, "http://example.com",
                0l, ModelItemFactory.makeWsdlOperation(), UUID.randomUUID().toString(), "http://some.endpoint.com");
        Document soapEnvelope = getContentAsDocument(wsaRequest);
        NodeList nodeList = soapEnvelope.getElementsByTagNameNS(WsrmUtils.WSRM_NS_1_0, "CreateSequence");

        assertThat(nodeList.item(0), is(compliantWithSchema(WSRM_1_0_SCHEMA_200502_LOCATION)));
    }

    private Document getContentAsDocument(WsaRequest wsaRequest) throws ParserConfigurationException, SAXException, IOException {
        DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
        documentBuilderFactory.setValidating(false);
        documentBuilderFactory.setNamespaceAware(true);
        DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
        return documentBuilder.parse(
                new ByteArrayInputStream(wsaRequest.getRequestContent().getBytes()));
    }


}
TOP

Related Classes of com.eviware.soapui.impl.wsdl.support.wsrm.WsrmUtilsTest

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.