• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2024 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 #define private public
17 #define protected public
18 
19 #include <gtest/gtest.h>
20 
21 #include "device.h"
22 #include "device_manager.h"
23 #include "fi_log.h"
24 
25 #undef LOG_TAG
26 #define LOG_TAG "DeviceTest"
27 
28 namespace OHOS {
29 namespace Msdp {
30 namespace DeviceStatus {
31 using namespace testing::ext;
32 
33 DeviceManager devmg_;
34 const std::string devNode_ = { "event0" };
35 const std::string devPath_ = { "/dev/input/event0" };
36 constexpr int32_t INDEX_TWO { 2 };
37 constexpr int32_t INDEX_THREE { 3 };
38 constexpr int32_t INDEX_NINE { 9 };
39 constexpr int32_t INDEX_TWELVE { 12 };
40 constexpr int32_t INDEX_TWENTY_THREE { 23 };
41 constexpr int32_t NUM_ONE { 1 };
42 constexpr int32_t NUM_SIXTY_FOUR { 64 };
43 constexpr int32_t NUM_HUNDRED_TWENTY_EIGHT { 128 };
44 constexpr int32_t NUM_THIRTY_TWO { 32 };
45 constexpr int32_t NUM_TWO { 2 };
46 int32_t deviceId_ = devmg_.ParseDeviceId(devNode_);
47 
48 class DeviceTest : public testing::Test {
49 public:
SetUpTestCase()50     static void SetUpTestCase() {};
TearDownTestCase()51     static void TearDownTestCase() {};
SetUp()52     void SetUp() {};
TearDown()53     void TearDown() {};
54 };
55 
56 /**
57  * @tc.name: OpenTest001
58  * @tc.desc: Test func named open device
59  * @tc.type: FUNC
60  */
61 HWTEST_F(DeviceTest, OpenTest001, TestSize.Level0)
62 {
63     CALL_TEST_DEBUG;
64     int32_t deviceId = devmg_.ParseDeviceId(devNode_);
65     Device *dev = new Device(deviceId);
66     CHKPV(dev);
67     dev->SetDevPath(devPath_);
68     int32_t ret = dev->Open();
69     EXPECT_EQ(ret, RET_OK);
70     dev->Close();
71     delete dev;
72     dev = nullptr;
73 }
74 
75 /**
76  * @tc.name: OpenTest002
77  * @tc.desc: Test func named open device
78  * @tc.type: FUNC
79  */
80 HWTEST_F(DeviceTest, OpenTest002, TestSize.Level0)
81 {
82     CALL_TEST_DEBUG;
83     int32_t deviceId = devmg_.ParseDeviceId(devNode_);
84     Device *dev = new Device(deviceId);
85     CHKPV(dev);
86     int32_t ret = dev->Open();
87     EXPECT_EQ(ret, RET_ERR);
88     delete dev;
89     dev = nullptr;
90 }
91 
92 /**
93  * @tc.name: CloseTest001
94  * @tc.desc: Test func named close device
95  * @tc.type: FUNC
96  */
97 HWTEST_F(DeviceTest, CloseTest001, TestSize.Level0)
98 {
99     CALL_TEST_DEBUG;
100     int32_t deviceId = devmg_.ParseDeviceId(devNode_);
101     Device *dev = new Device(deviceId);
102     CHKPV(dev);
103     ASSERT_NO_FATAL_FAILURE(dev->Close());
104     delete dev;
105     dev = nullptr;
106 }
107 
108 /**
109  * @tc.name: QueryDeviceInfoTest001
110  * @tc.desc: Test func named QueryDeviceInfo
111  * @tc.type: FUNC
112  */
113 HWTEST_F(DeviceTest, QueryDeviceInfoTest001, TestSize.Level0)
114 {
115     CALL_TEST_DEBUG;
116     int32_t deviceId = devmg_.ParseDeviceId(devNode_);
117     Device *dev = new Device(deviceId);
118     CHKPV(dev);
119     ASSERT_NO_FATAL_FAILURE(dev->QueryDeviceInfo());
120     delete dev;
121     dev = nullptr;
122 }
123 
124 /**
125  * @tc.name: CheckAbsTest001
126  * @tc.desc: Test func named CheckAbs
127  * @tc.type: FUNC
128  */
129 HWTEST_F(DeviceTest, CheckAbsTest001, TestSize.Level0)
130 {
131     CALL_TEST_DEBUG;
132     int32_t deviceId = devmg_.ParseDeviceId(devNode_);
133     Device *dev = new Device(deviceId);
134     CHKPV(dev);
135     ASSERT_NO_FATAL_FAILURE(dev->CheckAbs());
136     delete dev;
137     dev = nullptr;
138 }
139 
140 /**
141  * @tc.name: CheckMtTest001
142  * @tc.desc: Test func named CheckMt
143  * @tc.type: FUNC
144  */
145 HWTEST_F(DeviceTest, CheckMtTest001, TestSize.Level0)
146 {
147     CALL_TEST_DEBUG;
148     int32_t deviceId = devmg_.ParseDeviceId(devNode_);
149     Device *dev = new Device(deviceId);
150     CHKPV(dev);
151     ASSERT_NO_FATAL_FAILURE(dev->CheckMt());
152     delete dev;
153     dev = nullptr;
154 }
155 
156 /**
157  * @tc.name: ReadConfigFileTest001
158  * @tc.desc: Test func named ReadConfigFile
159  * @tc.type: FUNC
160  */
161 HWTEST_F(DeviceTest, ReadConfigFileTest001, TestSize.Level0)
162 {
163     CALL_TEST_DEBUG;
164     const std::string filePath = { "/system/etc/device_status/drag_icon/Copy_Drag.svg" };
165     int32_t deviceId = devmg_.ParseDeviceId(devNode_);
166     Device *dev = new Device(deviceId);
167     CHKPV(dev);
168     int32_t ret = dev->ReadConfigFile(filePath);
169     EXPECT_EQ(ret, RET_ERR);
170     delete dev;
171     dev = nullptr;
172 }
173 
174 /**
175  * @tc.name: ReadConfigFileTest002
176  * @tc.desc: Test func named ReadConfigFile
177  * @tc.type: FUNC
178  */
179 HWTEST_F(DeviceTest, ReadConfigFileTest002, TestSize.Level0)
180 {
181     CALL_TEST_DEBUG;
182     const std::string filePath = "";
183     int32_t deviceId = devmg_.ParseDeviceId(devNode_);
184     Device *dev = new Device(deviceId);
185     CHKPV(dev);
186     int32_t ret = dev->ReadConfigFile(filePath);
187     EXPECT_EQ(ret, RET_ERR);
188     delete dev;
189     dev = nullptr;
190 }
191 
192 /**
193  * @tc.name: ConfigItemSwitchTest001
194  * @tc.desc: Test func named ConfigItemSwitch
195  * @tc.type: FUNC
196  */
197 HWTEST_F(DeviceTest, ConfigItemSwitchTest001, TestSize.Level0)
198 {
199     CALL_TEST_DEBUG;
200     std::string configItem = "123456";
201     std::string value = "123456";
202     int32_t deviceId = devmg_.ParseDeviceId(devNode_);
203     Device *dev = new Device(deviceId);
204     CHKPV(dev);
205     int32_t ret = dev->ConfigItemSwitch(configItem, value);
206     EXPECT_EQ(ret, RET_OK);
207     delete dev;
208     dev = nullptr;
209 }
210 
211 /**
212  * @tc.name: ConfigItemSwitchTest002
213  * @tc.desc: Test func named ConfigItemSwitch
214  * @tc.type: FUNC
215  */
216 HWTEST_F(DeviceTest, ConfigItemSwitchTest002, TestSize.Level0)
217 {
218     CALL_TEST_DEBUG;
219     std::string configItem = "";
220     std::string value = "123456";
221     int32_t deviceId = devmg_.ParseDeviceId(devNode_);
222     Device *dev = new Device(deviceId);
223     CHKPV(dev);
224     int32_t ret = dev->ConfigItemSwitch(configItem, value);
225     EXPECT_EQ(ret, RET_ERR);
226     delete dev;
227     dev = nullptr;
228 }
229 
230 /**
231  * @tc.name: ConfigItemSwitchTest003
232  * @tc.desc: Test func named ConfigItemSwitch
233  * @tc.type: FUNC
234  */
235 HWTEST_F(DeviceTest, ConfigItemSwitchTest003, TestSize.Level0)
236 {
237     CALL_TEST_DEBUG;
238     std::string configItem = "1234567";
239     std::string value = "";
240     int32_t deviceId = devmg_.ParseDeviceId(devNode_);
241     Device *dev = new Device(deviceId);
242     CHKPV(dev);
243     int32_t ret = dev->ConfigItemSwitch(configItem, value);
244     EXPECT_EQ(ret, RET_ERR);
245     delete dev;
246     dev = nullptr;
247 }
248 
249 /**
250  * @tc.name: ReadTomlFileTest001
251  * @tc.desc: Test func named ReadTomlFile
252  * @tc.type: FUNC
253  */
254 HWTEST_F(DeviceTest, ReadTomlFileTest001, TestSize.Level0)
255 {
256     CALL_TEST_DEBUG;
257     const std::string filePath = { "/system/etc/device_status/drag_icon/Copy_Drag.svg" };
258     int32_t deviceId = devmg_.ParseDeviceId(devNode_);
259     Device *dev = new Device(deviceId);
260     CHKPV(dev);
261     int32_t ret = dev->ReadTomlFile(filePath);
262     EXPECT_EQ(ret, RET_ERR);
263     delete dev;
264     dev = nullptr;
265 }
266 
267 /**
268  * @tc.name: HasRelCoordTest001
269  * @tc.desc: Test func named HasRelCoord
270  * @tc.type: FUNC
271  */
272 HWTEST_F(DeviceTest, HasRelCoordTest001, TestSize.Level0)
273 {
274     CALL_TEST_DEBUG;
275     int32_t deviceId = devmg_.ParseDeviceId(devNode_);
276     Device *dev = new Device(deviceId);
277     CHKPV(dev);
278     bool ret = dev->HasRelCoord();
279     EXPECT_EQ(ret, false);
280     delete dev;
281     dev = nullptr;
282 }
283 
284 /**
285  * @tc.name: DispatchTest001
286  * @tc.desc: Test func named Dispatch
287  * @tc.type: FUNC
288  */
289 HWTEST_F(DeviceTest, DispatchTest001, TestSize.Level0)
290 {
291     CALL_TEST_DEBUG;
292     const struct epoll_event ev {};
293     int32_t deviceId = devmg_.ParseDeviceId(devNode_);
294     Device *dev = new Device(deviceId);
295     CHKPV(dev);
296     ASSERT_NO_FATAL_FAILURE(dev->Dispatch(ev));
297     delete dev;
298     dev = nullptr;
299 }
300 
301 /**
302  * @tc.name: JudgeKeyboardTypeTest001
303  * @tc.desc: Test func named JudgeKeyboardType
304  * @tc.type: FUNC
305  */
306 HWTEST_F(DeviceTest, JudgeKeyboardTypeTest001, TestSize.Level0)
307 {
308     CALL_TEST_DEBUG;
309     Device dev(deviceId_);
310     dev.keyBitmask_[INDEX_TWO] = NUM_ONE;
311     ASSERT_NO_FATAL_FAILURE(dev.JudgeKeyboardType());
312 }
313 
314 /**
315  * @tc.name: JudgeKeyboardTypeTest002
316  * @tc.desc: Test func named JudgeKeyboardType
317  * @tc.type: FUNC
318  */
319 HWTEST_F(DeviceTest, JudgeKeyboardTypeTest002, TestSize.Level0)
320 {
321     CALL_TEST_DEBUG;
322     Device dev(deviceId_);
323     dev.keyBitmask_[INDEX_TWELVE] = NUM_SIXTY_FOUR;
324     dev.bus_ = BUS_BLUETOOTH;
325     ASSERT_NO_FATAL_FAILURE(dev.JudgeKeyboardType());
326 }
327 
328 /**
329  * @tc.name: JudgeKeyboardTypeTest003
330  * @tc.desc: Test func named JudgeKeyboardType
331  * @tc.type: FUNC
332  */
333 HWTEST_F(DeviceTest, JudgeKeyboardTypeTest003, TestSize.Level0)
334 {
335     CALL_TEST_DEBUG;
336     Device dev(deviceId_);
337     dev.keyBitmask_[INDEX_NINE] = NUM_HUNDRED_TWENTY_EIGHT;
338     ASSERT_NO_FATAL_FAILURE(dev.JudgeKeyboardType());
339 }
340 
341 /**
342  * @tc.name: JudgeKeyboardTypeTest004
343  * @tc.desc: Test func named JudgeKeyboardType
344  * @tc.type: FUNC
345  */
346 HWTEST_F(DeviceTest, JudgeKeyboardTypeTest004, TestSize.Level0)
347 {
348     CALL_TEST_DEBUG;
349     Device dev(deviceId_);
350     dev.keyBitmask_[INDEX_THREE] = NUM_THIRTY_TWO;
351     ASSERT_NO_FATAL_FAILURE(dev.JudgeKeyboardType());
352 }
353 
354 /**
355  * @tc.name: JudgeKeyboardTypeTest005
356  * @tc.desc: Test func named JudgeKeyboardType
357  * @tc.type: FUNC
358  */
359 HWTEST_F(DeviceTest, JudgeKeyboardTypeTest005, TestSize.Level0)
360 {
361     CALL_TEST_DEBUG;
362     Device dev(deviceId_);
363     dev.keyBitmask_[INDEX_THREE] = NUM_THIRTY_TWO;
364     dev.keyBitmask_[INDEX_TWELVE] = NUM_TWO;
365     ASSERT_NO_FATAL_FAILURE(dev.JudgeKeyboardType());
366 }
367 
368 /**
369  * @tc.name: JudgeKeyboardTypeTest006
370  * @tc.desc: Test func named JudgeKeyboardType
371  * @tc.type: FUNC
372  */
373 HWTEST_F(DeviceTest, JudgeKeyboardTypeTest006, TestSize.Level0)
374 {
375     CALL_TEST_DEBUG;
376     Device dev(deviceId_);
377     dev.keyBitmask_[INDEX_THREE] = NUM_THIRTY_TWO;
378     dev.keyBitmask_[INDEX_TWELVE] = NUM_TWO;
379     dev.keyBitmask_[INDEX_TWENTY_THREE] = NUM_SIXTY_FOUR;
380     ASSERT_NO_FATAL_FAILURE(dev.JudgeKeyboardType());
381 }
382 } // namespace DeviceStatus
383 } // namespace Msdp
384 } // namespace OHOS