• 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 "distributed_input_sinktrans_test.h"
17 
18 #include "nlohmann/json.hpp"
19 #include "dinput_errcode.h"
20 #include "distributed_input_sink_manager.h"
21 #include "softbus_permission_check.h"
22 
23 using namespace testing::ext;
24 using namespace OHOS::DistributedHardware::DistributedInput;
25 using namespace std;
26 namespace OHOS {
27 namespace DistributedHardware {
28 namespace DistributedInput {
29 namespace {
30     const int32_t MESSAGE_MAX_SIZE = 46 * 1024;
31     const int32_t SESSIONID = 1;
32     const int32_t INT_DEVID = 1000;
33     const int32_t INT_VECTORDHIDS = 123;
34     const uint32_t INPUTTYPE = static_cast<uint32_t>(DInputDeviceType::ALL);
35     const std::string DEVID = "umkyu1b165e1be98151891erbe8r91ev";
36     const std::string DHID = "Input_1ds56v18e1v21v8v1erv15r1v8r1j1ty8";
37     const std::string SINKID = "networkidc08647073e02e7a78f09473aa122ff57fc81c00";
38     const std::string VECTORDHIDS = "Input_1ds56v18e1v21v8v1erv15r1v8r1j1ty8.Input_145adssphjknnk5877df";
39     const std::string STR_SESSIONID = "100";
40     const std::string STR_INPUTTYPE = "111";
41     const std::string SOFTBUSCMDTYPE = "softbus_cmd_type";
42 }
43 
CheckSrcPermission(const std::string & sinkNetworkId)44 bool SoftBusPermissionCheck::CheckSrcPermission(const std::string &sinkNetworkId)
45 {
46     return true;
47 }
48 
CheckSinkPermission(const AccountInfo & callerAccountInfo)49 bool SoftBusPermissionCheck::CheckSinkPermission(const AccountInfo &callerAccountInfo)
50 {
51     return true;
52 }
53 
SetAccessInfoToSocket(const int32_t sessionId)54 bool SoftBusPermissionCheck::SetAccessInfoToSocket(const int32_t sessionId)
55 {
56     return true;
57 }
TransCallerInfo(SocketAccessInfo * callerInfo,AccountInfo & callerAccountInfo,const std::string & networkId)58 bool SoftBusPermissionCheck::TransCallerInfo(SocketAccessInfo *callerInfo,
59     AccountInfo &callerAccountInfo, const std::string &networkId)
60 {
61     return true;
62 }
63 
FillLocalInfo(SocketAccessInfo * localInfo)64 bool SoftBusPermissionCheck::FillLocalInfo(SocketAccessInfo *localInfo)
65 {
66     return true;
67 }
68 
SetUp()69 void DistributedInputSinkTransTest::SetUp()
70 {
71 }
72 
TearDown()73 void DistributedInputSinkTransTest::TearDown()
74 {
75 }
76 
SetUpTestCase()77 void DistributedInputSinkTransTest::SetUpTestCase()
78 {
79 }
80 
TearDownTestCase()81 void DistributedInputSinkTransTest::TearDownTestCase()
82 {
83 }
84 
85 HWTEST_F(DistributedInputSinkTransTest, Init, testing::ext::TestSize.Level1)
86 {
87     int32_t ret = DistributedInputSinkTransport::GetInstance().Init();
88     EXPECT_EQ(DH_SUCCESS, ret);
89 }
90 
91 HWTEST_F(DistributedInputSinkTransTest, RespPrepareRemoteInput01, testing::ext::TestSize.Level1)
92 {
93     DistributedInputSinkManager sinkMgr(4810, false);
94     std::shared_ptr<DistributedInputSinkManager::DInputSinkListener> statuslistener =
95         std::make_shared<DistributedInputSinkManager::DInputSinkListener>(&sinkMgr);
96     DistributedInputSinkTransport::GetInstance().callback_ = statuslistener;
97 
98     int32_t sessionId = 1;
99     jsonStr1_[DINPUT_SOFTBUS_KEY_CMD_TYPE] = TRANS_SOURCE_MSG_PREPARE;
100     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr1_.dump());
101     jsonStr1_[DINPUT_SOFTBUS_KEY_DEVICE_ID] = INT_DEVID;
102     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr1_.dump());
103 
104     jsonStr8_[DINPUT_SOFTBUS_KEY_CMD_TYPE] = TRANS_SOURCE_MSG_PREPARE_FOR_REL;
105     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr8_.dump());
106     jsonStr8_[DINPUT_SOFTBUS_KEY_DEVICE_ID] = INT_DEVID;;
107     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr8_.dump());
108     jsonStr8_[DINPUT_SOFTBUS_KEY_SESSION_ID] = STR_SESSIONID;
109     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr8_.dump());
110     jsonStr8_[DINPUT_SOFTBUS_KEY_DEVICE_ID] = DEVID;
111     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr8_.dump());
112     sessionId = -1;
113     std::string smsg = "";
114     int32_t ret = DistributedInputSinkTransport::GetInstance().RespPrepareRemoteInput(sessionId, smsg);
115     EXPECT_EQ(ERR_DH_INPUT_SERVER_SINK_TRANSPORT_RESPPREPARE_FAIL, ret);
116 }
117 
118 HWTEST_F(DistributedInputSinkTransTest, RespPrepareRemoteInput02, testing::ext::TestSize.Level1)
119 {
120     int32_t sessionId = 0;
121     std::string smsg = "";
122     int32_t ret = DistributedInputSinkTransport::GetInstance().RespPrepareRemoteInput(sessionId, smsg);
123     EXPECT_EQ(ERR_DH_INPUT_SERVER_SINK_TRANSPORT_RESPPREPARE_FAIL, ret);
124 }
125 
126 HWTEST_F(DistributedInputSinkTransTest, RespPrepareRemoteInput03, testing::ext::TestSize.Level1)
127 {
128     int32_t sessionId = 1;
129     std::string smsg = "";
130     int32_t ret = DistributedInputSinkTransport::GetInstance().RespPrepareRemoteInput(sessionId, smsg);
131     EXPECT_EQ(DH_SUCCESS, ret);
132 }
133 
134 HWTEST_F(DistributedInputSinkTransTest, RespPrepareRemoteInput04, testing::ext::TestSize.Level1)
135 {
136     int32_t sessionId = 1;
137     std::string smsg(MESSAGE_MAX_SIZE, 'a');
138     int32_t ret = DistributedInputSinkTransport::GetInstance().RespPrepareRemoteInput(sessionId, smsg);
139     EXPECT_EQ(ERR_DH_INPUT_SERVER_SINK_TRANSPORT_RESPPREPARE_FAIL, ret);
140 }
141 
142 HWTEST_F(DistributedInputSinkTransTest, RespUnprepareRemoteInput01, testing::ext::TestSize.Level1)
143 {
144     DistributedInputSinkManager sinkMgr(4810, false);
145     std::shared_ptr<DistributedInputSinkManager::DInputSinkListener> statuslistener =
146         std::make_shared<DistributedInputSinkManager::DInputSinkListener>(&sinkMgr);
147     DistributedInputSinkTransport::GetInstance().callback_ = statuslistener;
148     int32_t sessionId = 1;
149     jsonStr2_[DINPUT_SOFTBUS_KEY_CMD_TYPE] = TRANS_SOURCE_MSG_UNPREPARE;
150     jsonStr2_[DINPUT_SOFTBUS_KEY_DEVICE_ID] = INT_DEVID;
151     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr2_.dump());
152 
153     jsonStr2_[DINPUT_SOFTBUS_KEY_DEVICE_ID] = DEVID;
154     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr2_.dump());
155 
156     jsonStr9_[DINPUT_SOFTBUS_KEY_CMD_TYPE] = TRANS_SOURCE_MSG_UNPREPARE_FOR_REL;
157     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr9_.dump());
158     jsonStr9_[DINPUT_SOFTBUS_KEY_DEVICE_ID] = INT_DEVID;
159     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr9_.dump());
160     jsonStr9_[DINPUT_SOFTBUS_KEY_SESSION_ID] = STR_SESSIONID;
161     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr9_.dump());
162 
163     jsonStr9_[DINPUT_SOFTBUS_KEY_DEVICE_ID] = DEVID;
164     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr9_.dump());
165     jsonStr9_[DINPUT_SOFTBUS_KEY_SESSION_ID] = SESSIONID;
166     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr9_.dump());
167     sessionId = -1;
168     std::string smsg = "";
169     int32_t ret = DistributedInputSinkTransport::GetInstance().RespUnprepareRemoteInput(sessionId, smsg);
170     EXPECT_EQ(ERR_DH_INPUT_SERVER_SINK_TRANSPORT_RESPUNPREPARE_FAIL, ret);
171 }
172 
173 HWTEST_F(DistributedInputSinkTransTest, RespUnprepareRemoteInput02, testing::ext::TestSize.Level1)
174 {
175     int32_t sessionId = 0;
176     std::string smsg = "";
177     int32_t ret = DistributedInputSinkTransport::GetInstance().RespUnprepareRemoteInput(sessionId, smsg);
178     EXPECT_EQ(ERR_DH_INPUT_SERVER_SINK_TRANSPORT_RESPUNPREPARE_FAIL, ret);
179 }
180 
181 HWTEST_F(DistributedInputSinkTransTest, RespUnprepareRemoteInput03, testing::ext::TestSize.Level1)
182 {
183     int32_t sessionId = 1;
184     std::string smsg = "";
185     int32_t ret = DistributedInputSinkTransport::GetInstance().RespUnprepareRemoteInput(sessionId, smsg);
186     EXPECT_EQ(DH_SUCCESS, ret);
187 }
188 
189 HWTEST_F(DistributedInputSinkTransTest, RespUnprepareRemoteInput04, testing::ext::TestSize.Level1)
190 {
191     int32_t sessionId = 1;
192     std::string smsg(MESSAGE_MAX_SIZE, 'a');
193     int32_t ret = DistributedInputSinkTransport::GetInstance().RespUnprepareRemoteInput(sessionId, smsg);
194     EXPECT_EQ(ERR_DH_INPUT_SERVER_SINK_TRANSPORT_RESPUNPREPARE_FAIL, ret);
195 }
196 
197 HWTEST_F(DistributedInputSinkTransTest, RespStartRemoteInput01, testing::ext::TestSize.Level1)
198 {
199     DistributedInputSinkManager sinkMgr(4810, false);
200     std::shared_ptr<DistributedInputSinkManager::DInputSinkListener> statuslistener =
201         std::make_shared<DistributedInputSinkManager::DInputSinkListener>(&sinkMgr);
202     DistributedInputSinkTransport::GetInstance().callback_ = statuslistener;
203     int32_t sessionId = 1;
204     jsonStr11_[DINPUT_SOFTBUS_KEY_CMD_TYPE] = TRANS_SOURCE_MSG_START_TYPE_FOR_REL;
205     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr11_.dump());
206     jsonStr11_[DINPUT_SOFTBUS_KEY_DEVICE_ID] = INT_DEVID;
207     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr11_.dump());
208     jsonStr11_[DINPUT_SOFTBUS_KEY_SESSION_ID] = STR_SESSIONID;
209     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr11_.dump());
210     jsonStr11_[DINPUT_SOFTBUS_KEY_INPUT_TYPE] = STR_INPUTTYPE;
211     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr11_.dump());
212 
213     jsonStr11_[DINPUT_SOFTBUS_KEY_DEVICE_ID] = DEVID;
214     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr11_.dump());
215     jsonStr11_[DINPUT_SOFTBUS_KEY_SESSION_ID] = SESSIONID;
216     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr11_.dump());
217     jsonStr11_[DINPUT_SOFTBUS_KEY_INPUT_TYPE] = INPUTTYPE;
218     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr11_.dump());
219 
220     jsonStr10_[DINPUT_SOFTBUS_KEY_CMD_TYPE] = TRANS_SOURCE_MSG_START_DHID_FOR_REL;
221     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr10_.dump());
222     jsonStr10_[DINPUT_SOFTBUS_KEY_DEVICE_ID] = INT_DEVID;
223     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr10_.dump());
224     jsonStr10_[DINPUT_SOFTBUS_KEY_SESSION_ID] = STR_SESSIONID;
225     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr10_.dump());
226     jsonStr10_[DINPUT_SOFTBUS_KEY_VECTOR_DHID] = INT_VECTORDHIDS;
227     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr10_.dump());
228 
229     jsonStr10_[DINPUT_SOFTBUS_KEY_DEVICE_ID] = DEVID;
230     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr10_.dump());
231     jsonStr10_[DINPUT_SOFTBUS_KEY_SESSION_ID] = SESSIONID;
232     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr10_.dump());
233     jsonStr10_[DINPUT_SOFTBUS_KEY_VECTOR_DHID] = VECTORDHIDS;
234     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr10_.dump());
235     sessionId = -1;
236     std::string smsg = "";
237     int32_t ret = DistributedInputSinkTransport::GetInstance().RespStartRemoteInput(sessionId, smsg);
238     EXPECT_EQ(ERR_DH_INPUT_SERVER_SINK_TRANSPORT_RESPSTART_FAIL, ret);
239 }
240 
241 HWTEST_F(DistributedInputSinkTransTest, RespStartRemoteInput02, testing::ext::TestSize.Level1)
242 {
243     int32_t sessionId = 0;
244     std::string smsg = "";
245     int32_t ret = DistributedInputSinkTransport::GetInstance().RespStartRemoteInput(sessionId, smsg);
246     EXPECT_EQ(ERR_DH_INPUT_SERVER_SINK_TRANSPORT_RESPSTART_FAIL, ret);
247 }
248 
249 HWTEST_F(DistributedInputSinkTransTest, RespStartRemoteInput03, testing::ext::TestSize.Level1)
250 {
251     int32_t sessionId = 1;
252     std::string smsg = "";
253     int32_t ret = DistributedInputSinkTransport::GetInstance().RespStartRemoteInput(sessionId, smsg);
254     EXPECT_EQ(DH_SUCCESS, ret);
255 }
256 
257 HWTEST_F(DistributedInputSinkTransTest, RespStartRemoteInput04, testing::ext::TestSize.Level1)
258 {
259     DistributedInputSinkManager sinkMgr(4810, false);
260     std::shared_ptr<DistributedInputSinkManager::DInputSinkListener> statuslistener =
261         std::make_shared<DistributedInputSinkManager::DInputSinkListener>(&sinkMgr);
262     DistributedInputSinkTransport::GetInstance().callback_ = statuslistener;
263     int32_t sessionId = 1;
264     jsonStr6_[DINPUT_SOFTBUS_KEY_CMD_TYPE] = TRANS_SOURCE_MSG_START_DHID;
265     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr6_.dump());
266     jsonStr6_[DINPUT_SOFTBUS_KEY_DEVICE_ID] = INT_DEVID;
267     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr6_.dump());
268     jsonStr6_[DINPUT_SOFTBUS_KEY_VECTOR_DHID] = INT_VECTORDHIDS;
269     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr6_.dump());
270 
271     jsonStr6_[DINPUT_SOFTBUS_KEY_DEVICE_ID] = DEVID;
272     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr6_.dump());
273     jsonStr6_[DINPUT_SOFTBUS_KEY_VECTOR_DHID] = VECTORDHIDS;
274     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr6_.dump());
275     std::string smsg(MESSAGE_MAX_SIZE, 'a');
276     int32_t ret = DistributedInputSinkTransport::GetInstance().RespStartRemoteInput(sessionId, smsg);
277     EXPECT_EQ(ERR_DH_INPUT_SERVER_SINK_TRANSPORT_RESPSTART_FAIL, ret);
278 }
279 
280 HWTEST_F(DistributedInputSinkTransTest, RespStopRemoteInput01, testing::ext::TestSize.Level1)
281 {
282     DistributedInputSinkManager sinkMgr(4810, false);
283     std::shared_ptr<DistributedInputSinkManager::DInputSinkListener> statuslistener =
284         std::make_shared<DistributedInputSinkManager::DInputSinkListener>(&sinkMgr);
285     DistributedInputSinkTransport::GetInstance().callback_ = statuslistener;
286     int32_t sessionId = 1;
287     jsonStr12_[DINPUT_SOFTBUS_KEY_CMD_TYPE] = TRANS_SOURCE_MSG_STOP_TYPE_FOR_REL;
288     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr12_.dump());
289     jsonStr12_[DINPUT_SOFTBUS_KEY_DEVICE_ID] = INT_DEVID;
290     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr12_.dump());
291     jsonStr12_[DINPUT_SOFTBUS_KEY_SESSION_ID] = STR_SESSIONID;
292     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr12_.dump());
293     jsonStr12_[DINPUT_SOFTBUS_KEY_INPUT_TYPE] = STR_INPUTTYPE;
294     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr12_.dump());
295 
296     jsonStr12_[DINPUT_SOFTBUS_KEY_DEVICE_ID] = DEVID;
297     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr12_.dump());
298     jsonStr12_[DINPUT_SOFTBUS_KEY_SESSION_ID] = SESSIONID;
299     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr12_.dump());
300     jsonStr12_[DINPUT_SOFTBUS_KEY_INPUT_TYPE] = INPUTTYPE;
301     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr12_.dump());
302 
303     jsonStr11_[DINPUT_SOFTBUS_KEY_CMD_TYPE] = TRANS_SOURCE_MSG_STOP_DHID_FOR_REL;
304     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr11_.dump());
305     jsonStr11_[DINPUT_SOFTBUS_KEY_DEVICE_ID] = INT_DEVID;
306     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr11_.dump());
307     jsonStr11_[DINPUT_SOFTBUS_KEY_SESSION_ID] = STR_SESSIONID;
308     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr11_.dump());
309     jsonStr11_[DINPUT_SOFTBUS_KEY_VECTOR_DHID] = INT_VECTORDHIDS;
310     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr11_.dump());
311 
312     jsonStr11_[DINPUT_SOFTBUS_KEY_DEVICE_ID] = DEVID;
313     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr11_.dump());
314     jsonStr11_[DINPUT_SOFTBUS_KEY_SESSION_ID] = SESSIONID;
315     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr11_.dump());
316     jsonStr11_[DINPUT_SOFTBUS_KEY_VECTOR_DHID] = VECTORDHIDS;
317     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr11_.dump());
318     sessionId = -1;
319     std::string smsg = "";
320     int32_t ret = DistributedInputSinkTransport::GetInstance().RespStopRemoteInput(sessionId, smsg);
321     EXPECT_EQ(ERR_DH_INPUT_SERVER_SINK_TRANSPORT_RESPSTOP_FAIL, ret);
322 }
323 
324 HWTEST_F(DistributedInputSinkTransTest, RespStopRemoteInput02, testing::ext::TestSize.Level1)
325 {
326     int32_t sessionId = 0;
327     std::string smsg = "";
328     int32_t ret = DistributedInputSinkTransport::GetInstance().RespStopRemoteInput(sessionId, smsg);
329     EXPECT_EQ(ERR_DH_INPUT_SERVER_SINK_TRANSPORT_RESPSTOP_FAIL, ret);
330 }
331 
332 HWTEST_F(DistributedInputSinkTransTest, RespStopRemoteInput03, testing::ext::TestSize.Level1)
333 {
334     int32_t sessionId = 1;
335     std::string smsg = "";
336     int32_t ret = DistributedInputSinkTransport::GetInstance().RespStopRemoteInput(sessionId, smsg);
337     EXPECT_EQ(DH_SUCCESS, ret);
338 }
339 
340 HWTEST_F(DistributedInputSinkTransTest, RespStopRemoteInput04, testing::ext::TestSize.Level1)
341 {
342     DistributedInputSinkManager sinkMgr(4810, false);
343     std::shared_ptr<DistributedInputSinkManager::DInputSinkListener> statuslistener =
344         std::make_shared<DistributedInputSinkManager::DInputSinkListener>(&sinkMgr);
345     DistributedInputSinkTransport::GetInstance().callback_ = statuslistener;
346     int32_t sessionId = 1;
347     jsonStr7_[DINPUT_SOFTBUS_KEY_CMD_TYPE] = TRANS_SOURCE_MSG_STOP_DHID;
348     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr7_.dump());
349     jsonStr7_[DINPUT_SOFTBUS_KEY_DEVICE_ID] = INT_DEVID;
350     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr7_.dump());
351     jsonStr7_[DINPUT_SOFTBUS_KEY_VECTOR_DHID] = INT_VECTORDHIDS;
352     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr7_.dump());
353 
354     jsonStr7_[DINPUT_SOFTBUS_KEY_DEVICE_ID] = DEVID;
355     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr7_.dump());
356     jsonStr7_[DINPUT_SOFTBUS_KEY_VECTOR_DHID] = VECTORDHIDS;
357     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr7_.dump());
358 
359     std::string smsg(MESSAGE_MAX_SIZE, 'a');
360     int32_t ret = DistributedInputSinkTransport::GetInstance().RespStopRemoteInput(sessionId, smsg);
361     EXPECT_EQ(ERR_DH_INPUT_SERVER_SINK_TRANSPORT_RESPSTOP_FAIL, ret);
362 }
363 
364 HWTEST_F(DistributedInputSinkTransTest, GetEventHandler, testing::ext::TestSize.Level1)
365 {
366     std::shared_ptr<OHOS::AppExecFwk::EventHandler> eventHd =
367         DistributedInputSinkTransport::GetInstance().GetEventHandler();
368     EXPECT_NE(nullptr, eventHd);
369 }
370 
371 HWTEST_F(DistributedInputSinkTransTest, StartSwitch01, testing::ext::TestSize.Level1)
372 {
373     int32_t sessionId = 1000;
374     DistributedInputSinkSwitch::GetInstance().AddSession(sessionId);
375     int32_t ret = DistributedInputSinkSwitch::GetInstance().StartSwitch(sessionId);
376     EXPECT_EQ(DH_SUCCESS, ret);
377 }
378 
379 HWTEST_F(DistributedInputSinkTransTest, StartSwitch02, testing::ext::TestSize.Level1)
380 {
381     int32_t sessionId = 1000;
382     DistributedInputSinkSwitch::GetInstance().AddSession(sessionId);
383     int32_t ret = DistributedInputSinkSwitch::GetInstance().StartSwitch(sessionId+10);
384     EXPECT_EQ(ERR_DH_INPUT_SERVER_SINK_START_SWITCH_FAIL, ret);
385 }
386 
387 HWTEST_F(DistributedInputSinkTransTest, StartSwitch03, testing::ext::TestSize.Level1)
388 {
389     DistributedInputSinkSwitch::GetInstance().InitSwitch();
390     int32_t sessionId = 1002;
391     int32_t ret = DistributedInputSinkSwitch::GetInstance().StartSwitch(sessionId);
392     EXPECT_EQ(ERR_DH_INPUT_SERVER_SINK_START_SWITCH_FAIL, ret);
393 }
394 
395 HWTEST_F(DistributedInputSinkTransTest, StopSwitch01, testing::ext::TestSize.Level1)
396 {
397     int32_t sessionId = 1000;
398     SwitchStateData switchStateData {sessionId, true};
399     DistributedInputSinkSwitch::GetInstance().switchVector_.clear();
400     DistributedInputSinkSwitch::GetInstance().StopSwitch(sessionId);
401     DistributedInputSinkSwitch::GetInstance().switchVector_.push_back(switchStateData);
402     DistributedInputSinkSwitch::GetInstance().StopSwitch(sessionId);
403     EXPECT_EQ(false, DistributedInputSinkSwitch::GetInstance().switchVector_[0].switchState);
404     sessionId = 2000;
405     DistributedInputSinkSwitch::GetInstance().StopSwitch(sessionId);
406 }
407 
408 HWTEST_F(DistributedInputSinkTransTest, StopAllSwitch01, testing::ext::TestSize.Level1)
409 {
410     int32_t sessionId = 1000;
411     SwitchStateData switchStateData {sessionId, true};
412     DistributedInputSinkSwitch::GetInstance().switchVector_.push_back(switchStateData);
413     DistributedInputSinkSwitch::GetInstance().StopAllSwitch();
414     EXPECT_EQ(false, DistributedInputSinkSwitch::GetInstance().switchVector_[0].switchState);
415 }
416 
417 HWTEST_F(DistributedInputSinkTransTest, RemoveSession01, testing::ext::TestSize.Level1)
418 {
419     DistributedInputSinkSwitch::GetInstance().switchVector_.clear();
420     int32_t sessionId = 1000;
421     SwitchStateData switchStateData {sessionId, true};
422     DistributedInputSinkSwitch::GetInstance().RemoveSession(sessionId);
423     DistributedInputSinkSwitch::GetInstance().switchVector_.push_back(switchStateData);
424     DistributedInputSinkSwitch::GetInstance().RemoveSession(sessionId);
425     EXPECT_EQ(0, DistributedInputSinkSwitch::GetInstance().switchVector_.size());
426 }
427 
428 HWTEST_F(DistributedInputSinkTransTest, GetAllSessionId, testing::ext::TestSize.Level1)
429 {
430     DistributedInputSinkSwitch::GetInstance().InitSwitch();
431     int32_t sessionId = 1000;
432     DistributedInputSinkSwitch::GetInstance().AddSession(sessionId);
433     DistributedInputSinkSwitch::GetInstance().AddSession(sessionId + 1);
434     DistributedInputSinkSwitch::GetInstance().AddSession(sessionId + 2);
435     std::vector<int32_t> tmpVecSession = DistributedInputSinkSwitch::GetInstance().GetAllSessionId();
436     EXPECT_EQ(3, tmpVecSession.size());
437 }
438 
439 HWTEST_F(DistributedInputSinkTransTest, GetSwitchOpenedSession01, testing::ext::TestSize.Level1)
440 {
441     int32_t sessionId = 1010;
442     DistributedInputSinkSwitch::GetInstance().AddSession(sessionId);
443     DistributedInputSinkSwitch::GetInstance().AddSession(sessionId + 1);
444     DistributedInputSinkSwitch::GetInstance().AddSession(sessionId + 2);
445     int32_t ret = DistributedInputSinkSwitch::GetInstance().GetSwitchOpenedSession();
446     EXPECT_EQ(ERR_DH_INPUT_SERVER_SINK_GET_OPEN_SESSION_FAIL, ret);
447 }
448 
449 HWTEST_F(DistributedInputSinkTransTest, GetSwitchOpenedSession02, testing::ext::TestSize.Level1)
450 {
451     DistributedInputSinkSwitch::GetInstance().switchVector_.clear();
452     int32_t ret = DistributedInputSinkSwitch::GetInstance().GetSwitchOpenedSession();
453     EXPECT_EQ(ERR_DH_INPUT_SERVER_SINK_GET_OPEN_SESSION_FAIL, ret);
454 }
455 
456 HWTEST_F(DistributedInputSinkTransTest, GetSwitchOpenedSession03, testing::ext::TestSize.Level1)
457 {
458     int32_t sessionId = 1013;
459     DistributedInputSinkSwitch::GetInstance().AddSession(sessionId);
460     DistributedInputSinkSwitch::GetInstance().StartSwitch(sessionId);
461     int32_t ret = DistributedInputSinkSwitch::GetInstance().GetSwitchOpenedSession();
462     EXPECT_EQ(sessionId, ret);
463 }
464 
465 HWTEST_F(DistributedInputSinkTransTest, RespLatency01, testing::ext::TestSize.Level1)
466 {
467     int32_t sessionId = 0;
468     std::string smsg = "";
469     int32_t ret = DistributedInputSinkTransport::GetInstance().RespLatency(sessionId, smsg);
470     EXPECT_EQ(ERR_DH_INPUT_SERVER_SINK_TRANSPORT_RESP_LATENCY_FAIL, ret);
471 }
472 
473 HWTEST_F(DistributedInputSinkTransTest, RespLatency02, testing::ext::TestSize.Level1)
474 {
475     DistributedInputSinkManager sinkMgr(4810, false);
476     std::shared_ptr<DistributedInputSinkManager::DInputSinkListener> statuslistener =
477         std::make_shared<DistributedInputSinkManager::DInputSinkListener>(&sinkMgr);
478     DistributedInputSinkTransport::GetInstance().callback_ = statuslistener;
479     int32_t sessionId = 1;
480     jsonStr5_[DINPUT_SOFTBUS_KEY_CMD_TYPE] = TRANS_SOURCE_MSG_LATENCY;
481     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr5_.dump());
482     jsonStr5_[DINPUT_SOFTBUS_KEY_DEVICE_ID] = INT_DEVID;
483     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr5_.dump());
484 
485     jsonStr5_[DINPUT_SOFTBUS_KEY_DEVICE_ID] = DEVID;
486     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, jsonStr5_.dump());
487 
488     std::string message = "";
489     DistributedInputSinkTransport::GetInstance().callback_ = nullptr;
490     DistributedInputSinkTransport::GetInstance().HandleData(sessionId, message);
491     std::string smsg = "";
492     int32_t ret = DistributedInputSinkTransport::GetInstance().RespLatency(sessionId, smsg);
493     EXPECT_EQ(DH_SUCCESS, ret);
494 }
495 
496 HWTEST_F(DistributedInputSinkTransTest, RespLatency03, testing::ext::TestSize.Level1)
497 {
498     int32_t sessionId = 1;
499     std::string smsg(MESSAGE_MAX_SIZE, 'a');
500     int32_t ret = DistributedInputSinkTransport::GetInstance().RespLatency(sessionId, smsg);
501     EXPECT_EQ(ERR_DH_INPUT_SERVER_SINK_TRANSPORT_RESP_LATENCY_FAIL, ret);
502 }
503 
504 HWTEST_F(DistributedInputSinkTransTest, SendMessage_001, testing::ext::TestSize.Level1)
505 {
506     int32_t sessionId = 1;
507     std::string smsg = "qwerzsdgertgdfgbrtyhuert6345634tgadsgfq13451234rfaDSFQ34FQQWEFWQERQWEFQWEFASEFQWERQWERQWER123";
508     int32_t ret = DistributedInputSinkTransport::GetInstance().SendMessage(sessionId, smsg);
509     EXPECT_EQ(DH_SUCCESS, ret);
510 }
511 } // namespace DistributedInput
512 } // namespace DistributedHardware
513 } // namespace OHOS