Declarative HTTP API integration testing framework with fluent assertions
cargo add philiprehberger-http-testDeclarative HTTP API integration testing framework with fluent assertions
[dependencies]
philiprehberger-http-test = "0.1.4"
use philiprehberger_http_test::get;
let response = get("https://httpbin.org/get").send().unwrap();
response.assert_ok();
use philiprehberger_http_test::post;
use serde_json::json;
let response = post("https://httpbin.org/post")
.json_body(&json!({"name": "Alice"}))
.bearer_token("my-token")
.send()
.unwrap();
response
.assert_status(200)
.assert_body_contains("Alice");
response.assert_json_path("data.name", &json!("Alice"));
| Function / Type | Description |
|---|---|
get(url) | Create GET request |
post(url) | Create POST request |
put(url) | Create PUT request |
delete(url) | Create DELETE request |
.header(k, v) | Add request header |
.bearer_token(t) | Set Bearer auth |
.json_body(val) | Set JSON request body |
.query(k, v) | Add query parameter |
.send() | Execute the request |
.assert_status(code) | Assert status code |
.assert_ok() | Assert 2xx status |
.assert_json_path(path, val) | Assert JSON field value |
.assert_body_contains(s) | Assert body contains string |
cargo test
cargo clippy -- -D warnings
If you find this project useful: