Skip to content

Commit 376f242

Browse files
committed
test: [#1514] add tests to metrics package
1 parent 642d774 commit 376f242

File tree

1 file changed

+43
-8
lines changed
  • packages/metrics/src/metric

1 file changed

+43
-8
lines changed

packages/metrics/src/metric/mod.rs

Lines changed: 43 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -286,14 +286,25 @@ mod tests {
286286
#[test]
287287
fn it_should_allow_incrementing_a_sample() {
288288
let time = DurationSinceUnixEpoch::from_secs(1_743_552_000);
289-
290289
let name = metric_name!("test_metric");
291-
292290
let label_set: LabelSet = [(label_name!("server_binding_protocol"), LabelValue::new("http"))].into();
291+
let samples = SampleCollection::new(vec![Sample::new(Counter::new(0), time, label_set.clone())]).unwrap();
292+
let mut metric = Metric::<Counter>::new(name.clone(), None, None, samples);
293293

294-
let samples = SampleCollection::new(vec![Sample::new(Counter::new(1), time, label_set.clone())]).unwrap();
294+
metric.increment(&label_set, time);
295295

296-
let metric = Metric::<Counter>::new(name.clone(), None, None, samples);
296+
assert_eq!(metric.get_sample_data(&label_set).unwrap().value().value(), 1);
297+
}
298+
299+
#[test]
300+
fn it_should_allow_setting_to_an_absolute_value() {
301+
let time = DurationSinceUnixEpoch::from_secs(1_743_552_000);
302+
let name = metric_name!("test_metric");
303+
let label_set: LabelSet = [(label_name!("server_binding_protocol"), LabelValue::new("http"))].into();
304+
let samples = SampleCollection::new(vec![Sample::new(Counter::new(0), time, label_set.clone())]).unwrap();
305+
let mut metric = Metric::<Counter>::new(name.clone(), None, None, samples);
306+
307+
metric.absolute(&label_set, 1, time);
297308

298309
assert_eq!(metric.get_sample_data(&label_set).unwrap().value().value(), 1);
299310
}
@@ -318,16 +329,40 @@ mod tests {
318329
}
319330

320331
#[test]
321-
fn it_should_allow_setting_a_sample() {
332+
fn it_should_allow_incrementing_a_sample() {
322333
let time = DurationSinceUnixEpoch::from_secs(1_743_552_000);
323-
324334
let name = metric_name!("test_metric");
325-
326335
let label_set: LabelSet = [(label_name!("server_binding_protocol"), LabelValue::new("http"))].into();
336+
let samples = SampleCollection::new(vec![Sample::new(Gauge::new(0.0), time, label_set.clone())]).unwrap();
337+
let mut metric = Metric::<Gauge>::new(name.clone(), None, None, samples);
327338

339+
metric.increment(&label_set, time);
340+
341+
assert_relative_eq!(metric.get_sample_data(&label_set).unwrap().value().value(), 1.0);
342+
}
343+
344+
#[test]
345+
fn it_should_allow_decrement_a_sample() {
346+
let time = DurationSinceUnixEpoch::from_secs(1_743_552_000);
347+
let name = metric_name!("test_metric");
348+
let label_set: LabelSet = [(label_name!("server_binding_protocol"), LabelValue::new("http"))].into();
328349
let samples = SampleCollection::new(vec![Sample::new(Gauge::new(1.0), time, label_set.clone())]).unwrap();
350+
let mut metric = Metric::<Gauge>::new(name.clone(), None, None, samples);
329351

330-
let metric = Metric::<Gauge>::new(name.clone(), None, None, samples);
352+
metric.decrement(&label_set, time);
353+
354+
assert_relative_eq!(metric.get_sample_data(&label_set).unwrap().value().value(), 0.0);
355+
}
356+
357+
#[test]
358+
fn it_should_allow_setting_a_sample() {
359+
let time = DurationSinceUnixEpoch::from_secs(1_743_552_000);
360+
let name = metric_name!("test_metric");
361+
let label_set: LabelSet = [(label_name!("server_binding_protocol"), LabelValue::new("http"))].into();
362+
let samples = SampleCollection::new(vec![Sample::new(Gauge::new(0.0), time, label_set.clone())]).unwrap();
363+
let mut metric = Metric::<Gauge>::new(name.clone(), None, None, samples);
364+
365+
metric.set(&label_set, 1.0, time);
331366

332367
assert_relative_eq!(metric.get_sample_data(&label_set).unwrap().value().value(), 1.0);
333368
}

0 commit comments

Comments
 (0)