Wiremock - "URL does not match" even though it is same

Abbin Varghese :

I am facing an issue that Wiremock says my URKs don't match even though they are the same. Obviously I am missing something. What am I doing wrong?

WireMock.stubFor(WireMock.get(WireMock.urlPathEqualTo("/test/url?bookingCode=XYZ123&lastName=TEST"))
    .willReturn(WireMock.aResponse()
    .withStatus(200))
)

Below is the console log.

-----------------------------------------------------------------------------------------------------------------------
| Closest stub                                             | Request                                                  |
-----------------------------------------------------------------------------------------------------------------------
                                                           |
GET                                                        | GET
/test/url?bookingCode=XYZ123&lastName=TEST                 | /test/url?bookingCode=XYZ123&lastName=TEST            <<<<< URL does not match
                                                           |
                                                           |
-----------------------------------------------------------------------------------------------------------------------

Is it because I am not including Headers in the matchers?

If yes, how can I avoid matching the headers? I would like to get a response irrespective of what header I am sending.

Abbin Varghese :

Found the reason.. WireMock.urlPathEqualTo("/test/url?bookingCode=XYZ123&lastName=TEST") should not have the query params.

Changing it to WireMock.urlPathEqualTo("/test/url") resolved the issue.

Documentation says it is allowed. Also, the log URL does not match was causing the confusion. Considering the match check is separate, wiremock could have added a separate log for query param.

Created issue : https://github.com/tomakehurst/wiremock/issues/1262

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=415126&siteId=1