Adding icarus_envy #39

Merged
phoenix merged 18 commits from experiment-icarus_envy into devel 2025-06-01 23:02:10 +00:00
Showing only changes of commit f016c7903f - Show all commits

View File

@@ -69,12 +69,9 @@ mod tests {
mod db_mgr { mod db_mgr {
use std::str::FromStr; use std::str::FromStr;
use icarus_auth::keys;
pub const LIMIT: usize = 6; pub const LIMIT: usize = 6;
pub async fn get_pool() -> Result<sqlx::PgPool, sqlx::Error> { pub async fn get_pool() -> Result<sqlx::PgPool, sqlx::Error> {
dotenvy::dotenv().ok(); // Load .env file if it exists
let tm_db_url = icarus_envy::environment::get_db_url().await; let tm_db_url = icarus_envy::environment::get_db_url().await;
let tm_options = sqlx::postgres::PgConnectOptions::from_str(&tm_db_url).unwrap(); let tm_options = sqlx::postgres::PgConnectOptions::from_str(&tm_db_url).unwrap();
sqlx::PgPool::connect_with(tm_options).await sqlx::PgPool::connect_with(tm_options).await
@@ -114,28 +111,23 @@ mod tests {
} }
pub fn get_database_name() -> Result<String, Box<dyn std::error::Error>> { pub fn get_database_name() -> Result<String, Box<dyn std::error::Error>> {
dotenvy::dotenv().ok(); // Load .env file if it exists let rt = tokio::runtime::Runtime::new().unwrap();
match std::env::var(icarus_envy::keys::DB_URL) { // Block on the async function to get the result
Ok(database_url) => { let database_url = rt.block_on(icarus_envy::environment::get_db_url());
let parsed_url = url::Url::parse(&database_url)?;
if parsed_url.scheme() == "postgres" || parsed_url.scheme() == "postgresql" { let parsed_url = url::Url::parse(&database_url)?;
match parsed_url if parsed_url.scheme() == "postgres" || parsed_url.scheme() == "postgresql" {
.path_segments() match parsed_url
.and_then(|segments| segments.last().map(|s| s.to_string())) .path_segments()
{ .and_then(|segments| segments.last().map(|s| s.to_string()))
Some(sss) => Ok(sss), {
None => Err("Error parsing".into()), Some(sss) => Ok(sss),
} None => Err("Error parsing".into()),
} else {
// Handle other database types if needed
Err("Error parsing".into())
}
}
Err(_) => {
// DATABASE_URL environment variable not found
Err("Error parsing".into())
} }
} else {
// Handle other database types if needed
Err("Error parsing".into())
} }
} }
} }