journal_json/
transport.rs1#[derive(serde::Deserialize, serde::Serialize, Debug, Eq, PartialEq)]
2pub enum Transport {
3 #[serde(rename = "audit")]
5 Audit,
6
7 #[serde(rename = "driver")]
9 Driver,
10
11 #[serde(rename = "syslog")]
13 Syslog,
14
15 #[serde(rename = "journal")]
17 Journal,
18
19 #[serde(rename = "stdout")]
21 Stdout,
22
23 #[serde(rename = "kernel")]
25 Kernel,
26}
27
28#[cfg(test)]
29mod tests {
30 use super::Transport;
31 #[derive(serde::Deserialize)]
32 struct Val {
33 field: Transport,
34 }
35
36 #[test]
37 fn test_deserialize_transport_audit() {
38 let s = r#"{"field":"audit"}"#;
39 let j: Val = serde_json::from_str(s).unwrap();
40 assert_eq!(j.field, Transport::Audit);
41 }
42
43 #[test]
44 fn test_deserialize_transport_driver() {
45 let s = r#"{"field":"driver"}"#;
46 let j: Val = serde_json::from_str(s).unwrap();
47 assert_eq!(j.field, Transport::Driver);
48 }
49
50 #[test]
51 fn test_deserialize_transport_syslog() {
52 let s = r#"{"field":"syslog"}"#;
53 let j: Val = serde_json::from_str(s).unwrap();
54 assert_eq!(j.field, Transport::Syslog);
55 }
56
57 #[test]
58 fn test_deserialize_transport_journal() {
59 let s = r#"{"field":"journal"}"#;
60 let j: Val = serde_json::from_str(s).unwrap();
61 assert_eq!(j.field, Transport::Journal);
62 }
63
64 #[test]
65 fn test_deserialize_transport_stdout() {
66 let s = r#"{"field":"stdout"}"#;
67 let j: Val = serde_json::from_str(s).unwrap();
68 assert_eq!(j.field, Transport::Stdout);
69 }
70
71 #[test]
72 fn test_deserialize_transport_kernel() {
73 let s = r#"{"field":"kernel"}"#;
74 let j: Val = serde_json::from_str(s).unwrap();
75 assert_eq!(j.field, Transport::Kernel);
76 }
77}