Files
icarus_auth/tests/auth_tests.rs
phoenix b6c4e074ff
Some checks failed
Rust Build / Check (pull_request) Successful in 45s
Rust Build / Test Suite (pull_request) Failing after 49s
Rust Build / Rustfmt (pull_request) Successful in 24s
Rust Build / Clippy (pull_request) Successful in 42s
Rust Build / build (pull_request) Successful in 1m11s
Updated tests
2025-04-01 21:53:52 -04:00

75 lines
2.0 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::{postgres, 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 host_port = container.get_host_port_ipv4(5432).await.unwrap();
let conn_string = &format!(
"postgres://postgres:postgres@localhost:{}/postgres",
host_port
);
println!("Test Database: {}", conn_string);
let test_pool = PgPoolOptions::new().connect(conn_string).await.unwrap();
}