Spring webflux WebTestClient с параметром запроса - PullRequest
0 голосов
/ 16 октября 2019

В моем приложении webflux у меня есть эта GET конечная точка

v3/callback?state=cGF5bWVudGlkPTRiMmZlMG

Я пытаюсь написать интеграционный тест, используя WebTestClient

@Test
public void happyScenario() {
    webTestClient.get().uri("/v3/callback?state=cGF5bWVudGlkPTRiMmZlMG")
            .exchange()
            .expectStatus()
            .isOk();
}

Этот тестовый случай возвращается 404 notFound, если я удалил параметр запроса, он будет вызван, но параметр state будет отсутствовать

Я пытался использовать attribute

  webTestClient.get().uri("/v3/callback")
            .attribute("state","cGF5bWVudGlkPTRiMmZlMG")
            .exchange()
            .expectStatus()
            .isOk();

, но все равно state отсутствует параметр. Как включить параметр запроса в запрос при использовании webTestClient?

1 Ответ

1 голос
/ 16 октября 2019

Вы можете использовать UriBuilder.

webTestClient.get()
            .uri(uriBuilder ->
                    uriBuilder
                            .path("/v3/callback")
                            .queryParam("state", "cGF5bWVudGlkPTRiMmZlMG")
                            .build())
            .exchange()
            .expectStatus()
            .isOk();

Это должно работать.

...