Request Matching
1️⃣ Request Matching
Section titled “1️⃣ Request Matching”WireMock.Net supports matching of requests to stubs and verification queries using the following parts:
- Path
- URL
- HTTP Method
- Query parameters
- Headers
- Cookies
- Request Body
Generic information on matchers:
Section titled “Generic information on matchers:”Most matchers have 2 extra properties:
- IgnoreCase = define that the matcher should match ignoring the case
- RejectOnMatch = define that when the matcher does match successfully, this should be counted as a invalid (non-matching) match
Example Matchings
Section titled “Example Matchings”C# example
Section titled “C# example”server .Given(Request .Create() .WithPath("/test")
JSON example
Section titled “JSON example”{ "Request": { "Path": { "Matchers": [ { "Name": "WildcardMatcher", "Pattern": "/path", "IgnoreCase": true } ] } }}
C# example
Section titled “C# example”server .Given(Request .Create() .WithUrl("https://localhost/test")
JSON example
Section titled “JSON example”{ "Request": { "Url": { "Matchers": [ { "Name": "RegexMatcher", "Pattern": "/clients[?]", "IgnoreCase": true } ] } }}
Query Parameters
Section titled “Query Parameters”C# example
Section titled “C# example”server .Given(Request .Create() .WithParam("search", "abc")
JSON example
Section titled “JSON example”{ "Request": { "Params": [ { "Name": "search", "Matchers": [ { "Name": "ExactMatcher", "Pattern": "abc" } ] } ] }}
Headers
Section titled “Headers”// todo
{ "Request": { "Headers": [ { "Name": "api-key", "Matchers": [ { "Name": "WildcardMatcher", "Pattern": "abc*" "IgnoreCase": true } ] } ] }}
Note that when you want to match on a missing header, you need to use this mapping:
{ "Request": { "Headers": [ { "Name": "api-key", "IgnoreCase": true, "RejectOnMatch": true } ]}
This means that when the header-key api-key
(ignoring the casing) is missing the header mapping will match because RejectOnMatch
is true
.
2️⃣ Matchers
Section titled “2️⃣ Matchers”Content moved to Request Matchers.