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