Make stats collection opt-out
This commit is contained in:
@ -63,6 +63,9 @@ pub struct Config {
|
||||
|
||||
#[serde(rename = "LIBREDDIT_ROBOTS_DISABLE_INDEXING")]
|
||||
pub(crate) robots_disable_indexing: Option<String>,
|
||||
|
||||
#[serde(rename = "LIBREDDIT_DISABLE_STATS_COLLECTION")]
|
||||
pub(crate) disable_stats_collection: Option<String>,
|
||||
}
|
||||
|
||||
impl Config {
|
||||
@ -94,6 +97,7 @@ impl Config {
|
||||
default_disable_visit_reddit_confirmation: parse("LIBREDDIT_DEFAULT_DISABLE_VISIT_REDDIT_CONFIRMATION"),
|
||||
banner: parse("LIBREDDIT_BANNER"),
|
||||
robots_disable_indexing: parse("LIBREDDIT_ROBOTS_DISABLE_INDEXING"),
|
||||
disable_stats_collection: parse("LIBREDDIT_DISABLE_STATS_COLLECTION"),
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -116,6 +120,7 @@ fn get_setting_from_config(name: &str, config: &Config) -> Option<String> {
|
||||
"LIBREDDIT_DEFAULT_DISABLE_VISIT_REDDIT_CONFIRMATION" => config.default_disable_visit_reddit_confirmation.clone(),
|
||||
"LIBREDDIT_BANNER" => config.banner.clone(),
|
||||
"LIBREDDIT_ROBOTS_DISABLE_INDEXING" => config.robots_disable_indexing.clone(),
|
||||
"LIBREDDIT_DISABLE_STATS_COLLECTION" => config.disable_stats_collection.clone(),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
@ -162,3 +167,16 @@ fn test_alt_env_config_precedence() {
|
||||
fn test_default_subscriptions() {
|
||||
assert_eq!(get_setting("LIBREDDIT_DEFAULT_SUBSCRIPTIONS"), Some("news+bestof".into()));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_stats_collection_empty() {
|
||||
assert_eq!(get_setting("LIBREDDIT_DISABLE_STATS_COLLECTION"), None);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[sealed_test]
|
||||
fn test_stats_collection_true() {
|
||||
let config_to_write = r#"LIBREDDIT_DISABLE_STATS_COLLECTION = "1""#;
|
||||
write("libreddit.toml", config_to_write).unwrap();
|
||||
assert!(get_setting("LIBREDDIT_DISABLE_STATS_COLLECTION").is_some());
|
||||
}
|
Reference in New Issue
Block a user