Skip to content

Commit 092127b

Browse files
committed
Separate unit and e2e tests
1 parent b0f719c commit 092127b

File tree

4 files changed

+29
-3
lines changed

4 files changed

+29
-3
lines changed

.github/workflows/pr.yaml

+4-1
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,12 @@ jobs:
2424
- name: Build
2525
run: cargo build --verbose
2626

27-
- name: Test
27+
- name: Unit test
2828
run: cargo test --verbose
2929

30+
- name: E2E test
31+
run: cargo test --features e2e-test --no-default-features
32+
3033
- name: Check formatting
3134
run: cargo fmt -- --check
3235

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@
22
*.iml
33
.idea/
44
Cargo.lock
5+
.env

Cargo.toml

+7
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,10 @@ serde = { version = "1.0.125", features = ["derive"] }
1515
chrono = {version = "0.4.19", features = ["serde"] }
1616
serde_json = "1.0.64"
1717
semver = "1.0.24"
18+
19+
[dev-dependencies]
20+
dotenv = "0.15.0"
21+
ctor = "0.1.26"
22+
23+
[features]
24+
e2e-test = []

src/lib.rs

+17-2
Original file line numberDiff line numberDiff line change
@@ -173,14 +173,29 @@ impl Event {
173173
}
174174
}
175175

176+
#[cfg(test)]
177+
mod test_setup {
178+
use ctor::ctor;
179+
use dotenv::dotenv;
180+
181+
#[ctor]
182+
fn load_dotenv() {
183+
dotenv().ok(); // Load the .env file
184+
println!("Loaded .env for tests");
185+
}
186+
}
187+
176188
#[cfg(test)]
177189
pub mod tests {
178190
use super::*;
179-
use chrono::Utc;
180191

192+
#[cfg(feature = "e2e-test")]
181193
#[test]
182194
fn get_client() {
183-
let client = crate::client(env!("POSTHOG_API_KEY"));
195+
use std::collections::HashMap;
196+
197+
let api_key = std::env::var("POSTHOG_RS_E2E_TEST_API_KEY").unwrap();
198+
let client = crate::client(api_key.as_str());
184199

185200
let mut child_map = HashMap::new();
186201
child_map.insert("child_key1", "child_value1");

0 commit comments

Comments
 (0)