diff options
author | Harald Eilertsen <haraldei@anduin.net> | 2018-08-02 18:10:12 +0200 |
---|---|---|
committer | Harald Eilertsen <haraldei@anduin.net> | 2018-08-02 18:10:12 +0200 |
commit | 992e8454bbdcb2c6c6b7c7bb3f052ebc262d05b9 (patch) | |
tree | a3b0a7bda22f01346bb0e91e5ccf8d3368bbf91f /src/main.rs | |
parent | 292a92d2fdffda556ffba452df75c0580c1bbfe8 (diff) | |
download | rocket-blog-992e8454bbdcb2c6c6b7c7bb3f052ebc262d05b9.tar.gz rocket-blog-992e8454bbdcb2c6c6b7c7bb3f052ebc262d05b9.tar.bz2 rocket-blog-992e8454bbdcb2c6c6b7c7bb3f052ebc262d05b9.zip |
Begin testing.
Add simple smoke test, and enable the test transaction for the database.
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 35 |
1 files changed, 28 insertions, 7 deletions
diff --git a/src/main.rs b/src/main.rs index b3e45ed..7d75c61 100644 --- a/src/main.rs +++ b/src/main.rs @@ -22,17 +22,38 @@ mod models; mod schema; use controllers::{home_controller, login_controller, posts_controller, users_controller}; +fn build_rocket(pool: utils::Pool) -> rocket::Rocket { + rocket::ignite() + .manage(pool) + .mount("/", home_controller::routes()) + .mount("/posts", posts_controller::routes()) + .mount("/users", users_controller::routes()) + .mount("/login", login_controller::routes()) +} + fn main() { if let Ok(dburl) = dotenv::var("DATABASE_URL") { - rocket::ignite() - .manage(utils::init_db_pool(&dburl)) - .mount("/", home_controller::routes()) - .mount("/posts", posts_controller::routes()) - .mount("/users", users_controller::routes()) - .mount("/login", login_controller::routes()) - .launch(); + let pool = utils::init_db_pool(&dburl); + build_rocket(pool).launch(); } else { eprintln!("Error: No database specified, make sure the DATABASE_URL env var is set."); }; } + +#[cfg(test)] +mod test { + mod test_helpers; + + use super::build_rocket; + use rocket::local::Client; + use rocket::http::Status; + + #[test] + fn get_landing_page() { + let pool = test_helpers::init_test_db_pool(); + let client = Client::new(build_rocket(pool)).expect("Rocket not built!"); + let response = client.get("/").dispatch(); + assert_eq!(response.status(), Status::Ok); + } +} |