Wiremock not matching regex

masha.knezevic picture masha.knezevic · Jun 28, 2018 · Viewed 12.8k times · Source

I'm using wiremock to mock certain requests and their respective response, but I'm trying to add a regex. Unfortunately, this just throws an exception stating that the request was not matched.

{
  "request" : {
     "method": "GET",
     "urlPattern": "/my/service/url?^.*(specificParam.*(M[0-9]{9})).*$"
   },
 "response": {
   ...
   }
}

I also tried it with

"urlPattern": "/my/service/url\\?^.*(specificParam.*(M[0-9]{9})).*$"

The request I'm sending is /my/service/url?saml2=disabled&filter=specificParam%20eq%20%27M012345678%27

Does anyone have an idea why the request is not being matched to the mapping? Thanks in advance.

Answer

Stef Heyenrath picture Stef Heyenrath · Jun 28, 2018

Did you try this :

{
  "request" : {
     "method": "GET",
     "urlPattern": "^\/my\/service\/url\\?.*(specificParam.*(M[0-9]{9})).*$"
   },
   "response": {
   ...
   }
}

See this regex here : https://regex101.com/r/B3XACf/1