Skip to main content

updatehub_package_schema/
uboot_env.rs

1// Copyright (C) 2020 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)]
8#[serde(rename_all = "kebab-case")]
9pub struct UbootEnv {
10    pub filename: String,
11    pub size: u64,
12    pub sha256sum: String,
13}
14
15#[test]
16fn deserialize() {
17    use pretty_assertions::assert_eq;
18    use serde_json::json;
19
20    assert_eq!(
21        super::Object::UbootEnv(Box::new(UbootEnv {
22            filename: "updatehub.defenv".to_string(),
23            size: 1024,
24            sha256sum: "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
25                .to_string(),
26        })),
27        serde_json::from_value::<super::Object>(json!({
28            "mode": "uboot-env",
29            "filename": "updatehub.defenv",
30            "size": 1024,
31            "sha256sum": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
32        }))
33        .unwrap()
34    );
35}