Тестирование защищенной конечной точки REST с помощью Spring MVC Test Framework - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь протестировать безопасный метод REST, используя Spring MVC Test Framework.

  val result = this.mockMvc!!
     .perform(get("/ping").with(SecurityMockMvcRequestPostProcessors.user("user")))
                .andDo(MockMvcResultHandlers.print())
                .andReturn()

  assertThat(result.response.contentAsString).contains("pong")

Проблема в том, что по этому запросу поддельный сервер отвечает кодом 302, чтобы перенаправить его на безопасный канал. Результат никогда не является кодом 2xx, всегда является кодом 302. Я хотел бы выполнить это перенаправление или выполнить запрос на защищенном канале в первый раз.

Как я могу выполнить этот тест для проверки непосредственно на защищенном канале?

1 Ответ

0 голосов
/ 30 августа 2018

Наконец-то я нашел решение. Мне нужно позвонить secure(true) на издевательском get("/"). Меня удивило, что это не в документации, а только на javadocs:

  val result = this.mockMvc!!
     .perform(get("/ping").secure(true).with(SecurityMockMvcRequestPostProcessors.user("user")))
                .andDo(MockMvcResultHandlers.print())
                .andReturn()

  assertThat(result.response.contentAsString).contains("pong")
...