blob: 099700044aef951b6754c1400ca8f7a69b09ac56 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
pub(crate) fn response(kind: &str, data: String) -> Option<crate::protocol::ServerMessage> {
(kind == crate::protocol::endpoint::HEALTH_PING_KIND).then(|| {
crate::protocol::ServerMessage::EndpointControl {
kind: crate::protocol::endpoint::HEALTH_PONG_KIND.into(),
data,
}
})
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn health_ping_echoes_a_pong_without_entering_server_state() {
let pong = response(crate::protocol::endpoint::HEALTH_PING_KIND, "probe".into()).unwrap();
assert!(matches!(
pong,
crate::protocol::ServerMessage::EndpointControl { kind, data }
if kind == crate::protocol::endpoint::HEALTH_PONG_KIND && data == "probe"
));
assert!(response("future.control", String::new()).is_none());
}
}
|