• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-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 "softbus_adapter_test.h"
17 
18 #include "mock_softbus_adapter.h"
19 #include "softbus_error_code.h"
20 #include "dtbschedmgr_log.h"
21 #include "test_log.h"
22 
23 using namespace testing;
24 using namespace testing::ext;
25 
26 namespace OHOS {
27 namespace DistributedSchedule {
28 
29 static int32_t g_mockRet = 0;
30 namespace {
31 const std::string NETWORKID_01 = "networkId01";
32 constexpr int32_t RETRY_SENT_EVENT_MAX_TIME = 3;
33 const int32_t WAITTIME = 2000;
34 }
35 
SetUpTestCase()36 void SoftbusAdapterTest::SetUpTestCase()
37 {
38     DTEST_LOG << "SoftbusAdapterTest::SetUpTestCase" << std::endl;
39 }
40 
TearDownTestCase()41 void SoftbusAdapterTest::TearDownTestCase()
42 {
43     DTEST_LOG << "SoftbusAdapterTest::TearDownTestCase" << std::endl;
44 }
45 
TearDown()46 void SoftbusAdapterTest::TearDown()
47 {
48     DTEST_LOG << "SoftbusAdapterTest::TearDown" << std::endl;
49 }
50 
SetUp()51 void SoftbusAdapterTest::SetUp()
52 {
53     DTEST_LOG << "SoftbusAdapterTest::SetUp" << std::endl;
54 }
55 
SendEvent(bool screenOff,uint8_t * data,size_t dataLen)56 static int32_t SendEvent(bool screenOff, uint8_t *data, size_t dataLen)
57 {
58     return g_mockRet;
59 }
60 
StopEvent()61 static int32_t StopEvent()
62 {
63     return g_mockRet;
64 }
65 
RegisterEventListener(bool deduplicate,void * onBroadCastRecvFunc)66 static int32_t RegisterEventListener(bool deduplicate, void *onBroadCastRecvFunc)
67 {
68     return g_mockRet;
69 }
70 
UnregisterEventListener(bool deduplicate,void * onBroadCastRecvFunc)71 static int32_t UnregisterEventListener(bool deduplicate, void *onBroadCastRecvFunc)
72 {
73     return g_mockRet;
74 }
75 
76 /**
77  * @tc.name: SendSoftbusEvent_001
78  * @tc.desc: call SendSoftbusEvent from distributedsched
79  * @tc.type: FUNC
80  */
81 HWTEST_F(SoftbusAdapterTest, SendSoftbusEvent_001, TestSize.Level3)
82 {
83     DTEST_LOG << "SoftbusAdapterTest SendSoftbusEvent_001 begin" << std::endl;
84     size_t sendDataLen = 1;
85     std::shared_ptr<DSchedDataBuffer> buffer = std::make_shared<DSchedDataBuffer>(sendDataLen);
86     SoftbusAdapter::GetInstance().eventHandler_ = nullptr;
87     int32_t result = SoftbusAdapter::GetInstance().SendSoftbusEvent(buffer);
88     EXPECT_EQ(result, SOFTBUS_OK);
89 
90     SoftbusAdapter::GetInstance().Init();
91     usleep(WAITTIME);
92     result = SoftbusAdapter::GetInstance().SendSoftbusEvent(buffer);
93     EXPECT_EQ(result, SOFTBUS_OK);
94     SoftbusAdapter::GetInstance().UnInit();
95     DTEST_LOG << "SoftbusAdapterTest SendSoftbusEvent_001 end" << std::endl;
96 }
97 
98 /**
99  * @tc.name: DealSendSoftbusEvent_001
100  * @tc.desc: call DealSendSoftbusEvent
101  * @tc.type: FUNC
102  */
103 HWTEST_F(SoftbusAdapterTest, DealSendSoftbusEvent_001, TestSize.Level3)
104 {
105     DTEST_LOG << "SoftbusAdapterTest DealSendSoftbusEvent_001 begin" << std::endl;
106     size_t sendDataLen = 1;
107     int32_t retry = 0;
108     std::shared_ptr<DSchedDataBuffer> buffer = std::make_shared<DSchedDataBuffer>(sendDataLen);
109     SoftbusAdapter::GetInstance().eventHandler_ = nullptr;
110     int32_t result = SoftbusAdapter::GetInstance().DealSendSoftbusEvent(nullptr, retry);
111     EXPECT_EQ(result, INVALID_PARAMETERS_ERR);
112 
113     SoftbusAdapter::GetInstance().Init();
114     usleep(WAITTIME);
115     result = SoftbusAdapter::GetInstance().DealSendSoftbusEvent(nullptr, retry);
116     EXPECT_EQ(result, INVALID_PARAMETERS_ERR);
117 
118     result = SoftbusAdapter::GetInstance().DealSendSoftbusEvent(buffer, retry);
119     EXPECT_EQ(result, INVALID_PARAMETERS_ERR);
120     SoftbusAdapter::GetInstance().UnInit();
121     DTEST_LOG << "SoftbusAdapterTest DealSendSoftbusEvent_001 end" << std::endl;
122 }
123 
124 /**
125  * @tc.name: RetrySendSoftbusEvent_001
126  * @tc.desc: call RetrySendSoftbusEvent
127  * @tc.type: FUNC
128  */
129 HWTEST_F(SoftbusAdapterTest, RetrySendSoftbusEvent_001, TestSize.Level3)
130 {
131     DTEST_LOG << "SoftbusAdapterTest RetrySendSoftbusEvent_001 begin" << std::endl;
132     size_t sendDataLen = 1;
133     int32_t retry = RETRY_SENT_EVENT_MAX_TIME;
134     std::shared_ptr<DSchedDataBuffer> buffer = std::make_shared<DSchedDataBuffer>(sendDataLen);
135     SoftbusAdapter::GetInstance().eventHandler_ = nullptr;
136     int32_t result = SoftbusAdapter::GetInstance().RetrySendSoftbusEvent(nullptr, retry);
137     EXPECT_EQ(result, INVALID_PARAMETERS_ERR);
138 
139     retry = 0;
140     SoftbusAdapter::GetInstance().eventHandler_ = nullptr;
141     result = SoftbusAdapter::GetInstance().RetrySendSoftbusEvent(buffer, retry);
142     EXPECT_EQ(result, INVALID_PARAMETERS_ERR);
143 
144     SoftbusAdapter::GetInstance().Init();
145     usleep(WAITTIME);
146     result = SoftbusAdapter::GetInstance().RetrySendSoftbusEvent(buffer, retry);
147     EXPECT_EQ(result, ERR_OK);
148     SoftbusAdapter::GetInstance().UnInit();
149     DTEST_LOG << "SoftbusAdapterTest RetrySendSoftbusEvent_001 end" << std::endl;
150 }
151 
152 /**
153  * @tc.name: StopSoftbusEvent_001
154  * @tc.desc: call StopSoftbusEvent from distributedsched
155  * @tc.type: FUNC
156  */
157 HWTEST_F(SoftbusAdapterTest, StopSoftbusEvent_001, TestSize.Level3)
158 {
159     DTEST_LOG << "SoftbusAdapterTest StopSoftbusEvent_001 begin" << std::endl;
160     int32_t result = SoftbusAdapter::GetInstance().StopSoftbusEvent();
161     EXPECT_EQ(result, INVALID_PARAMETERS_ERR);
162     DTEST_LOG << "SoftbusAdapterTest StopSoftbusEvent_001 end" << std::endl;
163 }
164 
165 /**
166  * @tc.name: RegisterSoftbusEventListener_001
167  * @tc.desc: call RegisterSoftbusEventListener from distributedsched
168  * @tc.type: FUNC
169  */
170 HWTEST_F(SoftbusAdapterTest, RegisterSoftbusEventListener_001, TestSize.Level3)
171 {
172     DTEST_LOG << "SoftbusAdapterTest OnBroadCastRecv_001 begin" << std::endl;
173     std::string networkId = NETWORKID_01;
174     uint8_t* sendData = nullptr;
175     uint32_t sendDataLen = 1;
176     SoftbusAdapter::GetInstance().OnBroadCastRecv(networkId, sendData, sendDataLen);
177     DTEST_LOG << "SoftbusAdapterTest OnBroadCastRecv_001 end" << std::endl;
178 
179     DTEST_LOG << "SoftbusAdapterTest RegisterSoftbusEventListener_001 begin" << std::endl;
180     std::shared_ptr<SubSoftbusAdapterListener> listener = std::make_shared<SubSoftbusAdapterListener>();
181     int32_t result = SoftbusAdapter::GetInstance().RegisterSoftbusEventListener(listener);
182     EXPECT_EQ(result, INVALID_PARAMETERS_ERR);
183     DTEST_LOG << "SoftbusAdapterTest RegisterSoftbusEventListener_001 end" << std::endl;
184 }
185 
186 /**
187  * @tc.name: UnregisterSoftbusEventListener_001
188  * @tc.desc: call UnregisterSoftbusEventListener from distributedsched
189  * @tc.type: FUNC
190  */
191 HWTEST_F(SoftbusAdapterTest, UnregisterSoftbusEventListener_001, TestSize.Level3)
192 {
193     DTEST_LOG << "SoftbusAdapterTest UnregisterSoftbusEventListener_001 begin" << std::endl;
194     std::shared_ptr<SubSoftbusAdapterListener> listener = std::make_shared<SubSoftbusAdapterListener>();
195     int32_t result = SoftbusAdapter::GetInstance().UnregisterSoftbusEventListener(listener);
196     EXPECT_EQ(result, INVALID_PARAMETERS_ERR);
197     DTEST_LOG << "SoftbusAdapterTest UnregisterSoftbusEventListener_001 end" << std::endl;
198 }
199 
200 /**
201  * @tc.name: RegisterSoftbusEventListener_002
202  * @tc.desc: call RegisterSoftbusEventListener from distributedsched
203  * @tc.type: FUNC
204  */
205 HWTEST_F(SoftbusAdapterTest, RegisterSoftbusEventListener_002, TestSize.Level3)
206 {
207     DTEST_LOG << "SoftbusAdapterTest RegisterSoftbusEventListener_002 begin" << std::endl;
208     std::shared_ptr<SubSoftbusAdapterListener> listener = nullptr;
209     int32_t result = SoftbusAdapter::GetInstance().RegisterSoftbusEventListener(listener);
210     EXPECT_EQ(result, SOFTBUS_INVALID_PARAM);
211     DTEST_LOG << "SoftbusAdapterTest RegisterSoftbusEventListener_002 end" << std::endl;
212 }
213 
214 /**
215  * @tc.name: RegisterSoftbusEventListener_003
216  * @tc.desc: call RegisterSoftbusEventListener from distributedsched
217  * @tc.type: FUNC
218  */
219 HWTEST_F(SoftbusAdapterTest, RegisterSoftbusEventListener_003, TestSize.Level3)
220 {
221     DTEST_LOG << "SoftbusAdapterTest RegisterSoftbusEventListener_003 begin" << std::endl;
222     std::shared_ptr<SubSoftbusAdapterListener> listener;
223     int32_t result = SoftbusAdapter::GetInstance().RegisterSoftbusEventListener(listener);
224     EXPECT_EQ(result, SOFTBUS_INVALID_PARAM);
225     DTEST_LOG << "SoftbusAdapterTest RegisterSoftbusEventListener_003 end" << std::endl;
226 }
227 
228 /**
229  * @tc.name: RegisterSoftbusEventListener_004
230  * @tc.desc: call RegisterSoftbusEventListener from distributedsched
231  * @tc.type: FUNC
232  */
233 HWTEST_F(SoftbusAdapterTest, RegisterSoftbusEventListener_004, TestSize.Level3)
234 {
235     DTEST_LOG << "SoftbusAdapterTest RegisterSoftbusEventListener_004 begin" << std::endl;
236     std::shared_ptr<SubSoftbusAdapterListener> listener;
237     SoftbusAdapter::GetInstance().pkgName_ = "oh";
238     int32_t result = SoftbusAdapter::GetInstance().RegisterSoftbusEventListener(listener);
239     EXPECT_EQ(result, SOFTBUS_INVALID_PARAM);
240     DTEST_LOG << "SoftbusAdapterTest RegisterSoftbusEventListener_004 end" << std::endl;
241 }
242 
243 /**
244  * @tc.name: UnregisterSoftbusEventListener_002
245  * @tc.desc: call UnregisterSoftbusEventListener from distributedsched
246  * @tc.type: FUNC
247  */
248 HWTEST_F(SoftbusAdapterTest, UnregisterSoftbusEventListener_002, TestSize.Level3)
249 {
250     DTEST_LOG << "SoftbusAdapterTest UnregisterSoftbusEventListener_002 begin" << std::endl;
251     std::shared_ptr<SubSoftbusAdapterListener> listener;
252     int32_t result = SoftbusAdapter::GetInstance().UnregisterSoftbusEventListener(listener);
253     EXPECT_EQ(result, SOFTBUS_INVALID_PARAM);
254     DTEST_LOG << "SoftbusAdapterTest UnregisterSoftbusEventListener_002 end" << std::endl;
255 }
256 
257 #ifdef DMSFWK_INTERACTIVE_ADAPTER
258 /**
259  * @tc.name: UnregisterSoftbusEventListener_003
260  * @tc.desc: call UnregisterSoftbusEventListener
261  * @tc.type: FUNC
262  */
263 HWTEST_F(SoftbusAdapterTest, UnregisterSoftbusEventListener_003, TestSize.Level3)
264 {
265     DTEST_LOG << "SoftbusAdapterTest UnregisterSoftbusEventListener_003 begin" << std::endl;
266     std::shared_ptr<SubSoftbusAdapterListener> listener = std::make_shared<SubSoftbusAdapterListener>();
267     SoftbusAdapter::GetInstance().pkgName_ = "oh";
268     SoftbusAdapter::GetInstance().dmsAdapetr_.SendSoftbusEvent = SendEvent;
269     result = SoftbusAdapter::GetInstance().DealSendSoftbusEvent(buffer, retry);
270     EXPECT_EQ(result, ERR_OK);
271 
272     SoftbusAdapter::GetInstance().dmsAdapetr_.StopSoftbusEvent = StopEvent;
273     result = SoftbusAdapter::GetInstance().StopSoftbusEvent();
274     EXPECT_EQ(result, SOFTBUS_OK);
275 
276     SoftbusAdapter::GetInstance().dmsAdapetr_.RegisterSoftbusEventListener = RegisterEventListener;
277     result = SoftbusAdapter::GetInstance().RegisterSoftbusEventListener(listener);
278     EXPECT_EQ(result, SOFTBUS_OK);
279 
280     SoftbusAdapter::GetInstance().dmsAdapetr_.UnregisterSoftbusEventListener = UnregisterEventListener;
281     int32_t result = SoftbusAdapter::GetInstance().UnregisterSoftbusEventListener(listener);
282     EXPECT_EQ(result, SOFTBUS_OK);
283     DTEST_LOG << "SoftbusAdapterTest UnregisterSoftbusEventListener_003 end" << std::endl;
284 }
285 #endif
286 }
287 }
288