URL кодировки exchange () WebTest Cient, приводящий к «Ожидаемый статус: <200>, но был: <404>». Есть ли способ, которым я могу остановить его от кодирования моего URL - PullRequest
0 голосов
/ 02 апреля 2019

Весной я пишу потребительский контракт, используя WebTestClient. Когда я нажимаю на URL, содержащий контекстные параметры, мой тест не дает ожидаемого значения 200, а ответ - 404. Мне кажется, что когда вызывается exchange (), он кодирует URL, что приводит к сбою. URL, на который я нажимаю: -

/ v2 / resolvedPoliciesOutcome? AssetClass = АВС-АВС-АВС & contextParams = (courseId = 1bf854, courseBssVer = 1, ignoreOverrides = истина)

 FluxExchangeResult<String> result = webTestClient.get().uri((uriBuilder -> 
                      uriBuilder.path(GET_COURSE_SETTING_SUCCESS_URL)
              .queryParam("assetClass","ABC-ABC-ABC")
                      .queryParam("contextParams"," 
                      (courseId=1bf854,courseBssVer=1,ignoreOverrides=true)")
                      .build()))
              .exchange()
                      .expectStatus().isOk().expectHeader()
                      .contentType(contentType).returnResult(String.class);

Выход будет: -

java.lang.AssertionError: Status expected:<200> but was:<404>

> GET http://localhost:12830/lee/v2/resolvedPoliciesOutcome?assetClass=ABC-ABC-ABC&contextParams=(courseId%3D1bf854,courseBssVer%3D1,ignoreOverrides%3Dtrue)
> WebTestClient-Request-Id: [1]

No content

< 404 Not Found
< Content-Type: [text/plain]
< Transfer-Encoding: [chunked]
< Server: [Jetty(9.2.z-SNAPSHOT)]
...