feat: add mock implementations for configuration settings and update AppState to include config

This commit is contained in:
GW_MC
2025-12-20 18:22:33 +08:00
parent 0cd6e837fc
commit 596eb8faea
10 changed files with 92 additions and 7 deletions

View File

@@ -11,6 +11,8 @@ use tracing::{debug, error};
pub trait FromConfig: Sized {
fn from_config(config: &Config) -> Result<Self, String>;
fn validate(&self) -> Result<(), String>;
#[cfg(test)]
fn mock() -> Self;
}
#[derive(Debug, Clone)]
@@ -40,6 +42,16 @@ impl FromConfig for ProgramSettings {
self.auth.validate()?;
Ok(())
}
#[cfg(test)]
fn mock() -> Self {
ProgramSettings {
logging: logging::LoggingSettings::mock(),
database: database::DatabaseSettings::mock(),
server: server::ServerSettings::mock(),
auth: auth::AuthSettings::mock(),
}
}
}
pub fn get_program_settings() -> ProgramSettings {