pub mod max_age;
pub mod max_size;
use crate::settings::cache_clean::max_age::MaxAge;
use crate::settings::cache_clean::max_size::MaxSize;
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
pub struct CacheCleanSettings {
pub max_age: Option<MaxAge>,
pub max_size: Option<MaxSize>,
}
#[cfg(test)]
mod tests {
use super::CacheCleanSettings;
use crate::settings::cache_clean::max_age::MaxAge;
use crate::settings::cache_clean::max_size::MaxSize;
#[test]
fn default_cache_clean_settings_have_no_thresholds() {
let cs = CacheCleanSettings::default();
assert!(cs.max_age.is_none());
assert!(cs.max_size.is_none());
}
#[test]
fn cache_clean_settings_carry_supplied_values() {
let cs = CacheCleanSettings {
max_age: Some(MaxAge::parse("90d").unwrap()),
max_size: Some(MaxSize::parse("5GB").unwrap()),
};
assert!(cs.max_age.is_some());
assert!(cs.max_size.is_some());
}
}