• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2025 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 "connect_manager_test.h"
17 #include "mc_controller_manager.h"
18 
19 #include "../test_log.h"
20 
21 using namespace testing;
22 using namespace testing::ext;
23 
24 namespace OHOS {
25 namespace MechBodyController {
26 namespace {
27     const std::string BASEDIR = "/data/service/el1/public/database/MechBodyController";
28     const int32_t WAITTIME = 2000;
29 }
30 
SetUpTestCase()31 void MechConnectManagerTest::SetUpTestCase()
32 {
33     DTEST_LOG << "MechConnectManagerTest::SetUpTestCase" << std::endl;
34     mkdir(BASEDIR.c_str(), (S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH));
35 }
36 
TearDownTestCase()37 void MechConnectManagerTest::TearDownTestCase()
38 {
39     DTEST_LOG << "MechConnectManagerTest::TearDownTestCase" << std::endl;
40     (void)remove(BASEDIR.c_str());
41 }
42 
TearDown()43 void MechConnectManagerTest::TearDown()
44 {
45     DTEST_LOG << "MechConnectManagerTest::TearDown" << std::endl;
46     usleep(WAITTIME);
47 }
48 
SetUp()49 void MechConnectManagerTest::SetUp()
50 {
51     usleep(WAITTIME);
52     DTEST_LOG << "MechConnectManagerTest::SetUp" << std::endl;
53 }
54 
55 /**
56  * @tc.name: Init_001
57  * @tc.desc: test Init func
58  * @tc.type: FUNC
59  */
60 HWTEST_F(MechConnectManagerTest, Init_001, TestSize.Level3)
61 {
62     DTEST_LOG << "MechConnectManagerTest Init_001 begin" << std::endl;
63     MechConnectManager::GetInstance().Init();
64     int32_t mechId = 0;
65     MechInfo mechInfo;
66     bool ret = MechConnectManager::GetInstance().GetMechBasicInfo(mechId, mechInfo);
67     EXPECT_EQ(ret, false);
68     DTEST_LOG << "MechConnectManagerTest Init_001 end" << std::endl;
69 }
70 
71 /**
72  * @tc.name: UnInit_001
73  * @tc.desc: test UnInit func
74  * @tc.type: FUNC
75  */
76 HWTEST_F(MechConnectManagerTest, UnInit_001, TestSize.Level3)
77 {
78     DTEST_LOG << "MechConnectManagerTest UnInit_001 begin" << std::endl;
79     MechConnectManager::GetInstance().UnInit();
80     int32_t mechId = 0;
81     MechInfo mechInfo;
82     bool ret = MechConnectManager::GetInstance().GetMechBasicInfo(mechId, mechInfo);
83     EXPECT_EQ(ret, false);
84     DTEST_LOG << "MechConnectManagerTest UnInit_001 end" << std::endl;
85 }
86 
87 /**
88  * @tc.name: AddDeviceChangeListener_001
89  * @tc.desc: test AddDeviceChangeListener func
90  * @tc.type: FUNC
91  */
92 HWTEST_F(MechConnectManagerTest, AddDeviceChangeListener_001, TestSize.Level3)
93 {
94     DTEST_LOG << "MechConnectManagerTest AddDeviceChangeListener_001 begin" << std::endl;
95     MechConnectManager::GetInstance().Init();
96     std::shared_ptr<IMechConnectListener> listener = nullptr;
97     int32_t ret = MechConnectManager::GetInstance().AddDeviceChangeListener(listener);
98     EXPECT_EQ(ret, INVALID_PARAMETERS_ERR);
99 
100     std::shared_ptr<IMechConnectListener> listenerSecond = std::make_shared<MechConnectListenerImpl>();
101     ret = MechConnectManager::GetInstance().AddDeviceChangeListener(listenerSecond);
102     EXPECT_EQ(ret, ERR_OK);
103     DTEST_LOG << "MechConnectManagerTest AddDeviceChangeListener_001 end" << std::endl;
104 }
105 
106 /**
107  * @tc.name: RemoveDeviceChangeListener_001
108  * @tc.desc: test RemoveDeviceChangeListener func
109  * @tc.type: FUNC
110  */
111 HWTEST_F(MechConnectManagerTest, RemoveDeviceChangeListener_001, TestSize.Level3)
112 {
113     DTEST_LOG << "MechConnectManagerTest RemoveDeviceChangeListener_001 begin" << std::endl;
114     const std::shared_ptr<IMechConnectListener> listener = nullptr;
115     int32_t ret = MechConnectManager::GetInstance().RemoveDeviceChangeListener(listener);
116     EXPECT_EQ(ret, INVALID_PARAMETERS_ERR);
117 
118     const std::shared_ptr<IMechConnectListener> listenerSecond = std::make_shared<MechConnectListenerImpl>();
119     ret = MechConnectManager::GetInstance().RemoveDeviceChangeListener(listenerSecond);
120     EXPECT_EQ(ret, INVALID_PARAMETERS_ERR);
121     DTEST_LOG << "MechConnectManagerTest RemoveDeviceChangeListener_001 end" << std::endl;
122 }
123 
124 /**
125  * @tc.name: NotifyMechConnectr_001
126  * @tc.desc: test NotifyMechConnectr func
127  * @tc.type: FUNC
128  */
129 HWTEST_F(MechConnectManagerTest, NotifyMechConnectr_001, TestSize.Level3)
130 {
131     DTEST_LOG << "MechConnectManagerTest NotifyMechConnectr_001 begin" << std::endl;
132     const std::shared_ptr<IMechConnectListener> listener = nullptr;
133     MechInfo mechInfo;
134     int32_t ret = MechConnectManager::GetInstance().NotifyMechConnect(mechInfo);
135     EXPECT_EQ(ret, ERR_OK);
136     DTEST_LOG << "MechConnectManagerTest NotifyMechConnectr_001 end" << std::endl;
137 }
138 
139 /**
140  * @tc.name: NotifyMechDosconnect_001
141  * @tc.desc: test NotifyMechDosconnect func
142  * @tc.type: FUNC
143  */
144 HWTEST_F(MechConnectManagerTest, NotifyMechDosconnect_001, TestSize.Level3)
145 {
146     DTEST_LOG << "MechConnectManagerTest NotifyMechDosconnect_001 begin" << std::endl;
147     MechInfo mechInfo;
148     int32_t ret = MechConnectManager::GetInstance().NotifyMechDisconnect(mechInfo);
149     EXPECT_EQ(ret, ERR_OK);
150     DTEST_LOG << "MechConnectManagerTest NotifyMechDosconnect_001 end" << std::endl;
151 }
152 
153 /**
154  * @tc.name: GetMechBasicInfo_001
155  * @tc.desc: test GetMechBasicInfo func
156  * @tc.type: FUNC
157  */
158 HWTEST_F(MechConnectManagerTest, GetMechBasicInfo_001, TestSize.Level3)
159 {
160     DTEST_LOG << "MechConnectManagerTest GetMechBasicInfo_001 begin" << std::endl;
161     int32_t mechId = 0;
162     MechInfo mechInfo;
163     bool ret = MechConnectManager::GetInstance().GetMechBasicInfo(mechId, mechInfo);
164     EXPECT_EQ(ret, false);
165     DTEST_LOG << "MechConnectManagerTest GetMechBasicInfo_001 end" << std::endl;
166 }
167 
168 /**
169  * @tc.name: GetMechBasicInfo_002
170  * @tc.desc: test GetMechBasicInfo func
171  * @tc.type: FUNC
172  */
173 HWTEST_F(MechConnectManagerTest, GetMechBasicInfo_002, TestSize.Level3)
174 {
175     DTEST_LOG << "MechConnectManagerTest GetMechBasicInfo_002 begin" << std::endl;
176     const std::shared_ptr<IMechConnectListener> listener = nullptr;
177     MechInfo mechInfo;
178     MechConnectManager::GetInstance().mechInfos_.insert(mechInfo);
179 
180     int32_t mechId = 0;
181     int32_t ret = MechConnectManager::GetInstance().GetMechBasicInfo(mechId, mechInfo);
182     EXPECT_EQ(ret, true);
183     DTEST_LOG << "MechConnectManagerTest GetMechBasicInfo_002 end" << std::endl;
184 }
185 
186 /**
187  * @tc.name: GetConnectMechList_001
188  * @tc.desc: test GetConnectMechList func
189  * @tc.type: FUNC
190  */
191 HWTEST_F(MechConnectManagerTest, GetConnectMechList_001, TestSize.Level3)
192 {
193     DTEST_LOG << "MechConnectManagerTest GetConnectMechList_001 begin" << std::endl;
194     MechInfo mechInfo;
195     MechConnectManager::GetInstance().mechInfos_.insert(mechInfo);
196 
197     std::set<MechInfo> mechInfos;
198     int32_t ret = MechConnectManager::GetInstance().GetConnectMechList(mechInfos);
199     EXPECT_EQ(ret, true);
200     DTEST_LOG << "MechConnectManagerTest GetConnectMechList_001 end" << std::endl;
201 }
202 
203 /**
204  * @tc.name: NotifyMechState_001
205  * @tc.desc: test NotifyMechState func
206  * @tc.type: FUNC
207  */
208 HWTEST_F(MechConnectManagerTest, NotifyMechState_001, TestSize.Level3)
209 {
210     DTEST_LOG << "MechConnectManagerTest NotifyMechState_001 begin" << std::endl;
211     MechConnectManager& mechConnectManager = MechConnectManager::GetInstance();
212     MechInfo mechInfo;
213     int32_t mechId = 1;
214     bool isconnect = false;
215     mechInfo.mechId = mechId;
216     mechConnectManager.mechInfos_.erase(mechInfo);
217     bool ret = mechConnectManager.NotifyMechState(mechId, isconnect);
218     EXPECT_EQ(ret, false);
219 
220     mechConnectManager.mechInfos_.insert(mechInfo);
221     ret = mechConnectManager.NotifyMechState(mechId, isconnect);
222     EXPECT_EQ(ret, true);
223 
224     isconnect = true;
225     ret = mechConnectManager.NotifyMechState(mechId, isconnect);
226     EXPECT_EQ(ret, true);
227     DTEST_LOG << "MechConnectManagerTest NotifyMechState_001 end" << std::endl;
228 }
229 
230 /**
231  * @tc.name: GetMechState_001
232  * @tc.desc: test GetMechState func
233  * @tc.type: FUNC
234  */
235 HWTEST_F(MechConnectManagerTest, GetMechState_001, TestSize.Level3)
236 {
237     DTEST_LOG << "MechConnectManagerTest GetMechState_001 begin" << std::endl;
238     MechConnectManager& mechConnectManager = MechConnectManager::GetInstance();
239     MechInfo mechInfo;
240     int32_t mechId = 1;
241     mechInfo.mechId = mechId;
242     mechInfo.state = AttachmentState::ATTACHED;
243     mechConnectManager.mechInfos_.erase(mechInfo);
244     bool ret = mechConnectManager.GetMechState(mechId);
245     EXPECT_EQ(ret, false);
246 
247     mechConnectManager.mechInfos_.insert(mechInfo);
248     ret = mechConnectManager.GetMechState(mechId);
249     EXPECT_EQ(ret, true);
250     DTEST_LOG << "MechConnectManagerTest GetMechState_001 end" << std::endl;
251 }
252 }
253 }
254