- Implemented tests for creating, retrieving, updating, and deleting mentors in `mentor_repository_test.rs`. - Added tests for user authentication, including successful login, invalid email formats, and inactive users in `auth_login_tests.rs`. - Created a mock test environment setup in `mock_test.rs` to facilitate database operations during tests. - Updated module structure to include new test files for mentors and authentication. - Ensured cleanup of the database after tests to maintain isolation and prevent side effects.
30 lines
830 B
Rust
30 lines
830 B
Rust
use crate::{Env, load_env, surrealdb_init_mem, surrealdb_init_ws};
|
|
use axum::{Router, serve};
|
|
use imphnen_entities::{SurrealMemClient, SurrealWsClient};
|
|
use std::{future::Future, net::SocketAddr};
|
|
use tokio::net::TcpListener;
|
|
|
|
pub async fn axum_init<F, Fut>(router_fn: F)
|
|
where
|
|
F: FnOnce(SurrealWsClient, SurrealMemClient) -> Fut,
|
|
Fut: Future<Output = Router>,
|
|
{
|
|
load_env();
|
|
let env = Env::new();
|
|
|
|
let surrealdb_ws = surrealdb_init_ws().await.expect("Failed surrealdb ws");
|
|
|
|
let surrealdb_mem = surrealdb_init_mem().await.expect("Failed surrealdb mem");
|
|
|
|
let router = router_fn(surrealdb_ws, surrealdb_mem).await;
|
|
|
|
let port = env.port;
|
|
let addr = SocketAddr::from(([0, 0, 0, 0], port));
|
|
let listener = TcpListener::bind(&addr).await.unwrap();
|
|
|
|
match serve(listener, router).await {
|
|
Ok(_) => {}
|
|
Err(_err) => {}
|
|
}
|
|
}
|