mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-05-03 21:54:13 +02:00
* feat(request matchers): Add support for early mismatch in mapping processing * test(request matchers): Add unit test for early mismatch functionality * test(grpc): Add test for grpc requests early mismatch and error logging (Issue #1442) * feat(request matchers): RequestMatcherType Add `RequestMatcherType` to request matchers for improved type identification Closes #1442 * refactor(request matchers): Request Replace `EarlyMatcherSelector` with `EarlyMatcherType` for improved clarity and consistency Closes #1442 * feat(request): conversion Add EarlyMatcherType support in request models and mapping conversion Closes #1442 * test(mapping): new tests add unit tests for EarlyMatcherType in mapping conversion and serialization Closes #1442 * refactor(request matchers): RequestMessageEarlyMatcher Replaced inline `EarlyMatcherType` logic with the new `RequestMessageEarlyMatcher` class to support cases when several matchers of the same type are present. For instance - Header, Cookie, Param Closes #1442 * test(request matchers): Early Mismatch add unit tests for early mismatch scenarios with several matchers of same type. Currently, headers and parameters Closes #1442 * refactor(mapping): RequestModel.EarlyMatcherType use fully qualified enum for EarlyMatcherType in serialization Closes #1442 * style(review): fixes - removed unused method - added missing curly brackets Closes #1442
21 lines
870 B
Plaintext
21 lines
870 B
Plaintext
var builder = new MappingBuilder();
|
|
builder
|
|
.Given(Request.Create()
|
|
.WithEarlyMismatch(WireMock.Matchers.Request.RequestMatcherType.Method)
|
|
.UsingMethod("GET")
|
|
.WithPath(new WildcardMatcher(WireMock.Matchers.MatchBehaviour.AcceptOnMatch, "/test_path", false, WireMock.Matchers.MatchOperator.Or))
|
|
.WithParam("q", new ExactMatcher(WireMock.Matchers.MatchBehaviour.AcceptOnMatch, false, WireMock.Matchers.MatchOperator.And, "42"))
|
|
.WithClientIP("112.123.100.99")
|
|
.WithHeader("h-key", "h-value", true)
|
|
.WithCookie("c-key", "c-value", true)
|
|
.WithBody("b")
|
|
)
|
|
.WithGuid("8e7b9ab7-e18e-4502-8bc9-11e6679811cc")
|
|
.WithProbability(0.3)
|
|
.RespondWith(Response.Create()
|
|
.WithHeader("Keep-Alive", "test")
|
|
.WithBody("bbb")
|
|
.WithDelay(12345)
|
|
.WithTransformer()
|
|
);
|