pub use hopr_types::{internal::routing::PathId, primitive::bounded::BoundedVec};
pub use libp2p_identity::PeerId;
#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, strum::Display, strum::EnumString, strum::EnumIter)]
pub enum Health {
Unknown = 0,
Red = 1,
Orange = 2,
Yellow = 3,
Green = 4,
}
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum NetworkEvent {
PeerConnected(PeerId),
PeerDisconnected(PeerId),
}
#[cfg(test)]
mod tests {
use insta::assert_debug_snapshot;
use strum::IntoEnumIterator;
use super::Health;
#[test]
fn network_health_should_be_representable_numerically_and_ordered() {
assert_debug_snapshot!(Health::iter().map(|v| v as i32).collect::<Vec::<_>>());
}
#[test]
fn network_health_should_serialize_to_and_deserialize_from_a_proper_string() {
assert_debug_snapshot!(Health::iter().collect::<Vec::<_>>());
}
}