in src/data/interrupts.rs [433:464]
fn test_get_data_interrupt_values() {
let mut buffer: Vec<Data> = Vec::<Data>::new();
let mut id = InterruptDataRaw::new();
let mut processed_buffer: Vec<ProcessedData> = Vec::<ProcessedData>::new();
let params = CollectorParams::new();
id.collect_data(¶ms).unwrap();
buffer.push(Data::InterruptDataRaw(id));
for buf in buffer {
processed_buffer.push(InterruptData::new().process_raw_data(buf).unwrap());
}
let json = InterruptData::new()
.get_data(
processed_buffer.clone(),
"run=test&get=keys".to_string(),
&mut DataMetrics::new(String::new()),
)
.unwrap();
let values: Vec<String> = serde_json::from_str(&json).unwrap();
let key_query = format!("run=test&get=values&key={}", values[0]);
let ld_json = InterruptData::new()
.get_data(
processed_buffer,
key_query,
&mut DataMetrics::new(String::new()),
)
.unwrap();
let line_data: Vec<InterruptLineData> = serde_json::from_str(&ld_json).unwrap();
assert!(!line_data.is_empty());
assert!(!line_data[0].per_cpu.is_empty());
}