У меня проблема с использованием WireMock, я расширил ResponseTransformer
и реализовал все необходимые методы, это выглядит так:
public class TempResponseTransformer extends ResponseTransformer {
@Override
public Response transform(Request request, Response response, FileSource fileSource,
Parameters parameters) {
return Response.Builder.like(response).but().status(404).body("1").build();
}
@Override
public boolean applyGlobally() {
return false;
}
@Override
public String getName() {
return "temp-response-transformer";
}
}
Теперь я хочу применить этот конкретный трансформатор к одной из заглушек, которые я написал, заглушка выглядит так:
private static void initTempStub() {
stubFor(post(urlPathEqualTo("/api/v1/temp"))
.withHeader("AccessToken", matching("[a-zA-Z0-9]+"))
.withHeader("CliendID", matching("[a-zA-Z0-9]+"))
.withHeader("ClientSecret", matching("[a-zA-Z0-9]+"))
.willReturn(aResponse()
.withTransformers("temp-response-transformer")));
}
Когда я запускаю службу и выполняю почтовые звонки, я вижу, что преобразователь применяется, однако ответы на самом деле не преобразуются.
Я пытался применить преобразователь в разделе конфигурации при запуске службы, но это не помогает.
Итак, мой вопрос: как правильно применить ReponseTransformer
, чтобы это изменило мои ответы?