mod common;
use dotenv_flow::*;
use std::env;
use crate::common::*;
#[test]
fn test_dotenv_flow_with_only_local_file() {
env::remove_var("TEST_FLOW_KEY");
env::set_var("DOTENV_ENV", "test");
let dir = tempdir_with_dotenv_flow(None, Some("TEST_FLOW_KEY=test_val_local"), None, None).unwrap();
dotenv_flow().ok();
assert_eq!(env::var("TEST_FLOW_KEY").unwrap(), "test_val_local");
dir.close().unwrap();
}
#[test]
fn test_dotenv_flow_with_local_and_default_file() {
env::remove_var("TEST_FLOW_KEY");
env::set_var("DOTENV_ENV", "test");
let dir = tempdir_with_dotenv_flow(
None,
Some("TEST_FLOW_KEY=test_val_local"),
None,
Some("TEST_FLOW_KEY=test_val_default"),
)
.unwrap();
dotenv_flow().ok();
assert_eq!(env::var("TEST_FLOW_KEY").unwrap(), "test_val_local");
dir.close().unwrap();
}
#[test]
fn test_dotenv_flow_with_local_and_env_local_file() {
env::remove_var("TEST_FLOW_KEY");
env::set_var("DOTENV_ENV", "test");
let dir = tempdir_with_dotenv_flow(
Some("TEST_FLOW_KEY=test_val_env_local"),
Some("TEST_FLOW_KEY=test_val_local"),
None,
None,
)
.unwrap();
dotenv_flow().ok();
assert_eq!(env::var("TEST_FLOW_KEY").unwrap(), "test_val_env_local");
dir.close().unwrap();
}
#[test]
fn test_dotenv_flow_with_local_and_env_file() {
env::remove_var("TEST_FLOW_KEY");
env::set_var("DOTENV_ENV", "test");
let dir = tempdir_with_dotenv_flow(
None,
Some("TEST_FLOW_KEY=test_val_local"),
Some("TEST_FLOW_KEY=test_val_default"),
None,
)
.unwrap();
dotenv_flow().ok();
assert_eq!(env::var("TEST_FLOW_KEY").unwrap(), "test_val_local");
dir.close().unwrap();
}
#[test]
fn test_dotenv_flow_with_all_files() {
env::remove_var("TEST_FLOW_KEY");
env::set_var("DOTENV_ENV", "test");
let dir = tempdir_with_dotenv_flow(
Some("TEST_FLOW_KEY=test_val_env_local"),
Some("TEST_FLOW_KEY=test_val_local"),
Some("TEST_FLOW_KEY=test_val_env"),
Some("TEST_FLOW_KEY=test_val_default"),
)
.unwrap();
dotenv_flow().ok();
assert_eq!(env::var("TEST_FLOW_KEY").unwrap(), "test_val_env_local");
dir.close().unwrap();
}
#[test]
fn test_dotenv_flow_with_no_local() {
env::remove_var("TEST_FLOW_KEY");
env::set_var("DOTENV_ENV", "test");
let dir = tempdir_with_dotenv_flow(
None,
None,
Some("TEST_FLOW_KEY=test_val_env"),
Some("TEST_FLOW_KEY=test_val_default"),
)
.unwrap();
dotenv_flow().ok();
assert_eq!(env::var("TEST_FLOW_KEY").unwrap(), "test_val_env");
dir.close().unwrap();
}