mithril_common/messages/
cardano_database_immutable_files_restored.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
use serde::{Deserialize, Serialize};

/// Message structure of an immutable files restoration
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct CardanoDatabaseImmutableFilesRestoredMessage {
    /// Number of immutable files restored.
    pub nb_immutable_files: u32,
}

impl CardanoDatabaseImmutableFilesRestoredMessage {
    /// Return a dummy test entity (test-only).
    pub fn dummy() -> Self {
        Self {
            nb_immutable_files: 34,
        }
    }
}

#[cfg(test)]
mod tests {
    use super::*;

    const CURRENT_JSON: &str = r#"{
        "nb_immutable_files": 62
    }"#;

    fn golden_message_current() -> CardanoDatabaseImmutableFilesRestoredMessage {
        CardanoDatabaseImmutableFilesRestoredMessage {
            nb_immutable_files: 62,
        }
    }

    #[test]
    fn test_current_json_deserialized_into_current_message() {
        let json = CURRENT_JSON;
        let message: CardanoDatabaseImmutableFilesRestoredMessage =
            serde_json::from_str(json).unwrap();

        assert_eq!(golden_message_current(), message);
    }
}