File: mod.rs

package info (click to toggle)
rust-dotenv 0.15.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye
  • size: 196 kB
  • sloc: makefile: 15
file content (19 lines) | stat: -rw-r--r-- 547 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use std::{env, io};
use std::fs::File;
use std::io::prelude::*;
use tempfile::{tempdir, TempDir};

pub fn tempdir_with_dotenv(dotenv_text: &str) -> io::Result<TempDir> {
    let dir = tempdir()?;
    env::set_current_dir(dir.path())?;
    let dotenv_path = dir.path().join(".env");
    let mut dotenv_file = File::create(dotenv_path)?;
    dotenv_file.write_all(dotenv_text.as_bytes())?;
    dotenv_file.sync_all()?;
    Ok(dir)
}

pub fn make_test_dotenv() -> io::Result<TempDir> {
  tempdir_with_dotenv("TESTKEY=test_val")
}