-
-
Notifications
You must be signed in to change notification settings - Fork 209
Request Matching
Stef Heyenrath edited this page Aug 10, 2023
·
47 revisions
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
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
server
.Given(Request
.Create()
.WithPath("/test")
{
"Request": {
"Path": {
"Matchers": [
{
"Name": "WildcardMatcher",
"Pattern": "/path",
"IgnoreCase": true
}
]
}
}
}
server
.Given(Request
.Create()
.WithUrl("https://localhost/test")
{
"Request": {
"Url": {
"Matchers": [
{
"Name": "RegexMatcher",
"Pattern": "/clients[?]",
"IgnoreCase": true
}
]
}
}
}
server
.Given(Request
.Create()
.WithParam("search", "abc")
{
"Request": {
"Params": [
{
"Name": "search",
"Matchers": [
{
"Name": "ExactMatcher",
"Pattern": "abc"
}
]
}
]
}
}
// 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
.
Content moved to Request Matchers.
- Home
- What is WireMock.Net
- WireMock.Org
- References
- Settings
- Admin REST API
- Proxying
- Stubbing
- Webhook
- Request Matching
- Response Templating
- Unit Testing
- Using WireMock
- Advanced
- Errors