1 /*
2 * Copyright (c) 2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 use crate::common::*;
17 use asset_sdk::*;
18
19 #[test]
update_same_secret()20 fn update_same_secret() {
21 let alias = function!().as_bytes();
22 let secret = function!().as_bytes();
23 add_default_asset(alias, secret).unwrap();
24
25 let mut query = AssetMap::new();
26 query.insert_attr(Tag::Alias, alias.to_owned());
27
28 let mut update = AssetMap::new();
29 update.insert_attr(Tag::Secret, secret.to_owned());
30
31 asset_sdk::Manager::build().unwrap().update(&query, &update).unwrap();
32
33 remove_by_alias(alias).unwrap();
34 }
35
36 #[test]
update_different_secret()37 fn update_different_secret() {
38 let alias = function!().as_bytes();
39 let secret = function!().as_bytes();
40 add_default_asset(alias, secret).unwrap();
41
42 let mut query = AssetMap::new();
43 query.insert_attr(Tag::Alias, alias.to_owned());
44
45 let secret_new = "update_different_secret_new".as_bytes();
46
47 let mut update = AssetMap::new();
48 update.insert_attr(Tag::Secret, secret_new.to_owned());
49
50 asset_sdk::Manager::build().unwrap().update(&query, &update).unwrap();
51
52 let res = query_all_by_alias(alias).unwrap();
53 assert_eq!(1, res.len());
54 assert_eq!(secret_new, res[0].get_bytes_attr(&Tag::Secret).unwrap());
55
56 remove_by_alias(alias).unwrap();
57 }
58
59 #[test]
update_attr_normal()60 fn update_attr_normal() {
61 let alias = function!().as_bytes();
62 let secret = function!().as_bytes();
63 add_default_asset(alias, secret).unwrap();
64
65 let mut query = AssetMap::new();
66 query.insert_attr(Tag::Alias, alias.to_owned());
67
68 let label_normal = "update_attr_normal".as_bytes();
69 let mut update = AssetMap::new();
70 update.insert_attr(Tag::DataLabelNormal1, label_normal.to_owned());
71
72 asset_sdk::Manager::build().unwrap().update(&query, &update).unwrap();
73 let query_res = &query_attr_by_alias(alias).unwrap()[0];
74 let label_normal_query = query_res.get_bytes_attr(&Tag::DataLabelNormal1).unwrap();
75 assert_eq!(label_normal, label_normal_query);
76
77 remove_by_alias(alias).unwrap();
78 }
79
80 #[test]
update_non_exist()81 fn update_non_exist() {
82 let alias = function!().as_bytes();
83 let label_normal = function!().as_bytes();
84
85 let mut query = AssetMap::new();
86 query.insert_attr(Tag::Alias, alias.to_owned());
87
88 let mut update = AssetMap::new();
89 update.insert_attr(Tag::DataLabelNormal1, label_normal.to_owned());
90
91 expect_error_eq(ErrCode::NotFound, asset_sdk::Manager::build().unwrap().update(&query, &update).unwrap_err());
92 }
93