mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-09-05 17:37:29 +02:00
SaveUnmatchedRequests stopped working #544
Closed
opened 2025-12-29 15:26:36 +01:00 by adam
·
9 comments
No Branch/Tag Specified
master
1341-mapping-json
stef-aspire-tests-updates
bug/973-TinyMapper
bug/1149-AppendGuidToSavedMappingFile
feature/1150-DockerImageVersion
61
stef-1108
stef-1097
stef-1083-MessageOptions_Type_Conflict
stef-1062-logger
stef-IgnoreOpenApiErrors
stef-928-TypeLoadException-FluentAssertions-net472
nunit
stef-849
stef-847-regex-questionmark
http_verb
WireMockServerContext
webapp
ai
CommandLineArgumentsParser
2.15.0
2.14.0
2.13.0
2.12.0
2.11.0
2.10.0
2.9.0
2.8.0
2.7.0
2.6.0
2.5.0
2.4.0
2.3.0
2.2.0
2.1.0
2.0.0
1.25.0
1.24.0
1.23.0
1.22.0
1.21.0
1.20.0
1.19.0
1.18.0
1.17.0
1.16.0
1.15.0
1.14.0
1.13.0
1.12.0
1.11.2
1.11.0
1.10.1
1.10.0
1.9.1
1.9.0
1.8.18
1.8.17
1.8.16
1.8.15
1.8.14
1.8.13
1.8.12
1.8.11
1.8.10
1.8.9
1.8.8
1.8.7
1.8.6
1.8.5
1.8.3
1.8.2
1.8.1
1.8.0
1.7.4
1.7.3
1.7.2
1.7.1
1.7.0
1.6.12
1.6.11
1.6.10
1.6.9
1.6.8
1.6.7
1.6.6
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.62
1.5.61
1.5.60
1.5.59
1.5.58
1.5.57
1.5.56
1.5.55
1.5.54
1.5.53
1.5.52
1.5.51
1.5.50
1.5.49
1.5.48
1.5.47
1.5.46
1.5.45
1.5.44
1.5.43
1.5.42
1.5.41
1.5.40
1.5.39
1.5.38
1.5.37
1.5.36
1.5.35
1.5.34
1.5.33
1.5.32
1.5.31
1.5.30
1.5.29
1.5.28
1.5.27
1.5.26
1.5.25
1.5.24
1.5.23
1.5.22
1.5.21
1.5.20
1.5.19
1.5.18
1.5.17
1.5.16
1.5.15
1.5.14
1.5.13
1.5.12
1.5.11
1.5.10
1.5.9
1.5.8
1.5.7
1.5.6
1.5.5
1.5.4
1.5.3
1.5.2
1.5.1
1.5.0
1.4.43
1.4.42
1.4.41
1.4.40
1.4.39
1.4.38
1.4.37
1.4.36
1.4.35
1.4.34
1.4.33
1.4.32
1.4.31
1.4.30
1.4.29
1.4.28
1.4.27
1.4.26
1.4.25
1.4.24
1.4.23
1.4.22
1.4.21
1.4.20
1.4.19
1.4.18
1.4.17
1.4.16
1.4.15
1.4.14
1.4.13
1.4.12
1.4.11
1.4.10
1.4.9
1.4.8
1.4.7
1.4.6
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.10
1.3.9
1.3.8
1.3.6
1.3.5
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
1.2.18
1.2.17
1.2.16
1.2.15
1.2.14
1.2.13
1.2.12
1.2.11.0
1.2.10
1.2.9.0
1.2.8.0
1.2.7.0
1.2.6.0
1.2.5.0
1.2.4.0
1.2.3.0
1.2.2.0
1.2.1.0
1.2.0.0
1.1.10
1.1.9.0
1.1.8.0
1.1.7.0
1.1.6.0
1.1.5.0
1.1.3.0
1.1.2.0
1.1.1.0
1.1.0.0
1.0.43.0
1.0.42.0
1.0.41.0
1.0.40.0
1.0.39.0
1.0.38.0
1.0.37.0
1.0.36.0
1.0.35.0
1.0.34.0
1.0.33.0
1.0.32.0
1.0.31.0
1.0.29.0
1.0.28.0
1.0.25.0
1.0.24.0
1.0.23.0
1.0.22.0
1.0.21.0
1.0.20.0
1.0.19.0
1.0.18.0
1.0.17.0
1.0.16.0
1.0.15.0
1.0.14.0
1.0.13.0
1.0.12.0
1.0.11.0
1.0.10.0
1.0.9.0
1.0.8.0
1.0.7.0
1.0.6.1
1.0.6
1.0.5
1.0.4.21
1.0.4.20
1.0.4.19
1.0.4.18
1.0.4.17
1.0.4.16
1.0.4.15
1.0.4.14
1.0.4.13
1.0.4.12
1.0.4.11
1.0.4.10
1.0.4.9
1.0.4.8
1.0.4.7
1.0.4.6
1.0.4.5
1.0.4.4
1.0.4.3
1.0.4.2
1.0.4.1
1.0.4.0
1.0.3.20
1.0.3.19
1.0.3.18
1.0.3.17
1.0.3.16
1.0.3.15
1.0.3.14
1.0.3.13
1.0.3.12
1.0.3.11
1.0.3.10
1.0.3.9
1.0.3.8
1.0.3.7
1.0.3.6
1.0.3.5
1.0.3.4
1.0.3.3
1.0.3.2
1.0.3.1
1.0.3.0
1.0.2.13
1.0.2.12
1.0.2.11
1.0.2.10
1.0.2.9
1.0.2.8
1.0.2.7
1.0.2.6
1.0.2.5
1.0.2.4
1.0.2.1
1.0.2.0
1.0.1.5
1.0.1.3
1.0.1.2
1.0.1.1
1.0.0.0
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Assignees
adam (Adam Melkus)
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/WireMock.Net-wiremock#544
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Originally created by @LevYas on GitHub (Sep 20, 2023).
Hi! Glad to see the project is thriving! I noticed a little side-effect though :)
Describe the bug
Unmatched requests are no longer saved
Expected behavior:
They should be
Test to reproduce
Other related info
This doesn't work on the latest version 1.5.35, but I see many changes published on Aug 3. I tried to downgrade to version 1.5.32 and it works in 1.5.32, but doesn't work in 1.5.34 and 1.5.35.
The function WriteUnmatchedRequest is not even called in the latest versions. I tested this using my file handler:
If I downgrade to 1.5.32 the breakpoint does hit and the file is successfully saved.
Maybe something has changed in the way the condition is calculated here https://github.com/WireMock-Net/WireMock.Net/blob/59aab9e1c369bf1319e5a52f4d1ddfedfd0205df/src/WireMock.Net/Owin/WireMockMiddleware.cs#L190-L191
@StefH commented on GitHub (Sep 20, 2023):
https://github.com/WireMock-Net/WireMock.Net/pull/1002
@StefH commented on GitHub (Sep 20, 2023):
@LevYas
I have added an extra unit test and changed the code you suggested.
Can you please test preview version 1.5.35-ci-17786 ?
@LevYas commented on GitHub (Sep 20, 2023):
Thank you for such a quick reaction!
I installed this version via MyGet feed, but the error is still reproducible. I'm not sure that the problem is exactly in the line I mentioned - I meant that the match structure/logic might be changed, but I'm not sure.
Does your unit test pass without the modification to the condition line? I don't see the logic changes, for me, it does the same.
Is it possible that an exception is thrown in the request logging? Json serialization in this method can throw.
Not in this line, but if I start debugging with "just my code" disabled, I get JSON serialization error:
In that moment, current string in the json parser is
This happens at the initialization stage:
My mapping
@LevYas commented on GitHub (Sep 20, 2023):
I think I got it. The JSON serialization exception is thrown here
https://github.com/WireMock-Net/WireMock.Net/blob/59aab9e1c369bf1319e5a52f4d1ddfedfd0205df/src/WireMock.Net/Owin/WireMockMiddleware.cs#L193
Stack trace
That is why we never reach the WriteUnmatchedRequest.
The exceptions itself is quite strange:
Probably that happened when the serializer tried to serialize BodyAsMimeMessage.
@StefH commented on GitHub (Sep 20, 2023):
Thank you for the analysis.
MimeMessage support is fairly new. However you are not using any Multiparty Mine, correct?
I'll try to use your mapping and debug the code.
Btw thank you for the sponsoring.
@LevYas commented on GitHub (Sep 20, 2023):
UR welcome, happy to help.
I don't use anything like that. My main use case is to write some request-response pairs in proxy mode, disable proxy mode, and use the recordings both as snapshot tests for request factories and tests for response handlers and many other parts of the code that require interaction with third-party API. I work with JSON and XML (SOAP) APIs. Thanks to the speed and convenience of WMN, I don't use mocked unit tests for API-related code.
My pleasure!
@StefH commented on GitHub (Sep 20, 2023):
@LevYas
Can you try preview
1.5.35-ci-17788?@LevYas commented on GitHub (Sep 21, 2023):
That worked, thank you! WriteUnmatchedRequest was called and the file with failed matching is recorded successfully.
@StefH commented on GitHub (Sep 21, 2023):
PR is merged and I'll create a new NuGet version.