• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022-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 #include "version_manager_test.h"
17 
18 #define private public
19 #include "component_loader.h"
20 #undef private
21 #include "version_manager.h"
22 
23 using namespace testing::ext;
24 
25 namespace OHOS {
26 namespace DistributedHardware {
SetUpTestCase(void)27 void VersionManagerTest::SetUpTestCase(void) {}
28 
TearDownTestCase(void)29 void VersionManagerTest::TearDownTestCase(void) {}
30 
SetUp()31 void VersionManagerTest::SetUp()
32 {
33     ComponentLoader::GetInstance().Init();
34 }
35 
TearDown()36 void VersionManagerTest::TearDown()
37 {
38     ComponentLoader::GetInstance().UnInit();
39 }
40 
41 namespace {
42 const std::string TEST_DEVICE_ID_1 = "bb536a637105409e904d4da83790a4a7";
43 const std::string TEST_DEVICE_ID_2 = "bb536a637105409e904d4da83790a4a8";
44 const std::string TEST_DEVICE_ID_3 = "bb536a637105409e904d4da83790a4a9";
45 const std::string TEST_DEVICE_ID_4 = "bb536a637105409e904d4da83790a4a0";
46 const std::string TEST_HANDLER_VERSION_1 = "1.0";
47 const std::string TEST_HANDLER_VERSION_2 = "3.0";
48 const std::string TEST_HANDLER_VERSION_3 = "5.0";
49 const std::string TEST_SOURCE_VERSION_1 = "2.2";
50 const std::string TEST_SOURCE_VERSION_2 = "2.0";
51 const std::string TEST_SOURCE_VERSION_3 = "6.0";
52 const std::string TEST_SINK_VERSION_1 = "2.4";
53 const std::string TEST_SINK_VERSION_2 = "2.0";
54 const std::string TEST_SINK_VERSION_3 = "2.0";
55 const std::string TEST_DH_VERSION = "3.1";
56 const std::string TEST_COMPONENT_NAME_1 = "distributed_camera";
57 const std::string TEST_COMPONENT_NAME_2 = "distributed_audio";
58 const std::string TEST_COMPONENT_NAME_3 = "distributed_mic";
59 }
60 
61 /**
62  * @tc.name: version_manager_test_001
63  * @tc.desc: Verify the Init function.
64  * @tc.type: FUNC
65  * @tc.require: AR000GHSKN
66  */
67 HWTEST_F(VersionManagerTest, version_manager_test_001, TestSize.Level0)
68 {
69     auto ret = VersionManager::GetInstance().Init();
70     EXPECT_EQ(DH_FWK_SUCCESS, ret);
71 }
72 
CompVersionGetValue(CompVersion & cVs,std::string name,DHType dhType,std::string handlerVersion,std::string sourceVersion,std::string sinkVersion)73 void CompVersionGetValue(CompVersion &cVs, std::string name, DHType dhType, std::string handlerVersion,
74     std::string sourceVersion, std::string sinkVersion)
75 {
76     cVs.name = name;
77     cVs.dhType = dhType;
78     cVs.handlerVersion = handlerVersion;
79     cVs.sourceVersion = sourceVersion;
80     cVs.sinkVersion = sinkVersion;
81 }
82 
83 /**
84  * @tc.name: version_manager_test_002
85  * @tc.desc: Verify AddDHVersion function
86  * @tc.type: FUNC
87  * @tc.require: AR000GHSKN
88  */
89 HWTEST_F(VersionManagerTest, version_manager_test_002, TestSize.Level0)
90 {
91     DHVersion dhVersion;
92     CompVersion cVs1;
93     CompVersionGetValue(cVs1, TEST_COMPONENT_NAME_1, DHType::CAMERA, TEST_HANDLER_VERSION_1, TEST_SOURCE_VERSION_1,
94         TEST_SINK_VERSION_1);
95     CompVersion cVs2;
96     CompVersionGetValue(cVs2, TEST_COMPONENT_NAME_2, DHType::AUDIO, TEST_HANDLER_VERSION_2, TEST_SOURCE_VERSION_2,
97         TEST_SINK_VERSION_2);
98     CompVersion cVs3;
99     CompVersionGetValue(cVs3, TEST_COMPONENT_NAME_3, DHType::SCREEN, TEST_HANDLER_VERSION_3, TEST_SOURCE_VERSION_3,
100         TEST_SINK_VERSION_3);
101     dhVersion.uuid = TEST_DEVICE_ID_1;
102     dhVersion.dhVersion = TEST_DH_VERSION;
103     dhVersion.compVersions.insert(std::make_pair(cVs1.dhType, cVs1));
104     dhVersion.compVersions.insert(std::make_pair(cVs2.dhType, cVs2));
105     dhVersion.compVersions.insert(std::make_pair(cVs3.dhType, cVs3));
106     int32_t ret = VersionManager::GetInstance().AddDHVersion(dhVersion.uuid, dhVersion);
107     EXPECT_EQ(DH_FWK_SUCCESS, ret);
108     dhVersion.uuid = TEST_DEVICE_ID_2;
109     ret = VersionManager::GetInstance().AddDHVersion(dhVersion.uuid, dhVersion);
110     EXPECT_EQ(DH_FWK_SUCCESS, ret);
111 }
112 
113 /**
114  * @tc.name: version_manager_test_003
115  * @tc.desc: Verify GetLocalDeviceVersion function
116  * @tc.type: FUNC
117  * @tc.require: AR000GHSKN
118  */
119 HWTEST_F(VersionManagerTest, version_manager_test_003, TestSize.Level0)
120 {
121     std::string strVersion = VersionManager::GetInstance().GetLocalDeviceVersion();
122     EXPECT_EQ(DH_LOCAL_VERSION, strVersion);
123 }
124 
125 /**
126  * @tc.name: version_manager_test_004
127  * @tc.desc: Verify GetDHVersion function
128  * @tc.type: FUNC
129  * @tc.require: AR000GHSKN
130  */
131 HWTEST_F(VersionManagerTest, version_manager_test_004, TestSize.Level0)
132 {
133     DHVersion dhVersion;
134     int32_t ret = VersionManager::GetInstance().GetDHVersion(TEST_DEVICE_ID_2, dhVersion);
135     EXPECT_EQ(DH_FWK_SUCCESS, ret);
136     EXPECT_EQ(TEST_HANDLER_VERSION_2, dhVersion.compVersions[DHType::AUDIO].handlerVersion);
137     EXPECT_EQ(TEST_DH_VERSION, dhVersion.dhVersion);
138     ret = VersionManager::GetInstance().GetDHVersion(TEST_DEVICE_ID_3, dhVersion);
139     EXPECT_EQ(ERR_DH_FWK_VERSION_DEVICE_ID_NOT_EXIST, ret);
140 }
141 
142 /**
143  * @tc.name: version_manager_test_005
144  * @tc.desc: Verify RemoveDHVersion function
145  * @tc.type: FUNC
146  * @tc.require: AR000GHSKN
147  */
148 HWTEST_F(VersionManagerTest, version_manager_test_005, TestSize.Level0)
149 {
150     int32_t ret = VersionManager::GetInstance().RemoveDHVersion(TEST_DEVICE_ID_2);
151     EXPECT_EQ(DH_FWK_SUCCESS, ret);
152     ret = VersionManager::GetInstance().RemoveDHVersion(TEST_DEVICE_ID_4);
153     EXPECT_EQ(ERR_DH_FWK_VERSION_DEVICE_ID_NOT_EXIST, ret);
154     ret = VersionManager::GetInstance().RemoveDHVersion(TEST_DEVICE_ID_2);
155     EXPECT_EQ(ERR_DH_FWK_VERSION_DEVICE_ID_NOT_EXIST, ret);
156     ret = VersionManager::GetInstance().RemoveDHVersion(TEST_DEVICE_ID_1);
157     EXPECT_EQ(DH_FWK_SUCCESS, ret);
158 }
159 
160 /**
161  * @tc.name: version_manager_test_006
162  * @tc.desc: Verify GetCompVersion function
163  * @tc.type: FUNC
164  * @tc.require: AR000GHSKN
165  */
166 HWTEST_F(VersionManagerTest, version_manager_test_006, TestSize.Level0)
167 {
168     DHVersion dhVersion;
169     CompVersion cVs1;
170     CompVersionGetValue(cVs1, TEST_COMPONENT_NAME_1, DHType::CAMERA, TEST_HANDLER_VERSION_1, TEST_SOURCE_VERSION_1,
171         TEST_SINK_VERSION_1);
172     dhVersion.uuid = TEST_DEVICE_ID_1;
173     dhVersion.dhVersion = TEST_DH_VERSION;
174     dhVersion.compVersions.insert(std::make_pair(cVs1.dhType, cVs1));
175     int32_t ret = VersionManager::GetInstance().AddDHVersion(dhVersion.uuid, dhVersion);
176     EXPECT_EQ(DH_FWK_SUCCESS, ret);
177     ret = VersionManager::GetInstance().GetCompVersion(TEST_DEVICE_ID_1, DHType::CAMERA, cVs1);
178     EXPECT_EQ(DH_FWK_SUCCESS, ret);
179 }
180 
181 /**
182  * @tc.name: version_manager_test_007
183  * @tc.desc: Verify GetCompVersion function
184  * @tc.type: FUNC
185  * @tc.require: AR000GHSKN
186  */
187 HWTEST_F(VersionManagerTest, version_manager_test_007, TestSize.Level0)
188 {
189     DHVersion dhVersion;
190     CompVersion cVs1;
191     CompVersionGetValue(cVs1, TEST_COMPONENT_NAME_1, DHType::CAMERA, TEST_HANDLER_VERSION_1, TEST_SOURCE_VERSION_1,
192         TEST_SINK_VERSION_1);
193     dhVersion.uuid = TEST_DEVICE_ID_1;
194     dhVersion.dhVersion = TEST_DH_VERSION;
195     dhVersion.compVersions.insert(std::make_pair(cVs1.dhType, cVs1));
196     int32_t ret = VersionManager::GetInstance().AddDHVersion(dhVersion.uuid, dhVersion);
197     EXPECT_EQ(DH_FWK_SUCCESS, ret);
198     ret = VersionManager::GetInstance().GetCompVersion(TEST_DEVICE_ID_1, DHType::AUDIO, cVs1);
199     EXPECT_EQ(ERR_DH_FWK_TYPE_NOT_EXIST, ret);
200 }
201 
202 /**
203  * @tc.name: version_manager_test_008
204  * @tc.desc: Verify the Init function.
205  * @tc.type: FUNC
206  * @tc.require: AR000GHSKN
207  */
208 HWTEST_F(VersionManagerTest, version_manager_test_008, TestSize.Level0)
209 {
210     ComponentLoader::GetInstance().isLocalVersionInit_.store(false);
211     int32_t ret = VersionManager::GetInstance().Init();
212     EXPECT_EQ(ERR_DH_FWK_LOADER_GET_LOCAL_VERSION_FAIL, ret);
213 }
214 } // namespace DistributedHardware
215 } // namespace OHOS
216