fix: load .env file in integration tests and examples
Add dotenvy to dev-dependencies and call dotenvy::dotenv().ok() in the integration test common module and all examples so env vars can be loaded from a .env file.
This commit is contained in:
@@ -22,3 +22,6 @@ chrono = { version = "0.4", features = ["serde"] }
|
||||
tokio = { version = "1", features = ["full", "test-util"] }
|
||||
wiremock = "0.6"
|
||||
serde_json = "1"
|
||||
dotenvy = "0.15"
|
||||
chrono = { version = "0.4", features = ["serde"] }
|
||||
uuid = { version = "1", features = ["serde", "v4"] }
|
||||
|
||||
@@ -2,6 +2,7 @@ use onspring::{OnspringClient, PagingRequest};
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> onspring::Result<()> {
|
||||
dotenvy::dotenv().ok();
|
||||
let base_url = std::env::var("API_BASE_URL").expect("API_BASE_URL is required");
|
||||
let api_key = std::env::var("SANDBOX_API_KEY").expect("SANDBOX_API_KEY is required");
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ use onspring::{OnspringClient, PagingRequest};
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> onspring::Result<()> {
|
||||
dotenvy::dotenv().ok();
|
||||
let base_url = std::env::var("API_BASE_URL").expect("API_BASE_URL is required");
|
||||
let api_key = std::env::var("SANDBOX_API_KEY").expect("SANDBOX_API_KEY is required");
|
||||
let app_id: i32 = std::env::var("TEST_APP_ID")
|
||||
|
||||
@@ -2,6 +2,7 @@ use onspring::{OnspringClient, SaveFileRequest};
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> onspring::Result<()> {
|
||||
dotenvy::dotenv().ok();
|
||||
let base_url = std::env::var("API_BASE_URL").expect("API_BASE_URL is required");
|
||||
let api_key = std::env::var("SANDBOX_API_KEY").expect("SANDBOX_API_KEY is required");
|
||||
let record_id: i32 = std::env::var("TEST_RECORD")
|
||||
|
||||
@@ -2,6 +2,7 @@ use onspring::{OnspringClient, SaveListItemRequest};
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> onspring::Result<()> {
|
||||
dotenvy::dotenv().ok();
|
||||
let base_url = std::env::var("API_BASE_URL").expect("API_BASE_URL is required");
|
||||
let api_key = std::env::var("SANDBOX_API_KEY").expect("SANDBOX_API_KEY is required");
|
||||
let list_id: i32 = std::env::var("TEST_LIST_ID")
|
||||
|
||||
@@ -2,6 +2,7 @@ use onspring::OnspringClient;
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> onspring::Result<()> {
|
||||
dotenvy::dotenv().ok();
|
||||
let base_url = std::env::var("API_BASE_URL").expect("API_BASE_URL is required");
|
||||
let api_key = std::env::var("SANDBOX_API_KEY").expect("SANDBOX_API_KEY is required");
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ use std::collections::HashMap;
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> onspring::Result<()> {
|
||||
dotenvy::dotenv().ok();
|
||||
let base_url = std::env::var("API_BASE_URL").expect("API_BASE_URL is required");
|
||||
let api_key = std::env::var("SANDBOX_API_KEY").expect("SANDBOX_API_KEY is required");
|
||||
let app_id: i32 = std::env::var("TEST_SURVEY_ID")
|
||||
|
||||
@@ -2,6 +2,7 @@ use onspring::{OnspringClient, PagingRequest};
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> onspring::Result<()> {
|
||||
dotenvy::dotenv().ok();
|
||||
let base_url = std::env::var("API_BASE_URL").expect("API_BASE_URL is required");
|
||||
let api_key = std::env::var("SANDBOX_API_KEY").expect("SANDBOX_API_KEY is required");
|
||||
let app_id: i32 = std::env::var("TEST_SURVEY_ID")
|
||||
|
||||
@@ -1,7 +1,17 @@
|
||||
use onspring::OnspringClient;
|
||||
use std::collections::HashMap;
|
||||
use std::sync::Once;
|
||||
|
||||
static INIT: Once = Once::new();
|
||||
|
||||
pub fn load_env() {
|
||||
INIT.call_once(|| {
|
||||
dotenvy::dotenv().ok();
|
||||
});
|
||||
}
|
||||
|
||||
pub fn required_env(name: &str) -> String {
|
||||
load_env();
|
||||
std::env::var(name).unwrap_or_else(|_| panic!("{} is not defined", name))
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user