mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-29 00:49:42 +08:00
42 lines
991 B
Rust
42 lines
991 B
Rust
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())
|
|
}
|