Skip to content

Commit 1c26bb0

Browse files
fix: Disable telemetry for local tests (#392)
1 parent 8a5153b commit 1c26bb0

File tree

3 files changed

+23
-4
lines changed

3 files changed

+23
-4
lines changed

crates/icp-cli/src/telemetry.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,9 @@ fn random_send_interval(is_prerelease: bool) -> u64 {
296296
}
297297

298298
fn should_send(telemetry_dir: &Path) -> bool {
299+
if std::env::var_os("ICP_CLI_TEST_NO_TELEMETRY_UPLOAD").is_some() {
300+
return false;
301+
}
299302
let is_prerelease = env!("CARGO_PKG_VERSION").contains('-');
300303

301304
// Size-based trigger

crates/icp-cli/tests/common/context.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,8 @@ impl TestContext {
104104
cmd.env("ICP_HOME", self.home_path().join("icp"));
105105
cmd.env("PATH", self.os_path.clone());
106106
cmd.env("ICP_CLI_KEYRING_MOCK_DIR", self.mock_cred_dir.clone());
107+
cmd.env("ICP_TELEMETRY_DISABLED", "1");
108+
cmd.env("ICP_CLI_TEST_NO_TELEMETRY_UPLOAD", "1");
107109

108110
// If SoftHSM has been initialized, include its config
109111
if let Some(hsm) = self.softhsm.get() {

crates/icp-cli/tests/telemetry_tests.rs

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,20 @@ macro_rules! icp_with_telemetry {
8787
.env_remove("ICP_TELEMETRY_DISABLED");
8888
(icp_home, cmd)
8989
}};
90+
($ctx:expr, allow_upload) => {{
91+
let icp_home = $ctx.home_path().join("icp-home");
92+
let mut cmd = $ctx.icp();
93+
cmd.env("ICP_HOME", icp_home.as_str())
94+
.env_remove("CI")
95+
.env_remove("DO_NOT_TRACK")
96+
.env_remove("ICP_TELEMETRY_DISABLED")
97+
.env_remove("ICP_CLI_TEST_NO_TELEMETRY_UPLOAD")
98+
.env(
99+
"ICP_TELEMETRY_ENDPOINT",
100+
"https://telemetry.invalid/v1/events",
101+
);
102+
(icp_home, cmd)
103+
}};
90104
}
91105

92106
/// Each of the three opt-out env vars must prevent any telemetry state from
@@ -273,7 +287,7 @@ fn telemetry_notice_suppressed_when_marker_exists() {
273287
#[test]
274288
fn telemetry_time_trigger_rotates_events() {
275289
let ctx = TestContext::new();
276-
let (icp_home, mut cmd) = icp_with_telemetry!(ctx);
290+
let (icp_home, mut cmd) = icp_with_telemetry!(ctx, allow_upload);
277291
let telemetry_dir = icp_home.join("telemetry");
278292

279293
// Set next-send-time to Unix epoch (far in the past).
@@ -297,7 +311,7 @@ fn telemetry_time_trigger_rotates_events() {
297311
#[test]
298312
fn telemetry_size_trigger_rotates_events() {
299313
let ctx = TestContext::new();
300-
let (icp_home, mut cmd) = icp_with_telemetry!(ctx);
314+
let (icp_home, mut cmd) = icp_with_telemetry!(ctx, allow_upload);
301315
let telemetry_dir = icp_home.join("telemetry");
302316

303317
// next-send-time far in the future → only the size trigger can fire.
@@ -415,7 +429,7 @@ fn telemetry_send_batch_delivers_data() {
415429
#[test]
416430
fn telemetry_stale_batches_deleted_on_trigger() {
417431
let ctx = TestContext::new();
418-
let (icp_home, mut cmd) = icp_with_telemetry!(ctx);
432+
let (icp_home, mut cmd) = icp_with_telemetry!(ctx, allow_upload);
419433
let telemetry_dir = icp_home.join("telemetry");
420434

421435
// Time trigger will fire.
@@ -449,7 +463,7 @@ fn telemetry_stale_batches_deleted_on_trigger() {
449463
#[test]
450464
fn telemetry_excess_batches_pruned_on_trigger() {
451465
let ctx = TestContext::new();
452-
let (icp_home, mut cmd) = icp_with_telemetry!(ctx);
466+
let (icp_home, mut cmd) = icp_with_telemetry!(ctx, allow_upload);
453467
let telemetry_dir = icp_home.join("telemetry");
454468

455469
// Time trigger will fire.

0 commit comments

Comments
 (0)