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 "UTTest_auth_request_state.h"
17
18 #include "auth_message_processor.h"
19 #include "dm_auth_manager.h"
20 #include "dm_constants.h"
21 #include "device_manager_service_listener.h"
22
23 namespace OHOS {
24 namespace DistributedHardware {
SetUp()25 void AuthRequestStateTest::SetUp()
26 {
27 }
TearDown()28 void AuthRequestStateTest::TearDown()
29 {
30 }
SetUpTestCase()31 void AuthRequestStateTest::SetUpTestCase()
32 {
33 }
TearDownTestCase()34 void AuthRequestStateTest::TearDownTestCase()
35 {
36 }
37
38 namespace {
39 std::shared_ptr<SoftbusConnector> softbusConnector = std::make_shared<SoftbusConnector>();
40 std::shared_ptr<DeviceManagerServiceListener> listener = std::make_shared<DeviceManagerServiceListener>();
41 std::shared_ptr<HiChainConnector> hiChainConnector = std::make_shared<HiChainConnector>();
42 /**
43 * @tc.name: AuthResponseInitState::Leave_001
44 * @tc.desc: 1 set authManager not null
45 * 2 call AuthResponseInitState::Leave with authManager != null
46 * 3 check ret is authResponseState->authManager_.use_count()
47 * @tc.type: FUNC
48 * @tc.require: AR000GHSJK
49 */
50 HWTEST_F(AuthRequestStateTest, Leave_001, testing::ext::TestSize.Level0)
51 {
52 std::shared_ptr<DmAuthManager> authManager =
53 std::make_shared<DmAuthManager>(softbusConnector, listener, hiChainConnector);
54 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestInitState>();
55 int32_t ret = authRequestState->Leave();
56 ASSERT_EQ(ret, DM_OK);
57 }
58
59 /**
60 * @tc.name: AuthRequestInitState::SetAuthContext_001
61 * @tc.desc: 1 set authManager not null
62 * 2 call AuthRequestInitState::SetAuthManager with authManager != null
63 * 3 check ret is authResponseState->authManager_.use_count()
64 * @tc.type: FUNC
65 * @tc.require: AR000GHSJK
66 */
67 HWTEST_F(AuthRequestStateTest, SetAuthContext_001, testing::ext::TestSize.Level0)
68 {
69 std::shared_ptr<DmAuthManager> authManager =
70 std::make_shared<DmAuthManager>(softbusConnector, listener, hiChainConnector);
71 std::shared_ptr<DmAuthRequestContext> context = std::make_shared<DmAuthRequestContext>();
72 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestInitState>();
73 authRequestState->SetAuthContext(context);
74 int32_t ret = authRequestState->context_.use_count();
75 authRequestState->context_.reset();
76 ASSERT_EQ(ret, 2);
77 }
78
79 /**
80 * @tc.name: AuthRequestInitState::SetAuthManager_002
81 * @tc.desc: 1 set authManager to null
82 * 2 call AuthRequestInitState::SetAuthManager with authManager = null
83 * 3 check ret is authResponseState->authManager_.use_count()
84 * @tc.type: FUNC
85 * @tc.require: AR000GHSJK
86 */
87 HWTEST_F(AuthRequestStateTest, SetAuthContext_002, testing::ext::TestSize.Level0)
88 {
89 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestInitState>();
90 authRequestState->SetAuthContext(nullptr);
91 int32_t ret = authRequestState->authManager_.use_count();
92 authRequestState->authManager_.reset();
93 ASSERT_EQ(ret, 0);
94 }
95
96 /**
97 * @tc.name: AuthRequestInitState::GetAuthContext_001
98 * @tc.desc: 1 set authManager not null
99 * 2 call AuthRequestInitState::GetAuthContext with authManager != null
100 * 3 check ret is authResponseState->authManager_.use_count()
101 * @tc.type: FUNC
102 * @tc.require: AR000GHSJK
103 */
104 HWTEST_F(AuthRequestStateTest, GetAuthContext_001, testing::ext::TestSize.Level0)
105 {
106 std::shared_ptr<DmAuthManager> authManager =
107 std::make_shared<DmAuthManager>(softbusConnector, listener, hiChainConnector);
108 std::shared_ptr<DmAuthRequestContext> context = std::make_shared<DmAuthRequestContext>();
109 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestInitState>();
110 authRequestState->GetAuthContext();
111 int32_t ret = authRequestState->context_.use_count();
112 authRequestState->context_.reset();
113 ASSERT_EQ(ret, 0);
114 }
115
116 /**
117 * @tc.name: AuthRequestInitState::SetAuthManager_001
118 * @tc.desc: 1 set authManager not null
119 * 2 call AuthRequestInitState::SetAuthManager with authManager != null
120 * 3 check ret is authResponseState->authManager_.use_count()
121 * @tc.type: FUNC
122 * @tc.require: AR000GHSJK
123 */
124 HWTEST_F(AuthRequestStateTest, SetAuthManager_001, testing::ext::TestSize.Level0)
125 {
126 std::shared_ptr<DmAuthManager> authManager =
127 std::make_shared<DmAuthManager>(softbusConnector, listener, hiChainConnector);
128 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestInitState>();
129 authRequestState->SetAuthManager(authManager);
130 int32_t ret = authRequestState->authManager_.use_count();
131 authRequestState->authManager_.reset();
132 ASSERT_EQ(ret, 1);
133 }
134
135 /**
136 * @tc.name: AuthRequestInitState::SetAuthManager_002
137 * @tc.desc: 1 set authManager to null
138 * 2 call AuthRequestInitState::SetAuthManager with authManager = null
139 * 3 check ret is authResponseState->authManager_.use_count()
140 * @tc.type: FUNC
141 * @tc.require: AR000GHSJK
142 */
143 HWTEST_F(AuthRequestStateTest, SetAuthManager_002, testing::ext::TestSize.Level0)
144 {
145 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestInitState>();
146 authRequestState->SetAuthManager(nullptr);
147 int32_t ret = authRequestState->authManager_.use_count();
148 authRequestState->authManager_.reset();
149 ASSERT_EQ(ret, 0);
150 }
151
152 /**
153 * @tc.name: AuthRequestNegotiateState::TransitionTo_001
154 * @tc.desc: 1 set authManager to null
155 * 2 call AuthRequestInitState::TransitionTo with authManager = null
156 * 4 check ret is ERR_DM_FAILED
157 * @tc.type: FUNC
158 * @tc.require: AR000GHSJK
159 */
160 HWTEST_F(AuthRequestStateTest, TransitionTo_001, testing::ext::TestSize.Level0)
161 {
162 std::shared_ptr<DmAuthManager> authManager =
163 std::make_shared<DmAuthManager>(softbusConnector, listener, hiChainConnector);
164 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestInitState>();
165 authManager = nullptr;
166 authRequestState->authManager_ = authManager;
167 int32_t ret = authRequestState->TransitionTo(std::make_shared<AuthRequestNegotiateState>());
168 ASSERT_EQ(ret, ERR_DM_FAILED);
169 }
170
171 /**
172 * @tc.name: AuthRequestInitState::TransitionTo_002
173 * @tc.desc: 1 set authManager not null
174 * 2 call AuthRequestInitState::TransitionTo with authManager != null
175 * 4 check ret is DM_OK
176 * @tc.type: FUNC
177 * @tc.require: AR000GHSJK
178 */
179 HWTEST_F(AuthRequestStateTest, TransitionTo_002, testing::ext::TestSize.Level0)
180 {
181 std::shared_ptr<DmAuthManager> authManager =
182 std::make_shared<DmAuthManager>(softbusConnector, listener, hiChainConnector);
183 std::shared_ptr<DmAuthRequestContext> context = std::make_shared<DmAuthRequestContext>();
184 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestNegotiateDoneState>();
185 authManager->timer_ = std::make_shared<DmTimer>();
186 authManager->authRequestState_ = std::make_shared<AuthRequestNegotiateDoneState>();
187 authManager->authResponseContext_ = std::make_shared<DmAuthResponseContext>();
188 authManager->authRequestContext_ = std::make_shared<DmAuthRequestContext>();
189 authManager->authMessageProcessor_ = std::make_shared<AuthMessageProcessor>(authManager);
190 authManager->authMessageProcessor_->SetResponseContext(authManager->authResponseContext_);
191 authManager->authMessageProcessor_->SetRequestContext(authManager->authRequestContext_);
192 context->sessionId = 123456;
193 authManager->SetAuthRequestState(authRequestState);
194 authManager->softbusConnector_->GetSoftbusSession()->RegisterSessionCallback(authManager);
195 authRequestState->SetAuthContext(context);
196 authRequestState->SetAuthManager(authManager);
197 int32_t ret = authRequestState->TransitionTo(std::make_shared<AuthRequestNegotiateDoneState>());
198 ASSERT_EQ(ret, DM_OK);
199 }
200
201 /**
202 * @tc.name: AuthRequestInitState::GetStateType_001
203 * @tc.desc: 1 call AuthRequestInitState::GetStateType
204 * 2 check ret is AuthState::AUTH_RESPONSE_INIT
205 * @tc.type: FUNC
206 * @tc.require: AR000GHSJK
207 */
208 HWTEST_F(AuthRequestStateTest, GetStateType_001, testing::ext::TestSize.Level0)
209 {
210 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestInitState>();
211 int32_t ret = authRequestState->GetStateType();
212 ASSERT_EQ(ret, AuthState::AUTH_REQUEST_INIT);
213 }
214
215 /**
216 * @tc.name: AuthRequestInitState::Enter_001
217 * @tc.desc: 1 set authManager to null
218 * 2 call AuthRequestInitState::Enter with authManager = null
219 * 3 check ret is ERR_DM_FAILED
220 * @tc.type: FUNC
221 * @tc.require: AR000GHSJK
222 */
223 HWTEST_F(AuthRequestStateTest, Enter_001, testing::ext::TestSize.Level0)
224 {
225 std::shared_ptr<DmAuthManager> authManager =
226 std::make_shared<DmAuthManager>(softbusConnector, listener, hiChainConnector);
227 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestInitState>();
228 authManager = nullptr;
229 authRequestState->SetAuthManager(authManager);
230 int32_t ret = authRequestState->Enter();
231 ASSERT_EQ(ret, ERR_DM_FAILED);
232 }
233
234 /**
235 * @tc.name: AuthRequestInitState::Enter_002
236 * @tc.desc: 1 set authManager not null
237 * 2 call AuthRequestInitState::Enter with authManager != null
238 * 3 check ret is ERR_DM_FAILED
239 * @tc.type: FUNC
240 * @tc.require: AR000GHSJK
241 */
242 HWTEST_F(AuthRequestStateTest, Enter_002, testing::ext::TestSize.Level0)
243 {
244 std::shared_ptr<DmAuthManager> authManager =
245 std::make_shared<DmAuthManager>(softbusConnector, listener, hiChainConnector);
246 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestInitState>();
247 authManager->authResponseContext_ = std::make_shared<DmAuthResponseContext>();
248 authManager->authRequestContext_ = std::make_shared<DmAuthRequestContext>();
249 authManager->authRequestState_ = std::make_shared<AuthRequestInitState>();
250 authRequestState->SetAuthManager(authManager);
251 std::shared_ptr<DmAuthRequestContext> context = std::make_shared<DmAuthRequestContext>();
252 context->deviceId = "123456";
253 authRequestState->SetAuthContext(context);
254 int32_t ret = authRequestState->Enter();
255 ASSERT_EQ(ret, DM_OK);
256 }
257
258 /**
259 * @tc.name: AuthRequestNegotiateState::GetStateType_002
260 * @tc.desc: 1 call AuthRequestNegotiateState::GetStateType
261 * 2 check ret is AuthState::AUTH_RESPONSE_NEGOTIATE
262 * @tc.type: FUNC
263 * @tc.require: AR000GHSJK
264 */
265 HWTEST_F(AuthRequestStateTest, GetStateType_002, testing::ext::TestSize.Level0)
266 {
267 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestNegotiateState>();
268 int32_t ret = authRequestState->GetStateType();
269 ASSERT_EQ(ret, AuthState::AUTH_REQUEST_NEGOTIATE);
270 }
271
272 /**
273 * @tc.name: AuthRequestNegotiateState::Enter_001
274 * @tc.desc: 1 set authManager to null
275 * 2 call AuthRequestNegotiateState::Enter with authManager = null
276 * 3 check ret is ERR_DM_FAILED
277 * @tc.type: FUNC
278 * @tc.require: AR000GHSJK
279 */
280 HWTEST_F(AuthRequestStateTest, Enter_003, testing::ext::TestSize.Level0)
281 {
282 std::shared_ptr<DmAuthManager> authManager =
283 std::make_shared<DmAuthManager>(softbusConnector, listener, hiChainConnector);
284 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestNegotiateState>();
285 authRequestState->SetAuthManager(nullptr);
286 int32_t ret = authRequestState->Enter();
287 ASSERT_EQ(ret, ERR_DM_FAILED);
288 }
289
290 /**
291 * @tc.name: AuthRequestNegotiateState::Enter_004
292 * @tc.desc: 1 set authManager not null
293 * 2 call AuthRequestNegotiateState::Enter with authManager != null
294 * 3 check ret is DM_OK
295 * @tc.type: FUNC
296 * @tc.require: AR000GHSJK
297 */
298 HWTEST_F(AuthRequestStateTest, Enter_004, testing::ext::TestSize.Level0)
299 {
300 std::shared_ptr<DmAuthManager> authManager =
301 std::make_shared<DmAuthManager>(softbusConnector, listener, hiChainConnector);
302 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestNegotiateState>();
303 authManager->authMessageProcessor_ = std::make_shared<AuthMessageProcessor>(authManager);
304 authManager->authResponseContext_ = std::make_shared<DmAuthResponseContext>();
305 authManager->authRequestContext_ = std::make_shared<DmAuthRequestContext>();
306 authManager->authRequestState_ = std::make_shared<AuthRequestNegotiateState>();
307 authManager->authRequestContext_->deviceId = "111";
308 authManager->authMessageProcessor_->SetRequestContext(authManager->authRequestContext_);
309 authManager->authMessageProcessor_->SetResponseContext(authManager->authResponseContext_);
310 authManager->timer_ = std::make_shared<DmTimer>();
311 authRequestState->SetAuthManager(authManager);
312 std::shared_ptr<DmAuthRequestContext> context = std::make_shared<DmAuthRequestContext>();
313 context->deviceId = "123456";
314 context->sessionId = 22222;
315 authRequestState->SetAuthContext(context);
316 int32_t ret = authRequestState->Enter();
317 ASSERT_EQ(ret, DM_OK);
318 }
319
320 /**
321 * @tc.name: AuthRequestNegotiateDoneState::GetStateType_003
322 * @tc.desc: 1 call AuthRequestNegotiateDoneState::GetStateType
323 * 2 check ret is AuthState::AUTH_REQUEST_NEGOTIATE_DONE
324 * @tc.type: FUNC
325 * @tc.require: AR000GHSJK
326 */
327 HWTEST_F(AuthRequestStateTest, GetStateType_003, testing::ext::TestSize.Level0)
328 {
329 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestNegotiateDoneState>();
330 int32_t ret = authRequestState->GetStateType();
331 ASSERT_EQ(ret, AuthState::AUTH_REQUEST_NEGOTIATE_DONE);
332 }
333
334 /**
335 * @tc.name: AuthRequestNegotiateDoneState::Enter_005
336 * @tc.desc: 1 set authManager to null
337 * 2 call AuthRequestNegotiateDoneState::Enter with authManager = null
338 * 3 check ret is ERR_DM_FAILED
339 * @tc.type: FUNC
340 * @tc.require: AR000GHSJK
341 */
342 HWTEST_F(AuthRequestStateTest, Enter_005, testing::ext::TestSize.Level0)
343 {
344 std::shared_ptr<DmAuthManager> authManager =
345 std::make_shared<DmAuthManager>(softbusConnector, listener, hiChainConnector);
346 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestNegotiateDoneState>();
347 authRequestState->SetAuthManager(nullptr);
348 int32_t ret = authRequestState->Enter();
349 ASSERT_EQ(ret, ERR_DM_FAILED);
350 }
351
352 /**
353 * @tc.name: AuthRequestNegotiateDoneState::Enter_006
354 * @tc.desc: 1 set authManager not null
355 * 2 call AuthRequestNegotiateDoneState::Enter with authManager != null
356 * 3 check ret is DM_OK
357 * @tc.type: FUNC
358 * @tc.require: AR000GHSJK
359 */
360 HWTEST_F(AuthRequestStateTest, Enter_006, testing::ext::TestSize.Level0)
361 {
362 std::shared_ptr<DmAuthManager> authManager =
363 std::make_shared<DmAuthManager>(softbusConnector, listener, hiChainConnector);
364 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestNegotiateDoneState>();
365 authManager->timer_ = std::make_shared<DmTimer>();
366 authManager->authMessageProcessor_ = std::make_shared<AuthMessageProcessor>(authManager);
367 authManager->authResponseContext_ = std::make_shared<DmAuthResponseContext>();
368 authManager->authRequestContext_ = std::make_shared<DmAuthRequestContext>();
369 authManager->authMessageProcessor_->SetRequestContext(authManager->authRequestContext_);
370 authManager->authMessageProcessor_->SetResponseContext(authManager->authResponseContext_);
371 authManager->softbusConnector_->GetSoftbusSession()->RegisterSessionCallback(authManager);
372 authManager->SetAuthRequestState(authRequestState);
373 authRequestState->SetAuthManager(authManager);
374 std::shared_ptr<DmAuthRequestContext> context = std::make_shared<DmAuthRequestContext>();
375 context->sessionId = 333333;
376 authRequestState->SetAuthContext(context);
377 int32_t ret = authRequestState->Enter();
378 ASSERT_EQ(ret, DM_OK);
379 }
380
381 /**
382 * @tc.name: AuthRequestReplyState::GetStateType_004
383 * @tc.desc: 1 call AuthRequestReplyState::GetStateType
384 * 2 check ret is AuthState::AUTH_REQUEST_REPLY
385 * @tc.type: FUNC
386 * @tc.require: AR000GHSJK
387 */
388 HWTEST_F(AuthRequestStateTest, GetStateType_004, testing::ext::TestSize.Level0)
389 {
390 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestReplyState>();
391 int32_t ret = authRequestState->GetStateType();
392 ASSERT_EQ(ret, AuthState::AUTH_REQUEST_REPLY);
393 }
394
395 /**
396 * @tc.name: AuthRequestReplyState::Enter_007
397 * @tc.desc: 1 set authManager to null
398 * 2 call AuthRequestReplyState::Enter with authManager = null
399 * 3 check ret is ERR_DM_FAILED
400 * @tc.type: FUNC
401 * @tc.require: AR000GHSJK
402 */
403 HWTEST_F(AuthRequestStateTest, Enter_007, testing::ext::TestSize.Level0)
404 {
405 std::shared_ptr<DmAuthManager> authManager =
406 std::make_shared<DmAuthManager>(softbusConnector, listener, hiChainConnector);
407 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestReplyState>();
408 authRequestState->SetAuthManager(nullptr);
409 int32_t ret = authRequestState->Enter();
410 ASSERT_EQ(ret, ERR_DM_FAILED);
411 }
412
413 /**
414 * @tc.name: AuthRequestReplyState::Enter_008
415 * @tc.desc: 1 set authManager not null
416 * 2 call AuthRequestReplyState::Enter with authManager != null
417 * 3 check ret is DM_OK
418 * @tc.type: FUNC
419 * @tc.require: AR000GHSJK
420 */
421 HWTEST_F(AuthRequestStateTest, Enter_008, testing::ext::TestSize.Level0)
422 {
423 std::shared_ptr<DmAuthManager> authManager =
424 std::make_shared<DmAuthManager>(softbusConnector, listener, hiChainConnector);
425 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestReplyState>();
426 authManager->timer_ = std::make_shared<DmTimer>();
427 authManager->authMessageProcessor_ = std::make_shared<AuthMessageProcessor>(authManager);
428 authManager->authResponseContext_ = std::make_shared<DmAuthResponseContext>();
429 authManager->authRequestContext_ = std::make_shared<DmAuthRequestContext>();
430 authManager->authRequestState_ = std::make_shared<AuthRequestReplyState>();
431 authManager->authResponseContext_->sessionId = 1;
432 authManager->authPtr_ = authManager->authenticationMap_[1];
433 authManager->authMessageProcessor_->SetResponseContext(authManager->authResponseContext_);
434 authManager->authMessageProcessor_->SetRequestContext(authManager->authRequestContext_);
435 authManager->SetAuthRequestState(authRequestState);
436 authRequestState->SetAuthManager(authManager);
437 std::shared_ptr<DmAuthRequestContext> context = std::make_shared<DmAuthRequestContext>();
438 context->sessionId = 333333;
439 authRequestState->SetAuthContext(context);
440 int32_t ret = authRequestState->Enter();
441 ASSERT_EQ(ret, DM_OK);
442 }
443
444 /**
445 * @tc.name: AuthRequestJoinState::GetStateType_006
446 * @tc.desc: 1 call AuthRequestJoinState::GetStateType
447 * 2 check ret is AuthState::AUTH_REQUEST_JOIN
448 * @tc.type: FUNC
449 * @tc.require: AR000GHSJK
450 */
451 HWTEST_F(AuthRequestStateTest, GetStateType_006, testing::ext::TestSize.Level0)
452 {
453 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestJoinState>();
454 int32_t ret = authRequestState->GetStateType();
455 ASSERT_EQ(ret, AuthState::AUTH_REQUEST_JOIN);
456 }
457
458 /**
459 * @tc.name: AuthRequestJoinState::Enter_011
460 * @tc.desc: 1 set authManager to null
461 * 2 call AuthRequestJoinState::Enter with authManager = null
462 * 3 check ret is ERR_DM_FAILED
463 * @tc.type: FUNC
464 * @tc.require: AR000GHSJK
465 */
466 HWTEST_F(AuthRequestStateTest, Enter_011, testing::ext::TestSize.Level0)
467 {
468 std::shared_ptr<DmAuthManager> authManager =
469 std::make_shared<DmAuthManager>(softbusConnector, listener, hiChainConnector);
470 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestJoinState>();
471 authRequestState->SetAuthManager(nullptr);
472 int32_t ret = authRequestState->Enter();
473 ASSERT_EQ(ret, ERR_DM_FAILED);
474 }
475
476 /**
477 * @tc.name: AuthRequestJoinState::Enter_012
478 * @tc.desc: 1 set authManager not null
479 * 2 call AuthRequestJoinState::Enter with authManager != null
480 * 3 check ret is DM_OK
481 * @tc.type: FUNC
482 * @tc.require: AR000GHSJK
483 */
484 HWTEST_F(AuthRequestStateTest, Enter_012, testing::ext::TestSize.Level0)
485 {
486 std::shared_ptr<DmAuthManager> authManager =
487 std::make_shared<DmAuthManager>(softbusConnector, listener, hiChainConnector);
488 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestJoinState>();
489 authManager->authRequestContext_ = std::make_shared<DmAuthRequestContext>();
490 authManager->authMessageProcessor_ = std::make_shared<AuthMessageProcessor>(authManager);
491 authManager->authResponseContext_ = std::make_shared<DmAuthResponseContext>();
492 authManager->authPtr_ = authManager->authenticationMap_[1];
493 authManager->authResponseContext_->groupId = "111";
494 authManager->authResponseContext_->groupName = "222";
495 authManager->authResponseContext_->code = 123;
496 authManager->authResponseContext_->requestId = 234;
497 authManager->authResponseContext_->deviceId = "234";
498 authRequestState->SetAuthManager(authManager);
499 authManager->timer_ = std::make_shared<DmTimer>();
500 authManager->SetAuthRequestState(authRequestState);
501 authManager->hiChainConnector_->RegisterHiChainCallback(authManager);
502 authManager->softbusConnector_->GetSoftbusSession()->RegisterSessionCallback(authManager);
503 std::shared_ptr<DmAuthRequestContext> context = std::make_shared<DmAuthRequestContext>();
504 context->deviceId = "44444";
505 context->sessionId = 55555;
506 authRequestState->SetAuthContext(context);
507 int32_t ret = authRequestState->Enter();
508 ASSERT_EQ(ret, DM_OK);
509 }
510
511 /**
512 * @tc.name: AuthRequestNetworkState::GetStateType_007
513 * @tc.desc: 1 call AuthRequestNetworkState::GetStateType
514 * 2 check ret is AuthState::AUTH_REQUEST_NETWORK
515 * @tc.type: FUNC
516 * @tc.require: AR000GHSJK
517 */
518 HWTEST_F(AuthRequestStateTest, GetStateType_007, testing::ext::TestSize.Level0)
519 {
520 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestNetworkState>();
521 int32_t ret = authRequestState->GetStateType();
522 ASSERT_EQ(ret, AuthState::AUTH_REQUEST_NETWORK);
523 }
524
525 /**
526 * @tc.name: AuthRequestNetworkState::Enter_013
527 * @tc.desc: 1 set authManager to null
528 * 2 call AuthRequestNetworkState::Enter with authManager = null
529 * 3 check ret is ERR_DM_FAILED
530 * @tc.type: FUNC
531 * @tc.require: AR000GHSJK
532 */
533 HWTEST_F(AuthRequestStateTest, Enter_013, testing::ext::TestSize.Level0)
534 {
535 std::shared_ptr<DmAuthManager> authManager =
536 std::make_shared<DmAuthManager>(softbusConnector, listener, hiChainConnector);
537 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestNetworkState>();
538 authRequestState->SetAuthManager(nullptr);
539 int32_t ret = authRequestState->Enter();
540 ASSERT_EQ(ret, ERR_DM_FAILED);
541 }
542
543 /**
544 * @tc.name: AuthRequestNetworkState::Enter_014
545 * @tc.desc: 1 set authManager not null
546 * 2 call AuthRequestNetworkState::Enter with authManager != null
547 * 3 check ret is DM_OK
548 * @tc.type: FUNC
549 * @tc.require: AR000GHSJK
550 */
551 HWTEST_F(AuthRequestStateTest, Enter_014, testing::ext::TestSize.Level0)
552 {
553 std::shared_ptr<DmAuthManager> authManager =
554 std::make_shared<DmAuthManager>(softbusConnector, listener, hiChainConnector);
555 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestNetworkState>();
556 authManager->timer_ = std::make_shared<DmTimer>();
557 authManager->authMessageProcessor_ = std::make_shared<AuthMessageProcessor>(authManager);
558 authManager->authResponseContext_ = std::make_shared<DmAuthResponseContext>();
559 authManager->authRequestContext_ = std::make_shared<DmAuthRequestContext>();
560 authManager->authRequestState_ = std::make_shared<AuthRequestNetworkState>();
561 authManager->authPtr_ = authManager->authenticationMap_[1];
562 authManager->authMessageProcessor_->SetResponseContext(authManager->authResponseContext_);
563 authManager->authMessageProcessor_->SetRequestContext(authManager->authRequestContext_);
564 authManager->softbusConnector_->GetSoftbusSession()->RegisterSessionCallback(authManager);
565 authManager->SetAuthRequestState(authRequestState);
566 authRequestState->SetAuthManager(authManager);
567 int32_t ret = authRequestState->Enter();
568 ASSERT_EQ(ret, DM_OK);
569 }
570
571 /**
572 * @tc.name: AuthRequestFinishState::GetStateType_008
573 * @tc.desc: 1 call AuthRequestFinishState::GetStateType
574 * 2 check ret is AuthState::AUTH_REQUEST_FINISH
575 * @tc.type: FUNC
576 * @tc.require: AR000GHSJK
577 */
578 HWTEST_F(AuthRequestStateTest, GetStateType_008, testing::ext::TestSize.Level0)
579 {
580 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestFinishState>();
581 int32_t ret = authRequestState->GetStateType();
582 ASSERT_EQ(ret, AuthState::AUTH_REQUEST_FINISH);
583 }
584
585 /**
586 * @tc.name: AuthRequestFinishState::Enter_015
587 * @tc.desc: 1 set authManager to null
588 * 2 call AuthRequestFinishState::Enter with authManager = null
589 * 3 check ret is ERR_DM_FAILED
590 * @tc.type: FUNC
591 * @tc.require: AR000GHSJK
592 */
593 HWTEST_F(AuthRequestStateTest, Enter_015, testing::ext::TestSize.Level0)
594 {
595 std::shared_ptr<DmAuthManager> authManager =
596 std::make_shared<DmAuthManager>(softbusConnector, listener, hiChainConnector);
597 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestFinishState>();
598 authRequestState->SetAuthManager(nullptr);
599 int32_t ret = authRequestState->Enter();
600 ASSERT_EQ(ret, ERR_DM_FAILED);
601 }
602
603 /**
604 * @tc.name: AuthRequestFinishState::Enter_016
605 * @tc.desc: 1 set authManager not null
606 * 2 call AuthRequestNetworkState::Enter with authManager != null
607 * 3 check ret is DM_OK
608 * @tc.type: FUNC
609 * @tc.require: AR000GHSJK
610 */
611 HWTEST_F(AuthRequestStateTest, Enter_016, testing::ext::TestSize.Level0)
612 {
613 std::shared_ptr<DmAuthManager> authManager =
614 std::make_shared<DmAuthManager>(softbusConnector, listener, hiChainConnector);
615 std::shared_ptr<AuthRequestState> authRequestState = std::make_shared<AuthRequestFinishState>();
616 authManager->timer_ = std::make_shared<DmTimer>();
617 authManager->authPtr_ = authManager->authenticationMap_[1];
618 authManager->authMessageProcessor_ = std::make_shared<AuthMessageProcessor>(authManager);
619 authManager->authResponseContext_ = std::make_shared<DmAuthResponseContext>();
620 authManager->authRequestContext_ = std::make_shared<DmAuthRequestContext>();
621 authManager->authResponseState_ = std::make_shared<AuthResponseFinishState>();
622 authManager->authRequestState_ = std::make_shared<AuthRequestFinishState>();
623 authManager->authResponseContext_->sessionId = 1;
624 authManager->authMessageProcessor_->SetResponseContext(authManager->authResponseContext_);
625 authManager->authMessageProcessor_->SetRequestContext(authManager->authRequestContext_);
626 authManager->SetAuthRequestState(authRequestState);
627 authRequestState->SetAuthManager(authManager);
628 std::shared_ptr<DmAuthRequestContext> context = std::make_shared<DmAuthRequestContext>();
629 context->sessionId = 333333;
630 authRequestState->SetAuthContext(context);
631 int32_t ret = authRequestState->Enter();
632 ASSERT_EQ(ret, DM_OK);
633 }
634 } // namespace
635 } // namespace DistributedHardware
636 } // namespace OHOS
637