updatehub_package_schema/
zephyr.rs

1// Copyright (C) 2019 O.S. Systems Sofware LTDA
2//
3// SPDX-License-Identifier: Apache-2.0
4
5use serde::Deserialize;
6
7#[derive(Clone, Deserialize, PartialEq, Eq, Debug)]
8pub struct Zephyr {
9    pub filename: String,
10    pub size: u64,
11    pub sha256sum: String,
12}
13
14#[test]
15fn deserialize() {
16    use pretty_assertions::assert_eq;
17    use serde_json::json;
18
19    assert_eq!(
20        super::Object::Zephyr(Box::new(Zephyr {
21            filename: "artifact.zephyr".to_string(),
22            size: 1024,
23            sha256sum: "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
24                .to_string(),
25        })),
26        serde_json::from_value::<super::Object>(json!({
27            "mode": "zephyr",
28            "filename": "artifact.zephyr",
29            "size": 1024,
30            "sha256sum": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
31        }))
32        .unwrap()
33    );
34}