mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-08-31 16:07:30 +02:00
Reset single scenario using HTTP request #460
Closed
opened 2025-12-29 15:24:23 +01:00 by adam
·
7 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#460
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 @iparry7979 on GitHub (Oct 19, 2022).
I am running WireMock as a standalone app.
Regarding resetting scenarios: I am able to reset all scenarios using an empty POST request such as: POST /__admin/scenarios/reset.
However, it fails when I try to reset a single scenario using an empty PUT request for example: PUT /__admin/scenarios/my_scenario/state
According to the documentation here this should work in the java version. Is this implemented in the C# version? If so am I doing something wrong to reset a single scenario?
@StefH commented on GitHub (Oct 19, 2022):
Hello @iparry7979,
This is not yet implemented in the current version, however you can try a preview version which supports:
/__admin/scenarios/ABC/__admin/scenarios/ABC/resetWhere
ABCis the name from the scenario.Preview version = "1.5.8-ci-16566".
Info: https://github.com/WireMock-Net/WireMock.Net/wiki/MyGet-preview-versions
@StefH commented on GitHub (Oct 21, 2022):
https://github.com/WireMock-Net/WireMock.Net/pull/834
@StefH commented on GitHub (Oct 22, 2022):
@iparry7979 did you have to time to verify this logic in the preview NuGet ?
@StefH commented on GitHub (Oct 25, 2022):
@iparry7979 Did you have time to test this?
@iparry7979 commented on GitHub (Oct 25, 2022):
Hi @StefH I have done some testing with this preview version. It's not working quite as I expected. I have the following stubs:
server.Given(Request.Create().WithPath("/scenario").UsingGet()).InScenario("Scenario1").WillSetStateTo("State2") .RespondWith(Response.Create().WithStatusCode(200).WithHeader("Content-Type", "text/plain").WithBody("Initial state"));server.Given(Request.Create().WithPath("/scenario").UsingGet()).InScenario("Scenario1").WhenStateIs("State2").WillSetStateTo("State3").RespondWith(Response.Create().WithStatusCode(200).WithHeader("Content-Type", "text/plain").WithBody("State 2"));server.Given(Request.Create().WithPath("/scenario").UsingGet()).InScenario("Scenario1").WhenStateIs("State3") .RespondWith(Response.Create().WithStatusCode(200).WithHeader("Content-Type", "text/plain").WithBody("State 3"));What I was expecting was that when I hit the /scenario path multiple times I would get the following responses:
Initial state
State 2
State 3
State 3
State 3
...
Since when the scenario is in state 3 there is no WillSetStateTo. What I actually got as responses was:
Initial state
State 2
State 3
Initial state
State 2
State 3
...
So the on the 3rd call it set the state back to the initial state despite having no instruction to reset the state. I also tested the POST to /__admin/scenarios/ABC/reset. Here were the results:
C:\Developer>curl http://localhost:7979/scenarioInitial stateC:\Developer>curl -X POST http://localhost:7979/__admin/scenarios/Scenario1/resetState 2C:\Developer>curl http://localhost:7979/scenarioState 3So the POST to the admin url seemed to just do the same thing as a call to the /scenario path and updated the state to state3. Whereas I expected it should reset the scenario to it's initial state. I may be misunderstanding something about the way it is supposed to work though.
@iparry7979 commented on GitHub (Oct 25, 2022):
@StefH Please disregard the second part of my comment above. I had updated Wiremock.Net.Standalone but not WireMock.Net. When I updated the package the POST to /__admin/scenarios/Scenario1/reset worked as expected in version 1.5.8-ci-16566.
@StefH commented on GitHub (Oct 26, 2022):
@iparry7979 Thanks for testing. I'll merge PR to master en close this issue.