From 33874f2d358173c48330bc45444292574889d9e7 Mon Sep 17 00:00:00 2001 From: Bart van der Braak Date: Fri, 10 Nov 2023 01:19:53 +0100 Subject: [PATCH] feat: added unit test for creating env file --- src/main.rs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/main.rs b/src/main.rs index c7268e7..55c3a1d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -114,6 +114,36 @@ fn create_env_file(secrets: Vec<(String, String)>, output_file: &str) -> Result< Ok(()) } +#[cfg(test)] +mod tests { + use super::*; + use std::fs; + use std::io::{self, BufRead}; + + #[tokio::test] + async fn test_create_env_file() -> Result<()> { + let test_secrets = vec![ + ("SECRET_KEY".to_string(), "secret_value1".to_string()), + ("API_KEY".to_string(), "secret_value2".to_string()), + ]; + + let test_file = "test_output.env"; + create_env_file(test_secrets, test_file)?; + + let file = fs::File::open(test_file)?; + let reader = io::BufReader::new(file); + let lines: Vec = reader.lines().collect::>()?; + + assert_eq!( + lines, + vec!["SECRET_KEY=secret_value1", "API_KEY=secret_value2",] + ); + + fs::remove_file(test_file)?; // Clean up the test file + Ok(()) + } +} + #[tokio::main] async fn main() -> Result<()> { let opts: Opts = Opts::parse();