mshatunov
11/7/2018 - 8:21 AM

Wiremock java

usage
        def expectedResponsePath = stubSoap(
                "/CS/EQ/WSCodeClickPaymentFields/WSCodeClickPaymentFields11",
                routeId, externalSystem
        )



package ru.alfabank.mobile.fields.controller


import org.springframework.cloud.contract.wiremock.AutoConfigureWireMock
import org.springframework.http.HttpStatus
import ru.alfabank.mobile.tests.WebIntegrationTest

import static com.github.tomakehurst.wiremock.client.WireMock.*
import static ru.alfabank.api.utils.fs.StringLoader.fromClasspath

@AutoConfigureWireMock(port = 31238)
class BaseIntegrationTest extends WebIntegrationTest {

    protected static def stubSoap(String url, String routeId, String system) {
        stubFor post(urlEqualTo(url))
                .withRequestBody(equalToXml(fromClasspath("/__files/expected-request/${routeId}-${system}-request.xml")))
                .willReturn(
                aResponse()
                        .withStatus(HttpStatus.OK.value())
                        .withHeader("Content-Type", "application/xml;charset=UTF-8")
                        .withBodyFile("ws-response/${routeId}-${system}-response.xml"))

        return "/__files/expected-response/${routeId}-${system}-response.json"
    }
}