Wiremock reimplemented in Rust
Adaptation of wiremock-rs supporting existing
Wiremock json stubs as input.
Aims at reaching feature parity with Wiremock and be a drop-in replacement of
the latter.
- as a crate
- as a cli
- Docker image (incoming)
- Helm chart (incoming)
- request matching (json)
- body
-
equalToJson -
matchesJsonPath -
binaryEqualTo
-
- method (GET, POST etc...)
- url
-
url -
urlPath -
urlPathPattern -
urlPattern
-
- headers
-
equalTo -
contains -
matches -
caseInsensitive -
absent - multivalued
-
- query parameters
-
equalTo -
contains -
matches -
caseInsensitive -
absent
-
- body
- response
-
status -
headers -
bodyFileName -
jsonBody -
body -
fixedDelayMilliseconds - templating
-
{{request.url}} -
{{request.path}} -
{{request.pathSegments.[<n>]}} -
{{request.query.<key>}} -
{{request.query.<key>.[<n>]}} -
{{request.method}} -
{{request.host}} -
{{request.scheme}} -
{{request.baseUrl}} -
{{request.headers.<key>}} -
{{request.headers.<key>.[<n>]}} -
{{request.cookies.<key>}} -
{{request.cookies.<key>.[<n>]}} -
{{request.body}} - Handlebars helpers
- Number and assignment helpers
- XPath helpers
- jsonPath helper
- date and time helpers
- Random value helper
- Pick random helper
- String trim helper
- Base64 helper
- URL encoding helper
- Form helper
- Regular expression extract helper
- Size helper
- Hostname helper
- System property helper
-
-
- anything related to xml
- config
- custom port
- global delay
A very simple benchmark comparing stubr to wiremock is available here