Skip to content

Commit

Permalink
Avoid using environment variables during tests
Browse files Browse the repository at this point in the history
  • Loading branch information
dandavison committed Dec 12, 2021
1 parent f88f0a4 commit e524aba
Showing 1 changed file with 13 additions and 4 deletions.
17 changes: 13 additions & 4 deletions src/env.rs
Original file line number Diff line number Diff line change
@@ -1,15 +1,24 @@
#[cfg(not(test))]
use std::env;

/// If `name` is set and, after trimming whitespace, is not empty string, then return that trimmed
/// string. Else None.
pub fn get_env_var(name: &str) -> Option<String> {
match env::var(name).unwrap_or_else(|_| "".to_string()).trim() {
pub fn get_env_var(_name: &str) -> Option<String> {
#[cfg(not(test))]
match env::var(_name).unwrap_or_else(|_| "".to_string()).trim() {
"" => None,
non_empty_string => Some(non_empty_string.to_string()),
}
#[cfg(test)]
None
}

/// If `name` is set to any value at all (including "") then return true; else false.
pub fn get_boolean_env_var(name: &str) -> bool {
env::var(name).ok().is_some()
pub fn get_boolean_env_var(_name: &str) -> bool {
#[cfg(not(test))]
{
env::var(_name).ok().is_some()
}
#[cfg(test)]
false
}

0 comments on commit e524aba

Please sign in to comment.