У меня проблема с использованием 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
, чтобы он изменил мои ответы?