Files
icarus_auth/tests/auth_tests.rs
phoenix e4dc04ba96
Some checks failed
Rust Build / Check (pull_request) Successful in 44s
Rust Build / Test Suite (pull_request) Failing after 1m30s
Rust Build / Rustfmt (pull_request) Failing after 26s
Rust Build / Clippy (pull_request) Successful in 44s
Rust Build / build (pull_request) Successful in 1m6s
Updated tests
2025-04-01 23:19:27 -04:00

86 lines
2.2 KiB
Rust

extern crate icarus_auth;
use crate::icarus_auth::callers;
// use axum::Extension;
use axum::body::Body;
// use axum::response::Response;
use axum::{
Router,
http::{Request, StatusCode},
routing::get,
};
// use hyper::client::conn;
// use sqlx::PgPool;
use sqlx::postgres::PgPoolOptions;
use testcontainers_modules::testcontainers::runners::AsyncRunner;
// use hyper::client;
// use sqlx::postgres;
// use http::{Request, StatusCode};
// use serde_json::json;
// use tower::ServiceExt; // for `.oneshot()`
use tower::util::ServiceExt;
// use testcontainers_modules::testcontainers::core::client::
/*
async fn setup_test(pool: sqlx::PgPool) -> Router {
Router::new()
.route(callers::endpoints::DBTEST, get(callers::common::db_ping))
.layer(Extension(pool))
}
*/
#[tokio::test]
async fn test_hello_world() {
let app = Router::new().route(callers::endpoints::ROOT, get(callers::common::root)); // Replace with your handler
let response = app
.oneshot(
Request::builder()
.uri(callers::endpoints::ROOT)
.body(Body::empty())
.unwrap(),
)
.await
.unwrap();
assert_eq!(response.status(), StatusCode::OK);
let body = String::from_utf8(
axum::body::to_bytes(response.into_body(), usize::MAX)
.await
.unwrap()
.to_vec(),
)
.unwrap();
assert_eq!(body, "Hello, World!");
}
#[tokio::test]
async fn test_db_health_check() {
let container = testcontainers_modules::postgres::Postgres::default()
.start()
.await
.unwrap();
let _host_ip = container.get_host().await.unwrap();
let port = 5432;
let host_port = container.get_host_port_ipv4(port).await.unwrap();
let conn_string = &format!(
"postgres://postgres:postgres@localhost:{}/postgres",
host_port
);
println!("Test Database: {}", conn_string);
let _test_pool =
match PgPoolOptions::new().connect(conn_string).await {
Ok(_) => {
assert!(true, "Success");
}
Err(err) => {
assert!(false, "Error: {:?}", err.to_string());
}
};
}