fn test_get_data_interrupt_values()

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(&params).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());
    }