Files
NxMesh/apps/nxmesh-master/src/db/mod.rs

25 lines
721 B
Rust

use sea_orm::{Database, DatabaseConnection};
pub mod entities;
pub(crate) async fn establish_connection(
url: &str,
) -> Result<DatabaseConnection, Box<dyn std::error::Error + Send + Sync>> {
Database::connect(url)
.await
.map_err(|e| format!("Failed to connect to database: {}", e).into())
}
#[cfg(test)]
mod tests {
use super::establish_connection;
#[tokio::test]
async fn establish_connection_fails_for_invalid_url_scheme() {
let result = establish_connection("invalid://not-a-db").await;
assert!(result.is_err());
let msg = result.err().map(|e| e.to_string()).unwrap_or_default();
assert!(msg.contains("Failed to connect to database"));
}
}