Minimalistic HTTP Client Test Utilities.
- Built on top of reqwest
- Still under development
0.0.x
- Optimized for testing convenience, not for performance.
- Do not use for production code, just for unit or integration tests.
- For production code (apps, services, ...) use the underlying reqwest library and its utilities.
WARNING - API might ching during 0.0.x
use anyhow::Result;
use serde_json::json;
#[tokio::test]
async fn test_simple_base() -> httpc_test::Result<()> {
let hc = httpc_test::new_client("http://localhost:8080")?;
let res = hc.do_get("/hello").await?;
res.print().await?;
let res = hc.do_get("/context.rs").await?;
res.print_no_body().await?;
let res = hc
.do_post_json(
"/api/login",
json!({
"username": "admin",
"pwd": "welcome"
}),
)
.await?;
res.print().await?;
let res = hc
.do_post_json(
"/api/tickets",
json!({
"subject": "ticket 01"
}),
)
.await?;
res.print().await?;
let res = hc.do_get("/api/tickets").await?;
res.print().await?;
Ok(())
}