mirror of https://github.com/rwf2/Rocket.git
79 lines
2.5 KiB
Rust
79 lines
2.5 KiB
Rust
use rocket::fairing::AdHoc;
|
|
|
|
#[rocket::async_test]
|
|
async fn test_inspectable_launch_state() -> Result<(), rocket::Error> {
|
|
let rocket = rocket::custom(rocket::Config::debug_default())
|
|
.attach(AdHoc::on_ignite("Add State", |rocket| async {
|
|
rocket.manage("Hi!")
|
|
}))
|
|
.ignite()
|
|
.await?;
|
|
|
|
let state = rocket.state::<&'static str>();
|
|
assert_eq!(state, Some(&"Hi!"));
|
|
Ok(())
|
|
}
|
|
|
|
#[rocket::async_test]
|
|
async fn test_inspectable_launch_state_in_liftoff() -> Result<(), rocket::Error> {
|
|
let rocket = rocket::custom(rocket::Config::debug_default())
|
|
.attach(AdHoc::on_ignite("Add State", |rocket| async {
|
|
rocket.manage("Hi!")
|
|
}))
|
|
.attach(AdHoc::on_ignite("Inspect State", |rocket| async {
|
|
let state = rocket.state::<&'static str>();
|
|
assert_eq!(state, Some(&"Hi!"));
|
|
rocket
|
|
}))
|
|
.attach(AdHoc::on_liftoff("Inspect State", |rocket| Box::pin(async move {
|
|
let state = rocket.state::<&'static str>();
|
|
assert_eq!(state, Some(&"Hi!"));
|
|
})))
|
|
.ignite()
|
|
.await?;
|
|
|
|
let state = rocket.state::<&'static str>();
|
|
assert_eq!(state, Some(&"Hi!"));
|
|
Ok(())
|
|
}
|
|
|
|
#[rocket::async_test]
|
|
async fn test_launch_state_is_well_ordered() -> Result<(), rocket::Error> {
|
|
let rocket = rocket::custom(rocket::Config::debug_default())
|
|
.attach(AdHoc::on_ignite("Inspect State Pre", |rocket| async {
|
|
let state = rocket.state::<&'static str>();
|
|
assert_eq!(state, None);
|
|
rocket
|
|
}))
|
|
.attach(AdHoc::on_ignite("Add State", |rocket| async {
|
|
rocket.manage("Hi!")
|
|
}))
|
|
.attach(AdHoc::on_ignite("Inspect State", |rocket| async {
|
|
let state = rocket.state::<&'static str>();
|
|
assert_eq!(state, Some(&"Hi!"));
|
|
rocket
|
|
}))
|
|
.ignite()
|
|
.await?;
|
|
|
|
let state = rocket.state::<&'static str>();
|
|
assert_eq!(state, Some(&"Hi!"));
|
|
Ok(())
|
|
}
|
|
|
|
#[should_panic]
|
|
#[rocket::async_test]
|
|
async fn negative_test_launch_state() {
|
|
let _ = rocket::custom(rocket::Config::debug_default())
|
|
.attach(AdHoc::on_ignite("Add State", |rocket| async {
|
|
rocket.manage("Hi!")
|
|
}))
|
|
.attach(AdHoc::on_ignite("Inspect State", |rocket| async {
|
|
let state = rocket.state::<&'static str>();
|
|
assert_ne!(state, Some(&"Hi!"));
|
|
rocket
|
|
}))
|
|
.ignite()
|
|
.await;
|
|
}
|