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