use mavinspect::parser::Inspector;
use mavinspect::protocol::Microservices;
fn default_dialect_paths() -> Vec<&'static str> {
vec![
"./message_definitions/standard",
]
}
#[test]
fn test_all_microservices_available() {
let inspector = Inspector::builder()
.set_sources(&default_dialect_paths())
.build()
.unwrap();
let protocol = inspector.parse().unwrap();
let all = protocol
.get_dialect_by_canonical_name("all")
.unwrap();
assert!(all.microservices().contains(Microservices::HEARTBEAT));
assert!(all.microservices().contains(Microservices::MISSION));
assert!(all.microservices().contains(Microservices::PARAMETER));
assert!(all.microservices().contains(Microservices::PARAMETER_EXT));
assert!(all.microservices().contains(Microservices::COMMAND));
assert!(all.microservices().contains(Microservices::MANUAL_CONTROL));
assert!(all.microservices().contains(Microservices::CAMERA));
assert!(all.microservices().contains(Microservices::GIMBAL_V1));
assert!(all.microservices().contains(Microservices::GIMBAL_V2));
assert!(all.microservices().contains(Microservices::ARM_AUTH));
assert!(all.microservices().contains(Microservices::IMAGE_TRANSMISSION));
assert!(all.microservices().contains(Microservices::FTP));
assert!(all.microservices().contains(Microservices::LANDING_TARGET));
assert!(all.microservices().contains(Microservices::PING));
assert!(all.microservices().contains(Microservices::PATH_PLANNING));
assert!(all.microservices().contains(Microservices::BATTERY));
assert!(all.microservices().contains(Microservices::TERRAIN));
assert!(all.microservices().contains(Microservices::TUNNEL));
assert!(all.microservices().contains(Microservices::OPEN_DRONE_ID));
assert!(all.microservices().contains(Microservices::HIGH_LATENCY));
assert!(all.microservices().contains(Microservices::COMPONENT_METADATA));
assert!(all.microservices().contains(Microservices::PAYLOAD));
assert!(all.microservices().contains(Microservices::TRAFFIC_MANAGEMENT));
assert!(all.microservices().contains(Microservices::EVENTS_INTERFACE));
assert!(all.microservices().contains(Microservices::TIME_SYNC));
assert!(all.microservices().is_all());
}