Package com.eviware.soapui.impl.wsdl.panels.mockoperation

Source Code of com.eviware.soapui.impl.wsdl.panels.mockoperation.WsdlMockResultMessageExchange

/*
* 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.panels.mockoperation;

import java.util.Vector;

import com.eviware.soapui.impl.wsdl.WsdlOperation;
import com.eviware.soapui.impl.wsdl.mock.WsdlMockResponse;
import com.eviware.soapui.impl.wsdl.mock.WsdlMockResult;
import com.eviware.soapui.impl.wsdl.submit.AbstractWsdlMessageExchange;
import com.eviware.soapui.model.ModelItem;
import com.eviware.soapui.model.iface.Attachment;
import com.eviware.soapui.model.iface.Response;
import com.eviware.soapui.model.mock.MockResponse;
import com.eviware.soapui.model.mock.MockResult;
import com.eviware.soapui.support.types.StringToStringsMap;

/**
* WsdlMessageExchange for a WsdlMockResult, required for validations
*
* @author ole.matzura
*/

public class WsdlMockResultMessageExchange extends AbstractWsdlMessageExchange<ModelItem> {
    private final MockResult mockResult;
    private MockResponse mockResponse;

    public WsdlMockResultMessageExchange(MockResult mockResult, MockResponse mockResponse) {
        super(mockResponse);

        this.mockResult = mockResult;
        this.mockResponse = mockResponse;
    }

    public ModelItem getModelItem() {
        return mockResponse == null ? mockResult.getMockOperation() : mockResponse;
    }

    public String getEndpoint() {
        return mockResult.getMockRequest().getHttpRequest().getRequestURI();
    }

    @Override
    public Response getResponse() {
        return null;
    }

    public Attachment[] getRequestAttachments() {
        return mockResult.getMockRequest().getRequestAttachments();
    }

    public String getRequestContent() {
        if (mockResult == null || mockResult.getMockRequest() == null) {
            return null;
        }

        return mockResult.getMockRequest().getRequestContent();
    }

    public StringToStringsMap getRequestHeaders() {
        return mockResult == null ? null : mockResult.getMockRequest().getRequestHeaders();
    }

    public Attachment[] getResponseAttachments() {
        return mockResult == null || mockResponse == null ? new Attachment[0] : mockResult.getMockResponse()
                .getAttachments();
    }

    public String getResponseContent() {
        return mockResult == null ? null : mockResult.getResponseContent();
    }

    public StringToStringsMap getResponseHeaders() {
        return mockResult == null ? new StringToStringsMap() : mockResult.getResponseHeaders();
    }

    public WsdlOperation getOperation() {
        if (mockResponse != null && mockResponse instanceof WsdlMockResponse) {
            WsdlMockResponse wsdlMockResponse = (WsdlMockResponse) mockResponse;
            if (mockResult.getMockOperation() != null) {
                return (WsdlOperation) mockResult.getMockOperation().getOperation();
            }

            return wsdlMockResponse.getMockOperation().getOperation();
        }
        return null;
    }

    public long getTimeTaken() {
        return mockResult == null ? -1 : mockResult.getTimeTaken();
    }

    public long getTimestamp() {
        return mockResult == null ? -1 : mockResult.getTimestamp();
    }

    public boolean isDiscarded() {
        return mockResponse == null;
    }

    public void discard() {
        mockResponse = null;
    }

    public Vector<?> getRequestWssResult() {
        if (mockResult != null && mockResult instanceof WsdlMockResult) {
            return ((WsdlMockResult) mockResult).getRequestWssResult();
        }
        return null;
    }

    public Vector<?> getResponseWssResult() {
        return null;
    }

    public int getResponseStatusCode() {
        return mockResponse.getResponseHttpStatus();
    }

    public String getResponseContentType() {
        return mockResult.getMockResponse().getContentType();
    }

    @Override
    public byte[] getRawRequestData() {
        return mockResult.getMockRequest().getRawRequestData();
    }

    @Override
    public byte[] getRawResponseData() {
        return mockResult.getRawResponseData();
    }

    @Override
    public boolean hasRawData() {
        return true;
    }
}
TOP

Related Classes of com.eviware.soapui.impl.wsdl.panels.mockoperation.WsdlMockResultMessageExchange

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.