Expand description
Additional wiremock matchers that implement logical operators.
§Installing
Add wiremock_logical_matchers to your development dependencies:
[dev-dependencies]
wiremock = "0.6.0"
wiremock_logical_matchers = "0.6.0"or by running:
cargo add wiremock_logical_matchers --dev§Getting started
use wiremock::{Mock, MockServer, ResponseTemplate};
use wiremock::matchers::{header, header_exists, path, query_param};
use wiremock_logical_matchers::{and, not, or, xor};
#[tokio::test]
async fn test_getting_started() {
let mock_server = MockServer::start().await;
Mock::given(path("/test"))
.and(
and(
header_exists("x-for-testing-purposes"),
query_param("page", "1")
)
).and(
or(
header("authorization", "Bearer some_token"),
query_param("override-security", "1")
)
).and(
xor(
header("x-license", "MIT"),
header("x-license-file", "LICENSE")
)
).and(
not(
header_exists("x-necronomicon")
)
).respond_with(ResponseTemplate::new(200))
.mount(&mock_server)
.await;
// ...
}§See also
Structs§
- AndMatcher
- Match a request if both submatchers accept it.
- NotMatcher
- Match a request if the submatcher does not accept it.
- OrMatcher
- Match a request if either submatchers accept it.
- XorMatcher
- Match a request if exactly one submatcher accepts it.
Functions§
- and
- Shorthand for AndMatcher.
- not
- Shorthand for NotMatcher.
- or
- Shorthand for OrMatcher.
- xor
- Shorthand for XorMatcher.