• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2022 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 "soft_bus_base_socket_test.h"
17 #include "soft_bus_base_socket.h"
18 #include "soft_bus_manager.h"
19 #include "remote_connect_listener_manager.h"
20 
21 #include "gtest/gtest.h"
22 #include "gmock/gmock.h"
23 
24 namespace OHOS {
25 namespace UserIam {
26 namespace UserAuth {
27 using namespace testing;
28 using namespace testing::ext;
29 
SetUpTestCase()30 void SoftBusBaseSocketTest::SetUpTestCase()
31 {
32 }
33 
TearDownTestCase()34 void SoftBusBaseSocketTest::TearDownTestCase()
35 {
36 }
37 
SetUp()38 void SoftBusBaseSocketTest::SetUp()
39 {
40 }
41 
TearDown()42 void SoftBusBaseSocketTest::TearDown()
43 {
44 }
45 
46 class BaseSocketTest : public BaseSocket {
47 public:
48     explicit BaseSocketTest(const int32_t socketId);
49     ~BaseSocketTest();
50     ResultCode SendMessage(const std::string &connectionName, const std::string &srcEndPoint,
51         const std::string &destEndPoint, const std::shared_ptr<Attributes> &attributes, MsgCallback &callback);
52 
53     void OnBind(int32_t socketId, PeerSocketInfo info);
54     void OnShutdown(int32_t socketId, ShutdownReason reason);
55     void OnBytes(int32_t socketId, const void *data, uint32_t dataLen);
56     void OnQos(int32_t socketId, QoSEvent eventId, const QosTV *qos, uint32_t qosCount);
57 
58     std::string GetConnectionName() override;
59     std::string GetNetworkId();
60 };
61 
BaseSocketTest(const int32_t socketId)62 BaseSocketTest::BaseSocketTest(const int32_t socketId)
63     : BaseSocket(socketId)
64 {
65 }
66 
~BaseSocketTest()67 BaseSocketTest::~BaseSocketTest()
68 {
69 }
70 
SendMessage(const std::string & connectionName,const std::string & srcEndPoint,const std::string & destEndPoint,const std::shared_ptr<Attributes> & attributes,MsgCallback & callback)71 ResultCode BaseSocketTest::SendMessage(const std::string &connectionName, const std::string &srcEndPoint,
72     const std::string &destEndPoint, const std::shared_ptr<Attributes> &attributes, MsgCallback &callback)
73 {
74     return SUCCESS;
75 }
76 
OnBind(int32_t socketId,PeerSocketInfo info)77 void BaseSocketTest::OnBind(int32_t socketId, PeerSocketInfo info)
78 {
79     return;
80 }
81 
OnShutdown(int32_t socketId,ShutdownReason reason)82 void BaseSocketTest::OnShutdown(int32_t socketId, ShutdownReason reason)
83 {
84     return;
85 }
86 
OnBytes(int32_t socketId,const void * data,uint32_t dataLen)87 void BaseSocketTest::OnBytes(int32_t socketId, const void *data, uint32_t dataLen)
88 {
89     return;
90 }
91 
OnQos(int32_t socketId,QoSEvent eventId,const QosTV * qos,uint32_t qosCount)92 void BaseSocketTest::OnQos(int32_t socketId, QoSEvent eventId, const QosTV *qos, uint32_t qosCount)
93 {
94     return;
95 }
96 
GetConnectionName()97 std::string BaseSocketTest::GetConnectionName()
98 {
99     return "connectionName";
100 }
101 
GetNetworkId()102 std::string BaseSocketTest::GetNetworkId()
103 {
104     return "networkId";
105 }
106 
107 
108 HWTEST_F(SoftBusBaseSocketTest, SoftBusBaseSocketTestInsertMsgCallback, TestSize.Level0)
109 {
110     int32_t socketId = 1;
111     BaseSocketTest *baseSocket = new BaseSocketTest(socketId);
112     uint32_t messageSeq = 123;
113     const std::string connectionName = "connectionName";
114     MsgCallback callback;
115     uint32_t timerId = 456;
116     EXPECT_NO_THROW(baseSocket->InsertMsgCallback(messageSeq, connectionName, callback, timerId));
117     delete baseSocket;
118 }
119 
120 HWTEST_F(SoftBusBaseSocketTest, SoftBusBaseSocketTestRemoveMsgCallback, TestSize.Level0)
121 {
122     int32_t socketId = 1;
123     BaseSocketTest *baseSocket = new BaseSocketTest(socketId);
124     uint32_t messageSeq = 123;
125     EXPECT_NO_THROW(baseSocket->RemoveMsgCallback(messageSeq));
126     delete baseSocket;
127 }
128 
129 HWTEST_F(SoftBusBaseSocketTest, SoftBusBaseSocketTestGetMsgCallback, TestSize.Level0)
130 {
131     int32_t socketId = 1;
132     BaseSocketTest *baseSocket = new BaseSocketTest(socketId);
133     uint32_t messageSeq = 123;
134     EXPECT_NO_THROW(baseSocket->GetMsgCallback(messageSeq));
135     delete baseSocket;
136 }
137 
138 HWTEST_F(SoftBusBaseSocketTest, SoftBusBaseSocketTestPrintTransferDuration, TestSize.Level0)
139 {
140     int32_t socketId = 1;
141     BaseSocketTest *baseSocket = new BaseSocketTest(socketId);
142     uint32_t messageSeq = 123;
143     EXPECT_NO_THROW(baseSocket->PrintTransferDuration(messageSeq));
144     delete baseSocket;
145 }
146 
147 HWTEST_F(SoftBusBaseSocketTest, SoftBusBaseSocketTestGetReplyTimer, TestSize.Level0)
148 {
149     int32_t socketId = 1;
150     BaseSocketTest *baseSocket = new BaseSocketTest(socketId);
151     uint32_t messageSeq = 123;
152     EXPECT_NO_THROW(baseSocket->GetReplyTimer(messageSeq));
153     delete baseSocket;
154 }
155 
156 HWTEST_F(SoftBusBaseSocketTest, SoftBusBaseSocketTestStartReplyTimer, TestSize.Level0)
157 {
158     int32_t socketId = 1;
159     BaseSocketTest *baseSocket = new BaseSocketTest(socketId);
160     uint32_t messageSeq = 123;
161     EXPECT_NO_THROW(baseSocket->StartReplyTimer(messageSeq));
162     delete baseSocket;
163 }
164 
165 HWTEST_F(SoftBusBaseSocketTest, SoftBusBaseSocketTestStopReplyTimer, TestSize.Level0)
166 {
167     int32_t socketId = 1;
168     BaseSocketTest *baseSocket = new BaseSocketTest(socketId);
169     uint32_t messageSeq = 123;
170     EXPECT_NO_THROW(baseSocket->StopReplyTimer(messageSeq));
171     delete baseSocket;
172 }
173 
174 HWTEST_F(SoftBusBaseSocketTest, SoftBusBaseSocketTestReplyTimerTimeOut, TestSize.Level0)
175 {
176     int32_t socketId = 1;
177     BaseSocketTest *baseSocket = new BaseSocketTest(socketId);
178     uint32_t messageSeq = 123;
179     EXPECT_NO_THROW(baseSocket->ReplyTimerTimeOut(messageSeq));
180     delete baseSocket;
181 }
182 
183 HWTEST_F(SoftBusBaseSocketTest, SoftBusBaseSocketTestSetDeviceNetworkId, TestSize.Level0)
184 {
185     int32_t socketId = 1;
186     BaseSocketTest *baseSocket = new BaseSocketTest(socketId);
187     std::string networkId = "456";
188     std::shared_ptr<Attributes> attributes = Common::MakeShared<Attributes>();
189     ASSERT_NE(attributes, nullptr);
190     EXPECT_NO_THROW(baseSocket->SetDeviceNetworkId(networkId, attributes));
191     delete baseSocket;
192 }
193 
194 HWTEST_F(SoftBusBaseSocketTest, SoftBusBaseSocketTestSendRequest, TestSize.Level0)
195 {
196     int32_t socketId = 1;
197     BaseSocketTest *baseSocket = new BaseSocketTest(socketId);
198     std::string connectionName = "connectionName";
199     std::string srcEndPoint = "123";
200     std::string destEndPoint = "456";
201     std::shared_ptr<Attributes> attributes = Common::MakeShared<Attributes>();
202     ASSERT_NE(attributes, nullptr);
203     attributes->SetInt32Value(Attributes::ATTR_MSG_TYPE, 1);
204     MsgCallback callback;
205     const BaseSocket::ConnectionInfo connectionInfo = {
206         .socketId = socketId,
207         .connectionName = connectionName,
208         .srcEndPoint = srcEndPoint,
209         .destEndPoint = destEndPoint,
210         .attributes = attributes,
211         .callback = callback
212     };
213     EXPECT_EQ(baseSocket->SendRequest(connectionInfo), GENERAL_ERROR);
214     delete baseSocket;
215 }
216 
217 HWTEST_F(SoftBusBaseSocketTest, SoftBusBaseSocketTestSendResponse, TestSize.Level0)
218 {
219     int32_t socketId = 1;
220     BaseSocketTest *baseSocket = new BaseSocketTest(socketId);
221     std::string connectionName = "connectionName";
222     std::string srcEndPoint = "123";
223     std::string destEndPoint = "456";
224     std::shared_ptr<Attributes> attributes = Common::MakeShared<Attributes>();
225     ASSERT_NE(attributes, nullptr);
226     attributes->SetInt32Value(Attributes::ATTR_MSG_TYPE, 1);
227     uint32_t messageSeq = 123;
228     EXPECT_EQ(baseSocket->SendResponse(socketId, connectionName, srcEndPoint, destEndPoint, attributes,
229         messageSeq), GENERAL_ERROR);
230     delete baseSocket;
231 }
232 
233 HWTEST_F(SoftBusBaseSocketTest, SoftBusBaseSocketTestParseMessage_001, TestSize.Level0)
234 {
235     int32_t socketId = 1;
236     BaseSocketTest *baseSocket = new BaseSocketTest(socketId);
237     std::string networkId = "networkId";
238     void *message = nullptr;
239     uint32_t messageLen = 0;
240     std::shared_ptr<SoftBusMessage> result = baseSocket->ParseMessage(networkId, message, messageLen);
241     ASSERT_EQ(result, nullptr);
242     delete baseSocket;
243 }
244 
245 HWTEST_F(SoftBusBaseSocketTest, SoftBusBaseSocketTestParseMessage_002, TestSize.Level0)
246 {
247     int32_t socketId = 1;
248     BaseSocketTest *baseSocket = new BaseSocketTest(socketId);
249     std::string networkId = "networkId";
250     void *message = new char[10];
251     uint32_t messageLen = 0;
252     std::shared_ptr<SoftBusMessage> result = baseSocket->ParseMessage(networkId, message, messageLen);
253     ASSERT_EQ(result, nullptr);
254     delete baseSocket;
255 }
256 
257 HWTEST_F(SoftBusBaseSocketTest, SoftBusBaseSocketTestParseMessage_003, TestSize.Level0)
258 {
259     int32_t socketId = 1;
260     BaseSocketTest *baseSocket = new BaseSocketTest(socketId);
261     std::string networkId = "networkId";
262     void *message = new char[10];
263     uint32_t messageLen = 10;
264     std::shared_ptr<SoftBusMessage> result = baseSocket->ParseMessage(networkId, message, messageLen);
265     ASSERT_EQ(result, nullptr);
266     delete baseSocket;
267 }
268 
269 HWTEST_F(SoftBusBaseSocketTest, SoftBusBaseSocketTestProcessMessage_001, TestSize.Level0)
270 {
271     int32_t socketId = 1;
272     BaseSocketTest *baseSocket = new BaseSocketTest(socketId);
273     std::shared_ptr<SoftBusMessage> softBusMessage = Common::MakeShared<SoftBusMessage>(0, "", "", "", nullptr);
274     std::shared_ptr<Attributes> attributes = Common::MakeShared<Attributes>();
275     ASSERT_NE(attributes, nullptr);
276     EXPECT_NO_THROW(baseSocket->ProcessMessage(softBusMessage, attributes));
277     delete baseSocket;
278 }
279 
280 HWTEST_F(SoftBusBaseSocketTest, SoftBusBaseSocketTestProcDataReceive_001, TestSize.Level0)
281 {
282     int32_t socketId = 1;
283     BaseSocketTest *baseSocket = new BaseSocketTest(socketId);
284     std::shared_ptr<SoftBusMessage> softBusMessage = nullptr;
285     ResultCode result = baseSocket->ProcDataReceive(socketId, softBusMessage);
286     ASSERT_EQ(result, INVALID_PARAMETERS);
287     delete baseSocket;
288 }
289 
290 HWTEST_F(SoftBusBaseSocketTest, SoftBusBaseSocketTestProcDataReceive_002, TestSize.Level0)
291 {
292     int32_t socketId = 1;
293     BaseSocketTest *baseSocket = new BaseSocketTest(socketId);
294     std::shared_ptr<SoftBusMessage> softBusMessage = Common::MakeShared<SoftBusMessage>(0, "", "", "", nullptr);
295     ResultCode result = baseSocket->ProcDataReceive(socketId, softBusMessage);
296     ASSERT_EQ(result, 2);
297     delete baseSocket;
298 }
299 
300 HWTEST_F(SoftBusBaseSocketTest, SoftBusBaseSocketTestProcDataReceive_003, TestSize.Level0)
301 {
302     int32_t socketId = 1;
303     BaseSocketTest *baseSocket = new BaseSocketTest(socketId);
304     std::shared_ptr<SoftBusMessage> softBusMessage = Common::MakeShared<SoftBusMessage>(0, "", "", "", nullptr);
305     softBusMessage->isAck_ = true;
306     ResultCode result = baseSocket->ProcDataReceive(socketId, softBusMessage);
307     ASSERT_EQ(result, 2);
308     delete baseSocket;
309 }
310 
311 
312 HWTEST_F(SoftBusBaseSocketTest, SoftBusBaseSocketTestProcDataReceive_004, TestSize.Level0)
313 {
314     int32_t socketId = 1;
315     BaseSocketTest *baseSocket = new BaseSocketTest(socketId);
316     std::shared_ptr<SoftBusMessage> softBusMessage = Common::MakeShared<SoftBusMessage>(0, "", "", "", nullptr);
317     softBusMessage->isAck_ = true;
318     softBusMessage->CreateMessage(true);
319     ResultCode result = baseSocket->ProcDataReceive(socketId, softBusMessage);
320     ASSERT_EQ(result, 2);
321     delete baseSocket;
322 }
323 
324 HWTEST_F(SoftBusBaseSocketTest, SoftBusBaseSocketTestProcDataReceive_005, TestSize.Level0)
325 {
326     int32_t socketId = 1;
327     BaseSocketTest *baseSocket = new BaseSocketTest(socketId);
328     std::shared_ptr<SoftBusMessage> softBusMessage = Common::MakeShared<SoftBusMessage>(0, "", "", "", nullptr);
329     softBusMessage->isAck_ = true;
330     softBusMessage->CreateMessage(true);
331     ResultCode result = baseSocket->ProcDataReceive(socketId, softBusMessage);
332     ASSERT_EQ(result, 2);
333     delete baseSocket;
334 }
335 
336 HWTEST_F(SoftBusBaseSocketTest, SoftBusBaseSocketTestProcDataReceive_006, TestSize.Level0)
337 {
338     int32_t socketId = 1;
339     BaseSocketTest *baseSocket = new BaseSocketTest(socketId);
340     const std::string connectionName = "connectionName";
341     const std::string srcEndPoint = "srcEndPoint";
342     const std::string destEndPoint = "destEndPoint";
343     std::shared_ptr<Attributes> attributes = Common::MakeShared<Attributes>();
344     ASSERT_NE(attributes, nullptr);
345     attributes->SetInt32Value(Attributes::ATTR_MSG_TYPE, 1);
346     attributes->SetBoolValue(Attributes::ATTR_MSG_ACK, true);
347     std::shared_ptr<SoftBusMessage> softBusMessage = Common::MakeShared<SoftBusMessage>(0, connectionName, srcEndPoint,
348         destEndPoint, attributes);
349     ResultCode result = baseSocket->ProcDataReceive(socketId, softBusMessage);
350     ASSERT_EQ(result, 0);
351     delete baseSocket;
352 }
353 
354 HWTEST_F(SoftBusBaseSocketTest, SoftBusBaseSocketTestProcDataReceive_007, TestSize.Level0)
355 {
356     int32_t socketId = 1;
357     BaseSocketTest *baseSocket = new BaseSocketTest(socketId);
358     const std::string connectionName = "connectionName";
359     const std::string srcEndPoint = "srcEndPoint";
360     const std::string destEndPoint = "destEndPoint";
361     std::shared_ptr<Attributes> attributes = Common::MakeShared<Attributes>();
362     ASSERT_NE(attributes, nullptr);
363     attributes->SetInt32Value(Attributes::ATTR_MSG_TYPE, 1);
364     attributes->SetBoolValue(Attributes::ATTR_MSG_ACK, false);
365     std::shared_ptr<SoftBusMessage> softBusMessage = Common::MakeShared<SoftBusMessage>(0, connectionName, srcEndPoint,
366         destEndPoint, attributes);
367     ResultCode result = baseSocket->ProcDataReceive(socketId, softBusMessage);
368     ASSERT_EQ(result, 0);
369     delete baseSocket;
370 }
371 
372 HWTEST_F(SoftBusBaseSocketTest, SoftBusBaseSocketTestParseMessage_004, TestSize.Level0)
373 {
374     std::shared_ptr<SoftBusMessage> softBusMessage = Common::MakeShared<SoftBusMessage>(0, "", "", "", nullptr);
375     void *message = new char[10];
376     uint32_t messageLen = 0;
377     std::shared_ptr<Attributes> attributes = softBusMessage->ParseMessage(message, messageLen);
378     ASSERT_EQ(attributes, nullptr);
379 }
380 
381 HWTEST_F(SoftBusBaseSocketTest, SoftBusBaseSocketTestParseMessage_005, TestSize.Level0)
382 {
383     std::shared_ptr<SoftBusMessage> softBusMessage = Common::MakeShared<SoftBusMessage>(0, "", "", "", nullptr);
384     void *message = new char[10];
385     uint32_t messageLen = 10;
386     std::shared_ptr<Attributes> attributes = softBusMessage->ParseMessage(message, messageLen);
387     ASSERT_EQ(attributes, nullptr);
388 }
389 } // namespace UserAuth
390 } // namespace UserIam
391 } // namespace OHOS
392