Skip to content

Commit 289b2c7

Browse files
committed
feat: set environment variable
1 parent 149b04e commit 289b2c7

File tree

3 files changed

+27
-8
lines changed

3 files changed

+27
-8
lines changed

Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@ edition = "2018"
66

77
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
88

9-
[dependencies]
9+
[dev-dependencies]
10+
fake = "2.2.3"

src/lib.rs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1 @@
1-
#[cfg(test)]
2-
mod tests {
3-
#[test]
4-
fn it_works() {
5-
assert_eq!(2 + 2, 4);
6-
}
7-
}
1+
mod testkit;

src/testkit.rs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
use std::env;
2+
use std::ffi::{OsStr, OsString};
3+
4+
pub struct EnvironmentTestGuard {}
5+
6+
pub fn set_env<V: AsRef<OsStr>>(key: OsString, value: V) {
7+
env::set_var(key, value)
8+
}
9+
10+
#[cfg(test)]
11+
mod test {
12+
use super::*;
13+
use fake::faker::lorem::en::*;
14+
use fake::Fake;
15+
16+
#[test]
17+
fn set_env_ok() {
18+
let key = OsString::from(Word().fake::<String>());
19+
let value = OsString::from(Sentence(1..10).fake::<String>());
20+
21+
set_env(key.clone(), &value);
22+
assert_eq!(env::var_os(key).unwrap(), value)
23+
}
24+
}

0 commit comments

Comments
 (0)