• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021 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 #include "resource_manager_test.h"
17 
18 #include <vector>
19 
20 #include "capability_info.h"
21 #define private public
22 #include "capability_info_manager.h"
23 #undef private
24 #include "dh_context.h"
25 #include "distributed_hardware_errno.h"
26 #include "distributed_hardware_log.h"
27 
28 using namespace testing::ext;
29 using namespace std;
30 
31 namespace OHOS {
32 namespace DistributedHardware {
33 #undef DH_LOG_TAG
34 #define DH_LOG_TAG "ResourceManagerTest"
35 
36 namespace {
37 const string DEV_ID_0 = "bb536a637105409e904d4da83790a4a7";
38 const string DEV_ID_1 = "bb536a637105409e904d4da83790a4a8";
39 const string DEV_NAME = "Dev1";
40 const string DH_ID_0 = "Camera_0";
41 const string DH_ID_1 = "Mic_0";
42 const string DH_ID_2 = "Speaker_0";
43 const string DH_ID_3 = "Display_0";
44 const string DH_ID_4 = "Input_0";
45 const string DH_ATTR_0 = "attr0";
46 const string DH_ATTR_1 = "attr1";
47 constexpr uint16_t TEST_DEV_TYPE_PAD = 0x11;
48 constexpr uint32_t TEST_DH_TYPE_CAMERA = 0x01;
49 constexpr uint32_t TEST_DH_TYPE_MIC = 0x02;
50 constexpr uint32_t TEST_DH_TYPE_SPEAKER = 0x4;
51 constexpr uint32_t TEST_DH_TYPE_DISPLAY = 0x08;
52 constexpr uint32_t TEST_DH_TYPE_BUTTON = 0x20;
53 constexpr uint32_t TEST_SIZE_0 = 0;
54 constexpr uint32_t TEST_SIZE_2 = 2;
55 constexpr uint32_t TEST_SIZE_5 = 5;
56 constexpr uint32_t TEST_SIZE_10 = 10;
57 const std::string EMPTY_PREFIX = "";
58 
59 const shared_ptr<CapabilityInfo> CAP_INFO_0 =
60     make_shared<CapabilityInfo>(DH_ID_0, DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::CAMERA, DH_ATTR_0);
61 const shared_ptr<CapabilityInfo> CAP_INFO_1 =
62     make_shared<CapabilityInfo>(DH_ID_1, DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::MIC, DH_ATTR_0);
63 const shared_ptr<CapabilityInfo> CAP_INFO_2 =
64     make_shared<CapabilityInfo>(DH_ID_2, DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::SPEAKER, DH_ATTR_0);
65 const shared_ptr<CapabilityInfo> CAP_INFO_3 =
66     make_shared<CapabilityInfo>(DH_ID_3, DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::DISPLAY, DH_ATTR_0);
67 const shared_ptr<CapabilityInfo> CAP_INFO_4 =
68     make_shared<CapabilityInfo>(DH_ID_4, DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::BUTTON, DH_ATTR_0);
69 
70 const shared_ptr<CapabilityInfo> CAP_INFO_5 =
71     make_shared<CapabilityInfo>(DH_ID_0, DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::CAMERA, DH_ATTR_1);
72 const shared_ptr<CapabilityInfo> CAP_INFO_6 =
73     make_shared<CapabilityInfo>(DH_ID_1, DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::MIC, DH_ATTR_1);
74 const shared_ptr<CapabilityInfo> CAP_INFO_7 =
75     make_shared<CapabilityInfo>(DH_ID_2, DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::SPEAKER, DH_ATTR_1);
76 const shared_ptr<CapabilityInfo> CAP_INFO_8 =
77     make_shared<CapabilityInfo>(DH_ID_3, DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::DISPLAY, DH_ATTR_1);
78 const shared_ptr<CapabilityInfo> CAP_INFO_9 =
79     make_shared<CapabilityInfo>(DH_ID_4, DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::BUTTON, DH_ATTR_1);
80 }
81 
SetUpTestCase(void)82 void ResourceManagerTest::SetUpTestCase(void) {}
83 
TearDownTestCase(void)84 void ResourceManagerTest::TearDownTestCase(void) {}
85 
SetUp()86 void ResourceManagerTest::SetUp()
87 {
88     vector<shared_ptr<CapabilityInfo>> resInfos { CAP_INFO_0, CAP_INFO_1, CAP_INFO_2, CAP_INFO_3, CAP_INFO_4,
89         CAP_INFO_5, CAP_INFO_6, CAP_INFO_7, CAP_INFO_8, CAP_INFO_9 };
90     CapabilityInfoManager::GetInstance()->AddCapability(resInfos);
91 }
92 
TearDown()93 void ResourceManagerTest::TearDown()
94 {
95     CapabilityInfoManager::GetInstance()->RemoveCapabilityInfoByKey(CAP_INFO_0->GetKey());
96     CapabilityInfoManager::GetInstance()->RemoveCapabilityInfoByKey(CAP_INFO_1->GetKey());
97     CapabilityInfoManager::GetInstance()->RemoveCapabilityInfoByKey(CAP_INFO_2->GetKey());
98     CapabilityInfoManager::GetInstance()->RemoveCapabilityInfoByKey(CAP_INFO_3->GetKey());
99     CapabilityInfoManager::GetInstance()->RemoveCapabilityInfoByKey(CAP_INFO_4->GetKey());
100     CapabilityInfoManager::GetInstance()->RemoveCapabilityInfoByKey(CAP_INFO_5->GetKey());
101     CapabilityInfoManager::GetInstance()->RemoveCapabilityInfoByKey(CAP_INFO_6->GetKey());
102     CapabilityInfoManager::GetInstance()->RemoveCapabilityInfoByKey(CAP_INFO_7->GetKey());
103     CapabilityInfoManager::GetInstance()->RemoveCapabilityInfoByKey(CAP_INFO_8->GetKey());
104     CapabilityInfoManager::GetInstance()->RemoveCapabilityInfoByKey(CAP_INFO_9->GetKey());
105 }
106 
107 /**
108  * @tc.name: resource_manager_test_001
109  * @tc.desc: Verify the CapabilityInfoManager UnInit function.
110  * @tc.type: FUNC
111  * @tc.require: AR000GHSJE
112  */
113 HWTEST_F(ResourceManagerTest, resource_manager_test_001, TestSize.Level0)
114 {
115     EXPECT_EQ(CapabilityInfoManager::GetInstance()->Init(), DH_FWK_SUCCESS);
116     EXPECT_EQ(CapabilityInfoManager::GetInstance()->UnInit(), DH_FWK_SUCCESS);
117 }
118 
119 /**
120  * @tc.name: resource_manager_test_002
121  * @tc.desc: Verify the CapabilityInfoManager Init function.
122  * @tc.type: FUNC
123  * @tc.require: AR000GHSCV
124  */
125 HWTEST_F(ResourceManagerTest, resource_manager_test_002, TestSize.Level0)
126 {
127     EXPECT_EQ(CapabilityInfoManager::GetInstance()->Init(), DH_FWK_SUCCESS);
128 }
129 
130 /**
131  * @tc.name: resource_manager_test_003
132  * @tc.desc: Verify the CapabilityInfoManager SyncDeviceInfoFromDB function.
133  * @tc.type: FUNC
134  * @tc.require: AR000GHSJE
135  */
136 HWTEST_F(ResourceManagerTest, resource_manager_test_003, TestSize.Level0)
137 {
138     CapabilityInfoManager::GetInstance()->globalCapInfoMap_.clear();
139     EXPECT_EQ(CapabilityInfoManager::GetInstance()->SyncDeviceInfoFromDB(DEV_ID_0), DH_FWK_SUCCESS);
140     EXPECT_EQ(CapabilityInfoManager::GetInstance()->globalCapInfoMap_.size(), TEST_SIZE_5);
141     EXPECT_EQ(CapabilityInfoManager::GetInstance()->SyncDeviceInfoFromDB(DEV_ID_1), DH_FWK_SUCCESS);
142     EXPECT_EQ(CapabilityInfoManager::GetInstance()->globalCapInfoMap_.size(), TEST_SIZE_10);
143 }
144 
145 /**
146  * @tc.name: resource_manager_test_004
147  * @tc.desc: Verify the CapabilityInfoManager SyncRemoteCapabilityInfos function.
148  * @tc.type: FUNC
149  * @tc.require: AR000GHSJE
150  */
151 HWTEST_F(ResourceManagerTest, resource_manager_test_004, TestSize.Level0)
152 {
153     CapabilityInfoManager::GetInstance()->globalCapInfoMap_.clear();
154     EXPECT_EQ(CapabilityInfoManager::GetInstance()->SyncRemoteCapabilityInfos(), DH_FWK_SUCCESS);
155 }
156 
157 /**
158  * @tc.name: resource_manager_test_005
159  * @tc.desc: Verify the CapabilityInfoManager AddCapability function.
160  * @tc.type: FUNC
161  * @tc.require: AR000GHSCV
162  */
163 HWTEST_F(ResourceManagerTest, resource_manager_test_005, TestSize.Level0)
164 {
165     vector<shared_ptr<CapabilityInfo>> resInfos { CAP_INFO_0, CAP_INFO_1, CAP_INFO_2, CAP_INFO_3, CAP_INFO_4,
166         CAP_INFO_5, CAP_INFO_6, CAP_INFO_7, CAP_INFO_8, CAP_INFO_9 };
167     EXPECT_EQ(CapabilityInfoManager::GetInstance()->AddCapability(resInfos), DH_FWK_SUCCESS);
168     EXPECT_EQ(CapabilityInfoManager::GetInstance()->globalCapInfoMap_.size(), TEST_SIZE_10);
169 }
170 
171 /**
172  * @tc.name: resource_manager_test_006
173  * @tc.desc: Verify the CapabilityInfoManager AddCapabilityInMem function.
174  * @tc.type: FUNC
175  * @tc.require: AR000GHSCV
176  */
177 HWTEST_F(ResourceManagerTest, resource_manager_test_006, TestSize.Level0)
178 {
179     vector<shared_ptr<CapabilityInfo>> resInfos { CAP_INFO_0, CAP_INFO_1, CAP_INFO_2, CAP_INFO_3, CAP_INFO_4,
180         CAP_INFO_5, CAP_INFO_6, CAP_INFO_7, CAP_INFO_8, CAP_INFO_9 };
181     EXPECT_EQ(CapabilityInfoManager::GetInstance()->AddCapabilityInMem(resInfos), DH_FWK_SUCCESS);
182     EXPECT_EQ(CapabilityInfoManager::GetInstance()->globalCapInfoMap_.size(), TEST_SIZE_10);
183 }
184 
185 
186 /**
187  * @tc.name: resource_manager_test_007
188  * @tc.desc: Verify the CapabilityInfoManager RemoveCapabilityInfoByKey function.
189  * @tc.type: FUNC
190  * @tc.require: AR000GHSJE
191  */
192 HWTEST_F(ResourceManagerTest, resource_manager_test_007, TestSize.Level0)
193 {
194     EXPECT_EQ(CapabilityInfoManager::GetInstance()->RemoveCapabilityInfoByKey(CAP_INFO_0->GetKey()), DH_FWK_SUCCESS);
195     EXPECT_EQ(CapabilityInfoManager::GetInstance()->RemoveCapabilityInfoByKey(CAP_INFO_1->GetKey()), DH_FWK_SUCCESS);
196     EXPECT_EQ(CapabilityInfoManager::GetInstance()->RemoveCapabilityInfoByKey(CAP_INFO_2->GetKey()), DH_FWK_SUCCESS);
197     EXPECT_EQ(CapabilityInfoManager::GetInstance()->RemoveCapabilityInfoByKey(CAP_INFO_3->GetKey()), DH_FWK_SUCCESS);
198     EXPECT_EQ(CapabilityInfoManager::GetInstance()->RemoveCapabilityInfoByKey(CAP_INFO_4->GetKey()), DH_FWK_SUCCESS);
199     EXPECT_EQ(CapabilityInfoManager::GetInstance()->RemoveCapabilityInfoByKey(CAP_INFO_5->GetKey()), DH_FWK_SUCCESS);
200     EXPECT_EQ(CapabilityInfoManager::GetInstance()->RemoveCapabilityInfoByKey(CAP_INFO_6->GetKey()), DH_FWK_SUCCESS);
201     EXPECT_EQ(CapabilityInfoManager::GetInstance()->RemoveCapabilityInfoByKey(CAP_INFO_7->GetKey()), DH_FWK_SUCCESS);
202     EXPECT_EQ(CapabilityInfoManager::GetInstance()->RemoveCapabilityInfoByKey(CAP_INFO_8->GetKey()), DH_FWK_SUCCESS);
203     EXPECT_EQ(CapabilityInfoManager::GetInstance()->RemoveCapabilityInfoByKey(CAP_INFO_9->GetKey()), DH_FWK_SUCCESS);
204     EXPECT_EQ(CapabilityInfoManager::GetInstance()->globalCapInfoMap_.size(), TEST_SIZE_0);
205 }
206 
207 /**
208  * @tc.name: resource_manager_test_008
209  * @tc.desc: Verify the CapabilityInfoManager QueryCapabilityByFilters function.
210  * @tc.type: FUNC
211  * @tc.require: AR000GHSJE
212  */
213 HWTEST_F(ResourceManagerTest, resource_manager_test_008, TestSize.Level0)
214 {
215     map<CapabilityInfoFilter, string> queryMap0 { { CapabilityInfoFilter::FILTER_DEVICE_ID, DEV_ID_0 } };
216     map<CapabilityInfoFilter, string> queryMap1 { { CapabilityInfoFilter::FILTER_DEVICE_ID, DEV_ID_1 } };
217     map<CapabilityInfoFilter, string> queryMap2 { { CapabilityInfoFilter::FILTER_DEVICE_NAME, DEV_NAME } };
218     map<CapabilityInfoFilter, string> queryMap3 { { CapabilityInfoFilter::FILTER_DH_ID, DH_ID_0 } };
219     map<CapabilityInfoFilter, string> queryMap4 { { CapabilityInfoFilter::FILTER_DH_ID, DH_ID_1 } };
220     map<CapabilityInfoFilter, string> queryMap5 { { CapabilityInfoFilter::FILTER_DH_ID, DH_ID_2 } };
221     map<CapabilityInfoFilter, string> queryMap6 { { CapabilityInfoFilter::FILTER_DH_ID, DH_ID_3 } };
222     map<CapabilityInfoFilter, string> queryMap7 { { CapabilityInfoFilter::FILTER_DH_ID, DH_ID_4 } };
223     map<CapabilityInfoFilter, string> queryMap8 { { CapabilityInfoFilter::FILTER_DEVICE_TYPE,
224         to_string(TEST_DEV_TYPE_PAD) } };
225     map<CapabilityInfoFilter, string> queryMap9 { { CapabilityInfoFilter::FILTER_DH_TYPE,
226         to_string(TEST_DH_TYPE_CAMERA) } };
227     map<CapabilityInfoFilter, string> queryMap10 { { CapabilityInfoFilter::FILTER_DH_TYPE,
228         to_string(TEST_DH_TYPE_MIC) } };
229     map<CapabilityInfoFilter, string> queryMap11 { { CapabilityInfoFilter::FILTER_DH_TYPE,
230         to_string(TEST_DH_TYPE_SPEAKER) } };
231     map<CapabilityInfoFilter, string> queryMap12 { { CapabilityInfoFilter::FILTER_DH_TYPE,
232         to_string(TEST_DH_TYPE_DISPLAY) } };
233     map<CapabilityInfoFilter, string> queryMap13 { { CapabilityInfoFilter::FILTER_DH_TYPE,
234         to_string(TEST_DH_TYPE_BUTTON) } };
235     EXPECT_EQ(CapabilityInfoManager::GetInstance()->QueryCapabilityByFilters(queryMap0).size(), TEST_SIZE_5);
236     EXPECT_EQ(CapabilityInfoManager::GetInstance()->QueryCapabilityByFilters(queryMap1).size(), TEST_SIZE_5);
237     EXPECT_EQ(CapabilityInfoManager::GetInstance()->QueryCapabilityByFilters(queryMap2).size(), TEST_SIZE_10);
238     EXPECT_EQ(CapabilityInfoManager::GetInstance()->QueryCapabilityByFilters(queryMap3).size(), TEST_SIZE_2);
239     EXPECT_EQ(CapabilityInfoManager::GetInstance()->QueryCapabilityByFilters(queryMap4).size(), TEST_SIZE_2);
240     EXPECT_EQ(CapabilityInfoManager::GetInstance()->QueryCapabilityByFilters(queryMap5).size(), TEST_SIZE_2);
241     EXPECT_EQ(CapabilityInfoManager::GetInstance()->QueryCapabilityByFilters(queryMap6).size(), TEST_SIZE_2);
242     EXPECT_EQ(CapabilityInfoManager::GetInstance()->QueryCapabilityByFilters(queryMap7).size(), TEST_SIZE_2);
243     EXPECT_EQ(CapabilityInfoManager::GetInstance()->QueryCapabilityByFilters(queryMap8).size(), TEST_SIZE_10);
244     EXPECT_EQ(CapabilityInfoManager::GetInstance()->QueryCapabilityByFilters(queryMap9).size(), TEST_SIZE_2);
245     EXPECT_EQ(CapabilityInfoManager::GetInstance()->QueryCapabilityByFilters(queryMap10).size(), TEST_SIZE_2);
246     EXPECT_EQ(CapabilityInfoManager::GetInstance()->QueryCapabilityByFilters(queryMap11).size(), TEST_SIZE_2);
247     EXPECT_EQ(CapabilityInfoManager::GetInstance()->QueryCapabilityByFilters(queryMap12).size(), TEST_SIZE_2);
248     EXPECT_EQ(CapabilityInfoManager::GetInstance()->QueryCapabilityByFilters(queryMap13).size(), TEST_SIZE_2);
249 }
250 
251 /**
252  * @tc.name: resource_manager_test_009
253  * @tc.desc: Verify the HasCapability function.
254  * @tc.type: FUNC
255  * @tc.require: AR000GHSCV
256  */
257 HWTEST_F(ResourceManagerTest, resource_manager_test_009, TestSize.Level0)
258 {
259     EXPECT_EQ(CapabilityInfoManager::GetInstance()->HasCapability(DEV_ID_0, DH_ID_0), true);
260     EXPECT_EQ(CapabilityInfoManager::GetInstance()->HasCapability(DEV_ID_0, DH_ID_1), true);
261     EXPECT_EQ(CapabilityInfoManager::GetInstance()->HasCapability(DEV_ID_0, DH_ID_2), true);
262     EXPECT_EQ(CapabilityInfoManager::GetInstance()->HasCapability(DEV_ID_0, DH_ID_3), true);
263     EXPECT_EQ(CapabilityInfoManager::GetInstance()->HasCapability(DEV_ID_0, DH_ID_4), true);
264     EXPECT_EQ(CapabilityInfoManager::GetInstance()->HasCapability(DEV_ID_1, DH_ID_0), true);
265     EXPECT_EQ(CapabilityInfoManager::GetInstance()->HasCapability(DEV_ID_1, DH_ID_1), true);
266     EXPECT_EQ(CapabilityInfoManager::GetInstance()->HasCapability(DEV_ID_1, DH_ID_2), true);
267     EXPECT_EQ(CapabilityInfoManager::GetInstance()->HasCapability(DEV_ID_1, DH_ID_3), true);
268     EXPECT_EQ(CapabilityInfoManager::GetInstance()->HasCapability(DEV_ID_1, DH_ID_4), true);
269 }
270 
271 /**
272  * @tc.name: resource_manager_test_010
273  * @tc.desc: Verify the GetCapabilitiesByDeviceId function.
274  * @tc.type: FUNC
275  * @tc.require: AR000GHSJE
276  */
277 HWTEST_F(ResourceManagerTest, resource_manager_test_010, TestSize.Level0)
278 {
279     vector<shared_ptr<CapabilityInfo>> capInfos;
280     CapabilityInfoManager::GetInstance()->GetCapabilitiesByDeviceId(DEV_ID_0, capInfos);
281     EXPECT_EQ(capInfos.size(), TEST_SIZE_5);
282     CapabilityInfoManager::GetInstance()->GetCapabilitiesByDeviceId(DEV_ID_1, capInfos);
283     EXPECT_EQ(capInfos.size(), TEST_SIZE_10);
284 }
285 
286 /**
287  * @tc.name: resource_manager_test_011
288  * @tc.desc: Verify the GetCapability function.
289  * @tc.type: FUNC
290  * @tc.require: AR000GHSJE
291  */
292 HWTEST_F(ResourceManagerTest, resource_manager_test_011, TestSize.Level0)
293 {
294     shared_ptr<CapabilityInfo> capInfo;
295     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetCapability(DEV_ID_0, DH_ID_0, capInfo), DH_FWK_SUCCESS);
296     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetCapability(DEV_ID_0, DH_ID_1, capInfo), DH_FWK_SUCCESS);
297     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetCapability(DEV_ID_0, DH_ID_2, capInfo), DH_FWK_SUCCESS);
298     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetCapability(DEV_ID_0, DH_ID_3, capInfo), DH_FWK_SUCCESS);
299     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetCapability(DEV_ID_0, DH_ID_4, capInfo), DH_FWK_SUCCESS);
300     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetCapability(DEV_ID_1, DH_ID_0, capInfo), DH_FWK_SUCCESS);
301     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetCapability(DEV_ID_1, DH_ID_1, capInfo), DH_FWK_SUCCESS);
302     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetCapability(DEV_ID_1, DH_ID_2, capInfo), DH_FWK_SUCCESS);
303     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetCapability(DEV_ID_1, DH_ID_3, capInfo), DH_FWK_SUCCESS);
304     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetCapability(DEV_ID_1, DH_ID_4, capInfo), DH_FWK_SUCCESS);
305 }
306 
307 /**
308  * @tc.name: resource_manager_test_012
309  * @tc.desc: Verify the GetDataByKey function.
310  * @tc.type: FUNC
311  * @tc.require: AR000GHSJE
312  */
313 HWTEST_F(ResourceManagerTest, resource_manager_test_012, TestSize.Level0)
314 {
315     shared_ptr<CapabilityInfo> capInfo;
316     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetDataByKey(CAP_INFO_0->GetKey(), capInfo), DH_FWK_SUCCESS);
317     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetDataByKey(CAP_INFO_1->GetKey(), capInfo), DH_FWK_SUCCESS);
318     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetDataByKey(CAP_INFO_2->GetKey(), capInfo), DH_FWK_SUCCESS);
319     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetDataByKey(CAP_INFO_3->GetKey(), capInfo), DH_FWK_SUCCESS);
320     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetDataByKey(CAP_INFO_4->GetKey(), capInfo), DH_FWK_SUCCESS);
321     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetDataByKey(CAP_INFO_5->GetKey(), capInfo), DH_FWK_SUCCESS);
322     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetDataByKey(CAP_INFO_6->GetKey(), capInfo), DH_FWK_SUCCESS);
323     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetDataByKey(CAP_INFO_7->GetKey(), capInfo), DH_FWK_SUCCESS);
324     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetDataByKey(CAP_INFO_8->GetKey(), capInfo), DH_FWK_SUCCESS);
325     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetDataByKey(CAP_INFO_9->GetKey(), capInfo), DH_FWK_SUCCESS);
326 }
327 
328 /**
329  * @tc.name: resource_manager_test_013
330  * @tc.desc: Verify the GetDataByKeyPrefix function.
331  * @tc.type: FUNC
332  * @tc.require: AR000GHSJE
333  */
334 HWTEST_F(ResourceManagerTest, resource_manager_test_013, TestSize.Level0)
335 {
336     CapabilityInfoMap capMap;
337     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetDataByKeyPrefix(CAP_INFO_0->GetDeviceId(), capMap),
338         DH_FWK_SUCCESS);
339     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetDataByKeyPrefix(CAP_INFO_1->GetDeviceId(), capMap),
340         DH_FWK_SUCCESS);
341     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetDataByKeyPrefix(CAP_INFO_2->GetDeviceId(), capMap),
342         DH_FWK_SUCCESS);
343     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetDataByKeyPrefix(CAP_INFO_3->GetDeviceId(), capMap),
344         DH_FWK_SUCCESS);
345     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetDataByKeyPrefix(CAP_INFO_4->GetDeviceId(), capMap),
346         DH_FWK_SUCCESS);
347     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetDataByKeyPrefix(CAP_INFO_5->GetDeviceId(), capMap),
348         DH_FWK_SUCCESS);
349     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetDataByKeyPrefix(CAP_INFO_6->GetDeviceId(), capMap),
350         DH_FWK_SUCCESS);
351     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetDataByKeyPrefix(CAP_INFO_7->GetDeviceId(), capMap),
352         DH_FWK_SUCCESS);
353     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetDataByKeyPrefix(CAP_INFO_8->GetDeviceId(), capMap),
354         DH_FWK_SUCCESS);
355     EXPECT_EQ(CapabilityInfoManager::GetInstance()->GetDataByKeyPrefix(CAP_INFO_9->GetDeviceId(), capMap),
356         DH_FWK_SUCCESS);
357     EXPECT_EQ(capMap.size(), TEST_SIZE_10);
358 }
359 }
360 }
361