Enhancement: define failure rate for each mocked response
- Dominant language
- C#
- Stars
- 832
- Forks
- 89
- Avg merge
- 12h 1m
- Merged PRs (30d)
- 23
Description
### Background
Currently, I am researching if we may use the ms-dev-proxy as a tool to support us in integration/manual/QA tests for our apps, and mocking responses is just the perfect functionality we could use 😉.
### Idea
1. Currently the ms-dev-proxy will look for `responses.json` file in the working directory which is just perfect to keep mock related to the app in the projects folder. What I was thinking is maybe ms-dev-proxy could have a new option that would allow specifying the relative path to the `response.json` with mocks to be used. Maybe something like `-r --responses-file-path` (optional). The aim for this would be to have different test scenarios with different mocks for the same app and then use them as part of integration tests. That way I could keep something like
```
.
├── MyApp
├── TestScenarios
│ ├── groups-fail-timeout-responses.json
│ └── throttle-responses.json
```
In this case, each integration test could start the ms-dev-proxy giving different `responses.json` mocks as param.
TBH this is very low 😉 (and probably stupid) idea as the current workaround I have for it is:
- keep `responses.json` in subfolders and run the ms-dev-proxy in the subfolder with correct mocks as working directory
- the test may just copy/paste the needed `responses.json` file to be used for this test.
2. Second idea I had (sorry for adding 2 ideas in one issue, I am a bit lazy and running out of time 😝), is to give possibility to define the failure rate for each mocked response in case we are mocking error response.
Contributor guide
Research direction
Start by locating the command-line handling for responses.json in ms-dev-proxy and the code that applies mocked responses. Clarify whether the requested work includes the alternate responses-file path, per-response failure rates, or both, then define the response configuration and observable behavior before implementation. Done should include documented options and tests covering the selected scenarios.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- cli, devtools, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100