use std::sync::atomic; use router::{configs::settings::Settings, routes, services}; mod utils; #[tokio::test] #[should_panic] async fn get_redis_conn_failure() { // Arrange utils::setup().await; let (tx, _) = tokio::sync::oneshot::channel(); let state = routes::AppState::new(Settings::default(), tx, Box::new(services::MockApiClient)).await; let _ = state.store.get_redis_conn().map(|conn| { conn.is_redis_available .store(false, atomic::Ordering::SeqCst) }); // Act let _ = state.store.get_redis_conn(); // Assert // based on #[should_panic] attribute } #[tokio::test] async fn get_redis_conn_success() { // Arrange utils::setup().await; let (tx, _) = tokio::sync::oneshot::channel(); let state = routes::AppState::new(Settings::default(), tx, Box::new(services::MockApiClient)).await; // Act let result = state.store.get_redis_conn(); // Assert assert!(result.is_ok()) }