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:
Stevan Freeborn
2026-03-25 19:06:25 -05:00
parent a517aef3bd
commit 9a5e00c560
9 changed files with 20 additions and 0 deletions
+3
View File
@@ -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"] }
+1
View File
@@ -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");
+1
View File
@@ -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")
+1
View File
@@ -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")
+1
View File
@@ -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")
+1
View File
@@ -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");
+1
View File
@@ -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")
+1
View File
@@ -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")
+10
View File
@@ -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))
}