Apache Camel - ложная конечная точка REST возвращает исключение NullPointerException - PullRequest
0 голосов
/ 06 апреля 2020

Я хотел бы смоделировать ответы от конечной точки 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.

Я не понимаю, почему я получаю это исключение (я должен где-то определить контекст для макета ?) и как мне правильно реализовать макет конечной точки для проверки маршрута.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...