2

I'm trying to add a Wiremock stub that matches if the JSON in a request body is either non-existent OR an empty string.

The stub I have at the moment is:

{
    "id" : "e331007e-3e6d-4660-b575-b04e774e88c6",
    "request" : {
      "urlPathPattern" : "/premises/([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})/bookings/([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})/non-arrivals",
      "method" : "POST",
      "bodyPatterns" : [ {
        "matchesJsonPath" : "$.[?(@.reason === '' || @.reason == null)]"
      } ]
    },
    "response" : {
      "status" : 400,
      "jsonBody" : {
        "type" : "https://example.net/validation-error",
        "title" : "Invalid request parameters",
        "code" : 400,
        "invalid-params" : [ {
          "propertyName" : "reason",
          "errorType" : "blank"
        } ]
      },
      "headers" : {
        "Content-Type" : "application/problem+json;charset=UTF-8"
      }
    },
    "uuid" : "e331007e-3e6d-4660-b575-b04e774e88c6"
  }

It matches is the reason is '', but not if reason is not present. Any ideas?

Pezholio
  • 2,439
  • 5
  • 27
  • 41

0 Answers0