Skip to main content

mq_rest_admin/
mapping_data.rs

1//! Compile-time loading of the bundled mapping data JSON.
2
3use std::sync::LazyLock;
4
5use serde_json::Value;
6
7/// The bundled mapping data parsed from `mapping-data.json`.
8pub static MAPPING_DATA: LazyLock<Value> = LazyLock::new(|| {
9    serde_json::from_str(include_str!("../mapping-data.json"))
10        .expect("bundled mapping-data.json must be valid JSON")
11});
12
13#[cfg(test)]
14mod tests {
15    use super::*;
16
17    #[test]
18    fn mapping_data_is_valid_json_object() {
19        assert!(MAPPING_DATA.is_object());
20    }
21
22    #[test]
23    fn mapping_data_has_commands_and_qualifiers() {
24        assert!(MAPPING_DATA.get("commands").is_some());
25        assert!(MAPPING_DATA.get("qualifiers").is_some());
26    }
27}