From d531c7ae61c56c9efedab75138fdc94fd7561770 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Thu, 14 Oct 2021 10:55:12 +0200 Subject: [PATCH] proxmox-rrd: add more regression tests --- proxmox-rrd/src/rrd.rs | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/proxmox-rrd/src/rrd.rs b/proxmox-rrd/src/rrd.rs index 432fa4a1..5382ba9d 100644 --- a/proxmox-rrd/src/rrd.rs +++ b/proxmox-rrd/src/rrd.rs @@ -408,6 +408,40 @@ impl RRD { mod tests { use super::*; + #[test] + fn basic_rra_maximum_gauge_test() -> Result<(), Error> { + let rra = RRA::new(CF::Maximum, 60, 5); + let mut rrd = RRD::new(DST::Gauge, vec![rra]); + + for i in 2..10 { + rrd.update((i as f64)*30.0, i as f64); + } + + let (start, reso, data) = rrd.extract_data(CF::Maximum, 60, Some(0), Some(5*60))?; + assert_eq!(start, 0); + assert_eq!(reso, 60); + assert_eq!(data, [None, Some(3.0), Some(5.0), Some(7.0), Some(9.0)]); + + Ok(()) + } + + #[test] + fn basic_rra_minimum_gauge_test() -> Result<(), Error> { + let rra = RRA::new(CF::Minimum, 60, 5); + let mut rrd = RRD::new(DST::Gauge, vec![rra]); + + for i in 2..10 { + rrd.update((i as f64)*30.0, i as f64); + } + + let (start, reso, data) = rrd.extract_data(CF::Minimum, 60, Some(0), Some(5*60))?; + assert_eq!(start, 0); + assert_eq!(reso, 60); + assert_eq!(data, [None, Some(2.0), Some(4.0), Some(6.0), Some(8.0)]); + + Ok(()) + } + #[test] fn basic_rra_last_gauge_test() -> Result<(), Error> { let rra = RRA::new(CF::Last, 60, 5);