Comments (3)
The WithQueryString
selector ensures that all of the supplied querystring values are present in the requested URL, but allows the URL to have additional querystring parameters beyond those specified.
As a temporary workaround, if you can rely on querystring order, you can specify a custom matcher:
_mockHttpHandler
.When($"myurl/mydata")
.With(req => req.RequestUri.Query == "?query=foo&other=bar")
.Respond(() => Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(_mydata) }));
Otherwise, I'd happily accept a PR for a new WithExactQueryString
that passes in exact: true
to the QueryStringMatcher
constructor (updated to support this scenario). If you go in this direction, just don't forget the unit tests!
from mockhttp.
More on the PR direction above, the QueryStringMatcherTests.Should_not_fail_for_additional_keys
would become Should_not_fail_for_additional_keys_when_exact_is_false
and you would add a new test for Should_fail_for_additional_keys_when_exact_is_true
.
from mockhttp.
This was just released in 3.2.0
from mockhttp.
Related Issues (20)
- Documentation Request HOT 3
- Adding Response Headers
- Question: Matching Query with XML HOT 4
- Feature Request: Support BaseAddress and DefaultRequestHeaders HOT 3
- Not Compatible with Sync HttpClient Send HOT 4
- Matcher async support HOT 4
- PostAsync with When() returns NotFound - but only when an Expect() is also defined HOT 6
- How to add additional conditions to .When()? HOT 1
- HttpClientJsonExtensions.PostAsJsonAsync Throws NullReferenceException When Serializing the Property/Value Message = "Message:" HOT 2
- Package does not support URI containing fragments HOT 3
- Not seeing anyway to follow redirects HOT 2
- Does not support URL-encoded content in URIs HOT 2
- Add a mechanism to set the BaseAddress of the resulting HttpClient HOT 8
- NullReferenceException if response is not configured. HOT 3
- requestExpectations queue not thread safe HOT 2
- Allow mocking IHttpClientFactory HOT 3
- Overwrite same endpoint with different result HOT 3
- Feature request: clear match counts HOT 4
- Can't Match Using WithFormData, WithHeaders HOT 5
- Library status HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mockhttp.