#![cfg(all(not(feature = "std"), feature = "discovery"))]
use sedsnet::config::{self,DataType};
#[unsafe(no_mangle)] extern "C" fn telemetry_lock() {}
#[unsafe(no_mangle)] extern "C" fn telemetry_unlock() {}
#[test]
fn compiled_lookup_warmup_does_not_hide_overlay_metadata_updates() {
let id=DataType::named("GPS_DATA");
let original=config::data_type_definition(id).unwrap();
for _ in 0..100 {
assert_eq!(config::data_type_definition(id),Some(original.clone()));
assert!(config::data_type_exists(id));
for definition in config::export_schema().types {
assert!(config::data_type_exists(definition.id));
}
}
let mut changed=original.clone();
changed.priority=original.priority.wrapping_add(1);
changed.description.push_str(" learned overlay");
let report=config::merge_owned_schema_snapshot_with_budget(config::OwnedRuntimeSchemaSnapshot {
endpoints: vec![],types:vec![changed.clone()]
},usize::MAX).unwrap();
assert_eq!(report.types_replaced,1);
let merged = config::data_type_definition(id).unwrap();
assert_eq!(merged.priority, changed.priority);
for _ in 0..100 {
assert_eq!(config::data_type_definition(id),Some(merged.clone()));
assert_eq!(sedsnet::message_priority(id),changed.priority);
assert!(config::data_type_exists(id));
}
}