diff options
Diffstat (limited to 'third_party/rust/glean-core/tests/ping.rs')
-rw-r--r-- | third_party/rust/glean-core/tests/ping.rs | 46 |
1 files changed, 39 insertions, 7 deletions
diff --git a/third_party/rust/glean-core/tests/ping.rs b/third_party/rust/glean-core/tests/ping.rs index 17944b4c24..42f93e08c7 100644 --- a/third_party/rust/glean-core/tests/ping.rs +++ b/third_party/rust/glean-core/tests/ping.rs @@ -15,7 +15,7 @@ use glean_core::Lifetime; fn write_ping_to_disk() { let (mut glean, _temp) = new_glean(None); - let ping = PingType::new("metrics", true, false, true, true, vec![]); + let ping = PingType::new("metrics", true, false, true, true, true, vec![], vec![]); glean.register_ping_type(&ping); // We need to store a metric as an empty ping is not stored. @@ -36,7 +36,7 @@ fn write_ping_to_disk() { fn disabling_upload_clears_pending_pings() { let (mut glean, _t) = new_glean(None); - let ping = PingType::new("metrics", true, false, true, true, vec![]); + let ping = PingType::new("metrics", true, false, true, true, true, vec![], vec![]); glean.register_ping_type(&ping); // We need to store a metric as an empty ping is not stored. @@ -105,9 +105,18 @@ fn deletion_request_only_when_toggled_from_on_to_off() { fn empty_pings_with_flag_are_sent() { let (mut glean, _t) = new_glean(None); - let ping1 = PingType::new("custom-ping1", true, true, true, true, vec![]); + let ping1 = PingType::new("custom-ping1", true, true, true, true, true, vec![], vec![]); glean.register_ping_type(&ping1); - let ping2 = PingType::new("custom-ping2", true, false, true, true, vec![]); + let ping2 = PingType::new( + "custom-ping2", + true, + false, + true, + true, + true, + vec![], + vec![], + ); glean.register_ping_type(&ping2); // No data is stored in either of the custom pings @@ -139,10 +148,10 @@ fn test_pings_submitted_metric() { None, ); - let metrics_ping = PingType::new("metrics", true, false, true, true, vec![]); + let metrics_ping = PingType::new("metrics", true, false, true, true, true, vec![], vec![]); glean.register_ping_type(&metrics_ping); - let baseline_ping = PingType::new("baseline", true, false, true, true, vec![]); + let baseline_ping = PingType::new("baseline", true, false, true, true, true, vec![], vec![]); glean.register_ping_type(&baseline_ping); // We need to store a metric as an empty ping is not stored. @@ -218,7 +227,7 @@ fn test_pings_submitted_metric() { fn events_ping_with_metric_but_no_events_is_not_sent() { let (mut glean, _t) = new_glean(None); - let events_ping = PingType::new("events", true, true, true, true, vec![]); + let events_ping = PingType::new("events", true, true, true, true, true, vec![], vec![]); glean.register_ping_type(&events_ping); let counter = CounterMetric::new(CommonMetricData { name: "counter".into(), @@ -247,3 +256,26 @@ fn events_ping_with_metric_but_no_events_is_not_sent() { assert!(events_ping.submit_sync(&glean, None)); assert_eq!(1, get_queued_pings(glean.get_data_path()).unwrap().len()); } + +#[test] +fn test_scheduled_pings_are_sent() { + let (mut glean, _t) = new_glean(None); + + let piggyback_ping = PingType::new("piggyback", true, true, true, true, true, vec![], vec![]); + glean.register_ping_type(&piggyback_ping); + + let trigger_ping = PingType::new( + "trigger", + true, + true, + true, + true, + true, + vec!["piggyback".into()], + vec![], + ); + glean.register_ping_type(&trigger_ping); + + assert!(trigger_ping.submit_sync(&glean, None)); + assert_eq!(2, get_queued_pings(glean.get_data_path()).unwrap().len()); +} |