mod assertions;
mod context;
mod mock;
pub use assertions::*;
pub use context::{TestContext, TestContextBuilder};
pub use mock::{MockHttp, MockHttpBuilder, MockRequest, MockResponse};
use std::time::Duration;
pub const DEFAULT_TEST_TIMEOUT: Duration = Duration::from_secs(30);
pub const DEFAULT_JOB_TIMEOUT: Duration = Duration::from_secs(10);
pub const DEFAULT_WORKFLOW_TIMEOUT: Duration = Duration::from_secs(60);
#[derive(Debug, Clone)]
pub struct TestConfig {
pub database_url: Option<String>,
pub parallel: bool,
pub max_connections: u32,
pub default_timeout: Duration,
pub job_timeout: Duration,
pub workflow_timeout: Duration,
pub logging: bool,
}
impl Default for TestConfig {
fn default() -> Self {
Self {
database_url: std::env::var("DATABASE_URL").ok(),
parallel: true,
max_connections: 50,
default_timeout: DEFAULT_TEST_TIMEOUT,
job_timeout: DEFAULT_JOB_TIMEOUT,
workflow_timeout: DEFAULT_WORKFLOW_TIMEOUT,
logging: false,
}
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_config_default() {
let config = TestConfig::default();
assert!(config.parallel);
assert_eq!(config.max_connections, 50);
assert_eq!(config.default_timeout, Duration::from_secs(30));
}
}