Я хотел бы смоделировать ответы от конечной точки REST, чтобы я мог проверить свой маршрут. Я следую книге «Верблюд в действии» и адаптировал пример тестирования REST реализация следующим образом:
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
from("jetty://http://localhost:9080/SERVICECALL")
.transform().message(m -> "endpoint")
.to("mock:endpoint");
}
};
}
@Test
public void shouldCallRedaction() throws Exception {
MockEndpoint mock = getMockEndpoint("mock:endpoint");
mock.expectedBodiesReceived("endpoint");
mock.whenAnyExchangeReceived(e -> e.getIn().setBody("endpoint"));
String url = "http://localhost:9080/SERVICECALL";
String response = template.requestBody(url, "test", String.class);
assertEquals("endpoint", response);
assertMockEndpointsSatisfied();
}
Метод getMockEndpoint
возвращает NullPointerException
. Когда я запускаю в режиме отладки, я вижу, что CamelContext
это null
, отсюда исключение. Мое намерение состоит в том, чтобы вместо этого получать простой текстовый ответ «конечная точка», когда вызывается конечная точка SERVICECALL
.
Я не понимаю, почему я получаю это исключение (я должен где-то определить контекст для макета ?) и как мне правильно реализовать макет конечной точки для проверки маршрута.