15 unstable releases (6 breaking)
0.7.0 | May 30, 2024 |
---|---|
0.6.0 | Mar 22, 2024 |
0.5.0 | Apr 21, 2023 |
0.4.2 | Mar 29, 2023 |
0.3.0 |
|
#620 in HTTP server
1,149 downloads per month
Used in 5 crates
425KB
8K
SLoC
Welcome to Trillium!
📖 Guide 📖
The guide provides an architectural overview and lay of the land connecting the trillium crates.
📑 Rustdocs 📑
The rustdocs represent the best way to learn about any of trillium's individual crates and the specific interfaces.
Legal:
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
lib.rs
:
testing utilities for trillium applications.
this crate is intended to be used as a development dependency.
use trillium_testing::prelude::*;
use trillium::{Conn, conn_try};
async fn handler(mut conn: Conn) -> Conn {
let request_body = conn_try!(conn.request_body_string().await, conn);
conn.with_body(format!("request body was: {}", request_body))
.with_status(418)
.with_response_header("request-id", "special-request")
}
assert_response!(
post("/").with_request_body("hello trillium!").on(&handler),
Status::ImATeapot,
"request body was: hello trillium!",
"request-id" => "special-request",
"content-length" => "33"
);
Features
You must enable a runtime feature for trillium testing
Tokio:
[dev-dependencies]
# ...
trillium-testing = { version = "0.2", features = ["tokio"] }
Async-std:
[dev-dependencies]
# ...
trillium-testing = { version = "0.2", features = ["async-std"] }
Smol:
[dev-dependencies]
# ...
trillium-testing = { version = "0.2", features = ["smol"] }
useful stuff for testing trillium apps
Dependencies
~9–20MB
~346K SLoC