12d43be4eSopenharmony_ci/* 22d43be4eSopenharmony_ci * Copyright (C) 2024 Huawei Device Co., Ltd. 32d43be4eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 42d43be4eSopenharmony_ci * you may not use this file except in compliance with the License. 52d43be4eSopenharmony_ci * You may obtain a copy of the License at 62d43be4eSopenharmony_ci * 72d43be4eSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 82d43be4eSopenharmony_ci * 92d43be4eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 102d43be4eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 112d43be4eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 122d43be4eSopenharmony_ci * See the License for the specific language governing permissions and 132d43be4eSopenharmony_ci * limitations under the License. 142d43be4eSopenharmony_ci */ 152d43be4eSopenharmony_ci#define private public 162d43be4eSopenharmony_ci#define protected public 172d43be4eSopenharmony_ci 182d43be4eSopenharmony_ci#include "activating.h" 192d43be4eSopenharmony_ci#include "active.h" 202d43be4eSopenharmony_ci#include "apn_manager.h" 212d43be4eSopenharmony_ci#include "cellular_data_state_machine.h" 222d43be4eSopenharmony_ci#include "core_manager_inner.h" 232d43be4eSopenharmony_ci#include "data_connection_manager.h" 242d43be4eSopenharmony_ci#include "data_connection_params.h" 252d43be4eSopenharmony_ci#include "data_disconnect_params.h" 262d43be4eSopenharmony_ci#include "default.h" 272d43be4eSopenharmony_ci#include "disconnecting.h" 282d43be4eSopenharmony_ci#include "gtest/gtest.h" 292d43be4eSopenharmony_ci#include "inactive.h" 302d43be4eSopenharmony_ci#include "incall_data_state_machine.h" 312d43be4eSopenharmony_ci#include "mock/mock_sim_manager.h" 322d43be4eSopenharmony_ci#include "mock/mock_network_search.h" 332d43be4eSopenharmony_ci#include "tel_event_handler.h" 342d43be4eSopenharmony_ci#include "telephony_types.h" 352d43be4eSopenharmony_ci#include "tel_ril_data_parcel.h" 362d43be4eSopenharmony_ci 372d43be4eSopenharmony_cinamespace OHOS { 382d43be4eSopenharmony_cinamespace Telephony { 392d43be4eSopenharmony_ciusing namespace testing::ext; 402d43be4eSopenharmony_ciusing ::testing::_; 412d43be4eSopenharmony_ciusing ::testing::AtLeast; 422d43be4eSopenharmony_ciusing ::testing::DoAll; 432d43be4eSopenharmony_ciusing ::testing::Invoke; 442d43be4eSopenharmony_ciusing ::testing::Mock; 452d43be4eSopenharmony_ciusing ::testing::Return; 462d43be4eSopenharmony_ciusing ::testing::SetArgReferee; 472d43be4eSopenharmony_ci 482d43be4eSopenharmony_ciclass CellularStateMachineTest : public testing::Test { 492d43be4eSopenharmony_cipublic: 502d43be4eSopenharmony_ci CellularStateMachineTest() 512d43be4eSopenharmony_ci { 522d43be4eSopenharmony_ci mockSimManager = new MockSimManager(); 532d43be4eSopenharmony_ci std::shared_ptr<MockSimManager> mockSimManagerPtr(mockSimManager); 542d43be4eSopenharmony_ci CoreManagerInner::GetInstance().simManager_ = mockSimManagerPtr; 552d43be4eSopenharmony_ci 562d43be4eSopenharmony_ci mockNetworkSearchManager = new MockNetworkSearchManager(); 572d43be4eSopenharmony_ci std::shared_ptr<MockNetworkSearchManager> mockNetworkSearchManagerPtr(mockNetworkSearchManager); 582d43be4eSopenharmony_ci CoreManagerInner::GetInstance().networkSearchManager_ = mockNetworkSearchManagerPtr; 592d43be4eSopenharmony_ci } 602d43be4eSopenharmony_ci static void SetUpTestCase(); 612d43be4eSopenharmony_ci static void TearDownTestCase(); 622d43be4eSopenharmony_ci void SetUp(); 632d43be4eSopenharmony_ci void TearDown(); 642d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularMachine; 652d43be4eSopenharmony_ci MockSimManager *mockSimManager; 662d43be4eSopenharmony_ci MockNetworkSearchManager *mockNetworkSearchManager; 672d43be4eSopenharmony_ci}; 682d43be4eSopenharmony_civoid CellularStateMachineTest::SetUpTestCase() {} 692d43be4eSopenharmony_ci 702d43be4eSopenharmony_civoid CellularStateMachineTest::TearDownTestCase() {} 712d43be4eSopenharmony_ci 722d43be4eSopenharmony_civoid CellularStateMachineTest::SetUp() {} 732d43be4eSopenharmony_ci 742d43be4eSopenharmony_civoid CellularStateMachineTest::TearDown() {} 752d43be4eSopenharmony_ci 762d43be4eSopenharmony_ciclass IncallDataStateMachineTest : public TelEventHandler { 772d43be4eSopenharmony_cipublic: 782d43be4eSopenharmony_ci IncallDataStateMachineTest() : TelEventHandler("IncallDataStateMachineTest") {} 792d43be4eSopenharmony_ci ~IncallDataStateMachineTest() = default; 802d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> CreateIncallDataStateMachine(int32_t slotId); 812d43be4eSopenharmony_ci 822d43be4eSopenharmony_cipublic: 832d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine_ = nullptr; 842d43be4eSopenharmony_ci}; 852d43be4eSopenharmony_ci 862d43be4eSopenharmony_cistd::shared_ptr<IncallDataStateMachine> IncallDataStateMachineTest::CreateIncallDataStateMachine(int32_t slotId) 872d43be4eSopenharmony_ci{ 882d43be4eSopenharmony_ci if (incallStateMachine_ != nullptr) { 892d43be4eSopenharmony_ci return incallStateMachine_; 902d43be4eSopenharmony_ci } 912d43be4eSopenharmony_ci sptr<ApnManager> apnManager = std::make_unique<ApnManager>().release(); 922d43be4eSopenharmony_ci if (apnManager == nullptr) { 932d43be4eSopenharmony_ci return nullptr; 942d43be4eSopenharmony_ci } 952d43be4eSopenharmony_ci incallStateMachine_ = std::make_shared<IncallDataStateMachine>(slotId, 962d43be4eSopenharmony_ci std::weak_ptr<TelEventHandler>(std::static_pointer_cast<TelEventHandler>(shared_from_this())), apnManager); 972d43be4eSopenharmony_ci return incallStateMachine_; 982d43be4eSopenharmony_ci} 992d43be4eSopenharmony_ci 1002d43be4eSopenharmony_ciclass CellularMachineTest : public TelEventHandler { 1012d43be4eSopenharmony_cipublic: 1022d43be4eSopenharmony_ci CellularMachineTest() : TelEventHandler("CellularDataStateMachineTest") {} 1032d43be4eSopenharmony_ci ~CellularMachineTest() = default; 1042d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> CreateCellularDataConnect(int32_t slotId); 1052d43be4eSopenharmony_ci 1062d43be4eSopenharmony_cipublic: 1072d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularDataStateMachine_ = nullptr; 1082d43be4eSopenharmony_ci}; 1092d43be4eSopenharmony_ci 1102d43be4eSopenharmony_cistd::shared_ptr<CellularDataStateMachine> CellularMachineTest::CreateCellularDataConnect(int32_t slotId) 1112d43be4eSopenharmony_ci{ 1122d43be4eSopenharmony_ci if (cellularDataStateMachine_ != nullptr) { 1132d43be4eSopenharmony_ci return cellularDataStateMachine_; 1142d43be4eSopenharmony_ci } 1152d43be4eSopenharmony_ci sptr<DataConnectionManager> connectionManager = std::make_unique<DataConnectionManager>(slotId).release(); 1162d43be4eSopenharmony_ci if (connectionManager == nullptr) { 1172d43be4eSopenharmony_ci return nullptr; 1182d43be4eSopenharmony_ci } 1192d43be4eSopenharmony_ci connectionManager->Init(); 1202d43be4eSopenharmony_ci cellularDataStateMachine_ = std::make_shared<CellularDataStateMachine>( 1212d43be4eSopenharmony_ci connectionManager, std::static_pointer_cast<TelEventHandler>(shared_from_this())); 1222d43be4eSopenharmony_ci return cellularDataStateMachine_; 1232d43be4eSopenharmony_ci} 1242d43be4eSopenharmony_ci 1252d43be4eSopenharmony_ci/** 1262d43be4eSopenharmony_ci * @tc.number HasAnyConnectedState_001 1272d43be4eSopenharmony_ci * @tc.name test function branch 1282d43be4eSopenharmony_ci * @tc.desc Function test 1292d43be4eSopenharmony_ci */ 1302d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, HasAnyConnectedState_001, Function | MediumTest | Level1) 1312d43be4eSopenharmony_ci{ 1322d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 1332d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 1342d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 1352d43be4eSopenharmony_ci incallStateMachine->apnManager_ = nullptr; 1362d43be4eSopenharmony_ci ASSERT_EQ(incallStateMachine->HasAnyConnectedState(), false); 1372d43be4eSopenharmony_ci} 1382d43be4eSopenharmony_ci 1392d43be4eSopenharmony_ci/** 1402d43be4eSopenharmony_ci * @tc.number IdleState_StateBegin_001 1412d43be4eSopenharmony_ci * @tc.name test function branch 1422d43be4eSopenharmony_ci * @tc.desc Function test 1432d43be4eSopenharmony_ci */ 1442d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, IdleState_StateBegin_001, Function | MediumTest | Level1) 1452d43be4eSopenharmony_ci{ 1462d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 1472d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 1482d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 1492d43be4eSopenharmony_ci incallStateMachine->Init(TelCallStatus::CALL_STATUS_DIALING); 1502d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->idleState_); 1512d43be4eSopenharmony_ci auto idleState = static_cast<IdleState *>(incallStateMachine->idleState_.GetRefPtr()); 1522d43be4eSopenharmony_ci incallStateMachine = nullptr; 1532d43be4eSopenharmony_ci idleState->stateMachine_ = incallStateMachine; 1542d43be4eSopenharmony_ci idleState->StateBegin(); 1552d43be4eSopenharmony_ci ASSERT_EQ(idleState->isActive_, false); 1562d43be4eSopenharmony_ci} 1572d43be4eSopenharmony_ci 1582d43be4eSopenharmony_ci/** 1592d43be4eSopenharmony_ci * @tc.number IdleState_StateBegin_002 1602d43be4eSopenharmony_ci * @tc.name test function branch 1612d43be4eSopenharmony_ci * @tc.desc Function test 1622d43be4eSopenharmony_ci */ 1632d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, IdleState_StateBegin_002, Function | MediumTest | Level1) 1642d43be4eSopenharmony_ci{ 1652d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 1662d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 1672d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 1682d43be4eSopenharmony_ci incallStateMachine->Init(TelCallStatus::CALL_STATUS_DIALING); 1692d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->idleState_); 1702d43be4eSopenharmony_ci auto idleState = static_cast<IdleState *>(incallStateMachine->idleState_.GetRefPtr()); 1712d43be4eSopenharmony_ci incallStateMachine->UpdateCallState(static_cast<int32_t>(TelCallStatus::CALL_STATUS_IDLE)); 1722d43be4eSopenharmony_ci idleState->stateMachine_ = incallStateMachine; 1732d43be4eSopenharmony_ci idleState->StateBegin(); 1742d43be4eSopenharmony_ci ASSERT_EQ(idleState->isActive_, true); 1752d43be4eSopenharmony_ci} 1762d43be4eSopenharmony_ci 1772d43be4eSopenharmony_ci/** 1782d43be4eSopenharmony_ci * @tc.number IdleState_StateBegin_003 1792d43be4eSopenharmony_ci * @tc.name test function branch 1802d43be4eSopenharmony_ci * @tc.desc Function test 1812d43be4eSopenharmony_ci */ 1822d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, IdleState_StateBegin_003, Function | MediumTest | Level1) 1832d43be4eSopenharmony_ci{ 1842d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 1852d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 1862d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 1872d43be4eSopenharmony_ci incallStateMachine->Init(TelCallStatus::CALL_STATUS_DIALING); 1882d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->idleState_); 1892d43be4eSopenharmony_ci auto idleState = static_cast<IdleState *>(incallStateMachine->idleState_.GetRefPtr()); 1902d43be4eSopenharmony_ci incallStateMachine->UpdateCallState(static_cast<int32_t>(TelCallStatus::CALL_STATUS_DISCONNECTED)); 1912d43be4eSopenharmony_ci idleState->stateMachine_ = incallStateMachine; 1922d43be4eSopenharmony_ci idleState->StateBegin(); 1932d43be4eSopenharmony_ci ASSERT_EQ(idleState->isActive_, true); 1942d43be4eSopenharmony_ci} 1952d43be4eSopenharmony_ci 1962d43be4eSopenharmony_ci/** 1972d43be4eSopenharmony_ci * @tc.number IdleState_StateProcess_001 1982d43be4eSopenharmony_ci * @tc.name test function branch 1992d43be4eSopenharmony_ci * @tc.desc Function test 2002d43be4eSopenharmony_ci */ 2012d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, IdleState_StateProcess_001, Function | MediumTest | Level1) 2022d43be4eSopenharmony_ci{ 2032d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 2042d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 2052d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 2062d43be4eSopenharmony_ci incallStateMachine->Init(TelCallStatus::CALL_STATUS_DIALING); 2072d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->idleState_); 2082d43be4eSopenharmony_ci auto idleState = static_cast<IdleState *>(incallStateMachine->idleState_.GetRefPtr()); 2092d43be4eSopenharmony_ci incallStateMachine = nullptr; 2102d43be4eSopenharmony_ci idleState->stateMachine_ = incallStateMachine; 2112d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_INCALL_DATA_DATA_DISCONNECTED); 2122d43be4eSopenharmony_ci idleState->StateProcess(event); 2132d43be4eSopenharmony_ci ASSERT_EQ(idleState->isActive_, NOT_PROCESSED); 2142d43be4eSopenharmony_ci} 2152d43be4eSopenharmony_ci 2162d43be4eSopenharmony_ci/** 2172d43be4eSopenharmony_ci * @tc.number IdleState_StateProcess_002 2182d43be4eSopenharmony_ci * @tc.name test function branch 2192d43be4eSopenharmony_ci * @tc.desc Function test 2202d43be4eSopenharmony_ci */ 2212d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, IdleState_StateProcess_002, Function | MediumTest | Level1) 2222d43be4eSopenharmony_ci{ 2232d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 2242d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 2252d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 2262d43be4eSopenharmony_ci incallStateMachine->Init(TelCallStatus::CALL_STATUS_DIALING); 2272d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->idleState_); 2282d43be4eSopenharmony_ci auto idleState = static_cast<IdleState *>(incallStateMachine->idleState_.GetRefPtr()); 2292d43be4eSopenharmony_ci idleState->stateMachine_ = incallStateMachine; 2302d43be4eSopenharmony_ci idleState->eventIdFunMap_.clear(); 2312d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_INCALL_DATA_CALL_STARTED); 2322d43be4eSopenharmony_ci idleState->StateProcess(event); 2332d43be4eSopenharmony_ci ASSERT_EQ(idleState->isActive_, NOT_PROCESSED); 2342d43be4eSopenharmony_ci} 2352d43be4eSopenharmony_ci 2362d43be4eSopenharmony_ci/** 2372d43be4eSopenharmony_ci * @tc.number IdleState_IncallStateMachine_001 2382d43be4eSopenharmony_ci * @tc.name test function branch 2392d43be4eSopenharmony_ci * @tc.desc Function test 2402d43be4eSopenharmony_ci */ 2412d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, IdleState_IncallStateMachine_001, Function | MediumTest | Level1) 2422d43be4eSopenharmony_ci{ 2432d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 2442d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 2452d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 2462d43be4eSopenharmony_ci incallStateMachine->Init(TelCallStatus::CALL_STATUS_DIALING); 2472d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->idleState_); 2482d43be4eSopenharmony_ci auto idleState = static_cast<IdleState *>(incallStateMachine->idleState_.GetRefPtr()); 2492d43be4eSopenharmony_ci incallStateMachine = nullptr; 2502d43be4eSopenharmony_ci idleState->stateMachine_ = incallStateMachine; 2512d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_INCALL_DATA_DATA_DISCONNECTED); 2522d43be4eSopenharmony_ci bool result = idleState->ProcessCallStarted(event); 2532d43be4eSopenharmony_ci ASSERT_EQ(result, NOT_PROCESSED); 2542d43be4eSopenharmony_ci result = idleState->ProcessCallEnded(event); 2552d43be4eSopenharmony_ci ASSERT_EQ(result, NOT_PROCESSED); 2562d43be4eSopenharmony_ci result = idleState->ProcessSettingsOn(event); 2572d43be4eSopenharmony_ci ASSERT_EQ(result, NOT_PROCESSED); 2582d43be4eSopenharmony_ci result = idleState->ProcessDsdsChanged(event); 2592d43be4eSopenharmony_ci ASSERT_EQ(result, NOT_PROCESSED); 2602d43be4eSopenharmony_ci} 2612d43be4eSopenharmony_ci 2622d43be4eSopenharmony_ci/** 2632d43be4eSopenharmony_ci * @tc.number StateProcess_001 2642d43be4eSopenharmony_ci * @tc.name test function branch 2652d43be4eSopenharmony_ci * @tc.desc Function test 2662d43be4eSopenharmony_ci */ 2672d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, StateProcess_001, Function | MediumTest | Level1) 2682d43be4eSopenharmony_ci{ 2692d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 2702d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 2712d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 2722d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_INCALL_DATA_DATA_DISCONNECTED); 2732d43be4eSopenharmony_ci incallStateMachine->Init(TelCallStatus::CALL_STATUS_DIALING); 2742d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->activatingSecondaryState_); 2752d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->activatedSecondaryState_); 2762d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->deactivatingSecondaryState_); 2772d43be4eSopenharmony_ci auto deactivatingSecondaryState = 2782d43be4eSopenharmony_ci static_cast<DeactivatingSecondaryState *>(incallStateMachine->deactivatingSecondaryState_.GetRefPtr()); 2792d43be4eSopenharmony_ci bool result = deactivatingSecondaryState->StateProcess(event); 2802d43be4eSopenharmony_ci EXPECT_EQ(result, true); 2812d43be4eSopenharmony_ci} 2822d43be4eSopenharmony_ci 2832d43be4eSopenharmony_ci/** 2842d43be4eSopenharmony_ci * @tc.number StateProcess_002 2852d43be4eSopenharmony_ci * @tc.name test function branch 2862d43be4eSopenharmony_ci * @tc.desc Function test 2872d43be4eSopenharmony_ci */ 2882d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, StateProcess_002, Function | MediumTest | Level1) 2892d43be4eSopenharmony_ci{ 2902d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 2912d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 2922d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 2932d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_INCALL_DATA_DATA_DISCONNECTED); 2942d43be4eSopenharmony_ci incallStateMachine->Init(TelCallStatus::CALL_STATUS_DIALING); 2952d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->activatingSecondaryState_); 2962d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->activatedSecondaryState_); 2972d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->deactivatingSecondaryState_); 2982d43be4eSopenharmony_ci auto deactivatingSecondaryState = 2992d43be4eSopenharmony_ci static_cast<DeactivatingSecondaryState *>(incallStateMachine->deactivatingSecondaryState_.GetRefPtr()); 3002d43be4eSopenharmony_ci bool result = deactivatingSecondaryState->StateProcess(event); 3012d43be4eSopenharmony_ci EXPECT_EQ(result, true); 3022d43be4eSopenharmony_ci} 3032d43be4eSopenharmony_ci 3042d43be4eSopenharmony_ci/** 3052d43be4eSopenharmony_ci * @tc.number StateProcess_003 3062d43be4eSopenharmony_ci * @tc.name test function branch 3072d43be4eSopenharmony_ci * @tc.desc Function test 3082d43be4eSopenharmony_ci */ 3092d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, StateProcess_003, Function | MediumTest | Level1) 3102d43be4eSopenharmony_ci{ 3112d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 3122d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 3132d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 3142d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_INCALL_DATA_DATA_DISCONNECTED); 3152d43be4eSopenharmony_ci incallStateMachine->Init(TelCallStatus::CALL_STATUS_DIALING); 3162d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->activatingSecondaryState_); 3172d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->activatedSecondaryState_); 3182d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->deactivatingSecondaryState_); 3192d43be4eSopenharmony_ci auto deactivatingSecondaryState = 3202d43be4eSopenharmony_ci static_cast<DeactivatingSecondaryState *>(incallStateMachine->deactivatingSecondaryState_.GetRefPtr()); 3212d43be4eSopenharmony_ci incallStateMachine = nullptr; 3222d43be4eSopenharmony_ci deactivatingSecondaryState->stateMachine_ = incallStateMachine; 3232d43be4eSopenharmony_ci bool result = deactivatingSecondaryState->StateProcess(event); 3242d43be4eSopenharmony_ci deactivatingSecondaryState->StateBegin(); 3252d43be4eSopenharmony_ci EXPECT_EQ(result, NOT_PROCESSED); 3262d43be4eSopenharmony_ci} 3272d43be4eSopenharmony_ci 3282d43be4eSopenharmony_ci/** 3292d43be4eSopenharmony_ci * @tc.number StateProcess_004 3302d43be4eSopenharmony_ci * @tc.name test function branch 3312d43be4eSopenharmony_ci * @tc.desc Function test 3322d43be4eSopenharmony_ci */ 3332d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, StateProcess_004, Function | MediumTest | Level1) 3342d43be4eSopenharmony_ci{ 3352d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 3362d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 3372d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 3382d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_INCALL_DATA_DATA_DISCONNECTED); 3392d43be4eSopenharmony_ci incallStateMachine->Init(TelCallStatus::CALL_STATUS_DIALING); 3402d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->activatingSecondaryState_); 3412d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->activatedSecondaryState_); 3422d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->deactivatingSecondaryState_); 3432d43be4eSopenharmony_ci auto deactivatingSecondaryState = 3442d43be4eSopenharmony_ci static_cast<DeactivatingSecondaryState *>(incallStateMachine->deactivatingSecondaryState_.GetRefPtr()); 3452d43be4eSopenharmony_ci bool result = deactivatingSecondaryState->StateProcess(event); 3462d43be4eSopenharmony_ci EXPECT_EQ(result, true); 3472d43be4eSopenharmony_ci} 3482d43be4eSopenharmony_ci 3492d43be4eSopenharmony_ci/** 3502d43be4eSopenharmony_ci * @tc.number ActivatingStateProcess_001 3512d43be4eSopenharmony_ci * @tc.name test function branch 3522d43be4eSopenharmony_ci * @tc.desc Function test 3532d43be4eSopenharmony_ci */ 3542d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, ActivatingStateProcess_001, Function | MediumTest | Level1) 3552d43be4eSopenharmony_ci{ 3562d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 3572d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 3582d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 3592d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_INCALL_DATA_DATA_CONNECTED); 3602d43be4eSopenharmony_ci incallStateMachine->Init(TelCallStatus::CALL_STATUS_DIALING); 3612d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->activatingSecondaryState_); 3622d43be4eSopenharmony_ci auto activatingSecondaryState = 3632d43be4eSopenharmony_ci static_cast<ActivatingSecondaryState *>(incallStateMachine->activatingSecondaryState_.GetRefPtr()); 3642d43be4eSopenharmony_ci bool result = activatingSecondaryState->StateProcess(event); 3652d43be4eSopenharmony_ci EXPECT_EQ(result, true); 3662d43be4eSopenharmony_ci} 3672d43be4eSopenharmony_ci 3682d43be4eSopenharmony_ci/** 3692d43be4eSopenharmony_ci * @tc.number ActivatingStateProcess_002 3702d43be4eSopenharmony_ci * @tc.name test function branch 3712d43be4eSopenharmony_ci * @tc.desc Function test 3722d43be4eSopenharmony_ci */ 3732d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, ActivatingStateProcess_002, Function | MediumTest | Level1) 3742d43be4eSopenharmony_ci{ 3752d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 3762d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 3772d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 3782d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(-1); 3792d43be4eSopenharmony_ci incallStateMachine->Init(TelCallStatus::CALL_STATUS_DIALING); 3802d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->activatingSecondaryState_); 3812d43be4eSopenharmony_ci auto activatingSecondaryState = 3822d43be4eSopenharmony_ci static_cast<ActivatingSecondaryState *>(incallStateMachine->activatingSecondaryState_.GetRefPtr()); 3832d43be4eSopenharmony_ci bool result = activatingSecondaryState->StateProcess(event); 3842d43be4eSopenharmony_ci EXPECT_EQ(result, false); 3852d43be4eSopenharmony_ci} 3862d43be4eSopenharmony_ci 3872d43be4eSopenharmony_ci/** 3882d43be4eSopenharmony_ci * @tc.number ActivatingSecondaryState_IncallDataStateMachine_001 3892d43be4eSopenharmony_ci * @tc.name test function branch 3902d43be4eSopenharmony_ci * @tc.desc Function test 3912d43be4eSopenharmony_ci */ 3922d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, ActivatingSecondaryState_IncallDataStateMachine_001, Function | MediumTest | Level1) 3932d43be4eSopenharmony_ci{ 3942d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 3952d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 3962d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 3972d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 3982d43be4eSopenharmony_ci incallStateMachine->Init(TelCallStatus::CALL_STATUS_DIALING); 3992d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->activatingSecondaryState_); 4002d43be4eSopenharmony_ci auto activatingSecondaryState = 4012d43be4eSopenharmony_ci static_cast<ActivatingSecondaryState *>(incallStateMachine->activatingSecondaryState_.GetRefPtr()); 4022d43be4eSopenharmony_ci incallStateMachine = nullptr; 4032d43be4eSopenharmony_ci activatingSecondaryState->stateMachine_ = incallStateMachine; 4042d43be4eSopenharmony_ci bool result = activatingSecondaryState->StateProcess(event); 4052d43be4eSopenharmony_ci activatingSecondaryState->StateBegin(); 4062d43be4eSopenharmony_ci EXPECT_EQ(result, NOT_PROCESSED); 4072d43be4eSopenharmony_ci} 4082d43be4eSopenharmony_ci 4092d43be4eSopenharmony_ci/** 4102d43be4eSopenharmony_ci * @tc.number SecondaryActiveStateProcess_001 4112d43be4eSopenharmony_ci * @tc.name test function branch 4122d43be4eSopenharmony_ci * @tc.desc Function test 4132d43be4eSopenharmony_ci */ 4142d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, SecondaryActiveStateProcess_001, Function | MediumTest | Level1) 4152d43be4eSopenharmony_ci{ 4162d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 4172d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 4182d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 4192d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_INCALL_DATA_DATA_CONNECTED); 4202d43be4eSopenharmony_ci incallStateMachine->Init(TelCallStatus::CALL_STATUS_DIALING); 4212d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->secondaryActiveState_); 4222d43be4eSopenharmony_ci auto secondaryActiveState = 4232d43be4eSopenharmony_ci static_cast<SecondaryActiveState *>(incallStateMachine->secondaryActiveState_.GetRefPtr()); 4242d43be4eSopenharmony_ci bool result = secondaryActiveState->StateProcess(event); 4252d43be4eSopenharmony_ci EXPECT_EQ(result, false); 4262d43be4eSopenharmony_ci} 4272d43be4eSopenharmony_ci 4282d43be4eSopenharmony_ci/** 4292d43be4eSopenharmony_ci * @tc.number SecondaryActiveStateProcess_002 4302d43be4eSopenharmony_ci * @tc.name test function branch 4312d43be4eSopenharmony_ci * @tc.desc Function test 4322d43be4eSopenharmony_ci */ 4332d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, SecondaryActiveStateProcess_002, Function | MediumTest | Level1) 4342d43be4eSopenharmony_ci{ 4352d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 4362d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 4372d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 4382d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_INCALL_DATA_DATA_CONNECTED); 4392d43be4eSopenharmony_ci incallStateMachine->Init(TelCallStatus::CALL_STATUS_DIALING); 4402d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->secondaryActiveState_); 4412d43be4eSopenharmony_ci auto secondaryActiveState = 4422d43be4eSopenharmony_ci static_cast<SecondaryActiveState *>(incallStateMachine->secondaryActiveState_.GetRefPtr()); 4432d43be4eSopenharmony_ci incallStateMachine = nullptr; 4442d43be4eSopenharmony_ci secondaryActiveState->stateMachine_ = incallStateMachine; 4452d43be4eSopenharmony_ci bool result = secondaryActiveState->StateProcess(event); 4462d43be4eSopenharmony_ci EXPECT_EQ(result, NOT_PROCESSED); 4472d43be4eSopenharmony_ci} 4482d43be4eSopenharmony_ci 4492d43be4eSopenharmony_ci/** 4502d43be4eSopenharmony_ci * @tc.number SecondaryActiveStateProcess_003 4512d43be4eSopenharmony_ci * @tc.name test function branch 4522d43be4eSopenharmony_ci * @tc.desc Function test 4532d43be4eSopenharmony_ci */ 4542d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, SecondaryActiveStateProcess_003, Function | MediumTest | Level1) 4552d43be4eSopenharmony_ci{ 4562d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 4572d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 4582d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 4592d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_INCALL_DATA_DATA_CONNECTED); 4602d43be4eSopenharmony_ci incallStateMachine->Init(TelCallStatus::CALL_STATUS_DIALING); 4612d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->secondaryActiveState_); 4622d43be4eSopenharmony_ci auto secondaryActiveState = 4632d43be4eSopenharmony_ci static_cast<SecondaryActiveState *>(incallStateMachine->secondaryActiveState_.GetRefPtr()); 4642d43be4eSopenharmony_ci secondaryActiveState->stateMachine_ = incallStateMachine; 4652d43be4eSopenharmony_ci secondaryActiveState->eventIdFunMap_.clear(); 4662d43be4eSopenharmony_ci bool result = secondaryActiveState->StateProcess(event); 4672d43be4eSopenharmony_ci EXPECT_EQ(result, NOT_PROCESSED); 4682d43be4eSopenharmony_ci} 4692d43be4eSopenharmony_ci 4702d43be4eSopenharmony_ci/** 4712d43be4eSopenharmony_ci * @tc.number SecondaryActiveState_ProcessCallEnded_001 4722d43be4eSopenharmony_ci * @tc.name test function branch 4732d43be4eSopenharmony_ci * @tc.desc Function test 4742d43be4eSopenharmony_ci */ 4752d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, SecondaryActiveState_ProcessCallEnded_001, Function | MediumTest | Level1) 4762d43be4eSopenharmony_ci{ 4772d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 4782d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 4792d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 4802d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_INCALL_DATA_DATA_CONNECTED); 4812d43be4eSopenharmony_ci incallStateMachine->Init(TelCallStatus::CALL_STATUS_DIALING); 4822d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->secondaryActiveState_); 4832d43be4eSopenharmony_ci auto secondaryActiveState = 4842d43be4eSopenharmony_ci static_cast<SecondaryActiveState *>(incallStateMachine->secondaryActiveState_.GetRefPtr()); 4852d43be4eSopenharmony_ci incallStateMachine = nullptr; 4862d43be4eSopenharmony_ci secondaryActiveState->stateMachine_ = incallStateMachine; 4872d43be4eSopenharmony_ci bool result = secondaryActiveState->ProcessCallEnded(event); 4882d43be4eSopenharmony_ci EXPECT_EQ(result, NOT_PROCESSED); 4892d43be4eSopenharmony_ci} 4902d43be4eSopenharmony_ci 4912d43be4eSopenharmony_ci/** 4922d43be4eSopenharmony_ci * @tc.number SecondaryActiveState_ProcessCallEnded_002 4932d43be4eSopenharmony_ci * @tc.name test function branch 4942d43be4eSopenharmony_ci * @tc.desc Function test 4952d43be4eSopenharmony_ci */ 4962d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, SecondaryActiveState_ProcessCallEnded_002, Function | MediumTest | Level1) 4972d43be4eSopenharmony_ci{ 4982d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 4992d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 5002d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 5012d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_INCALL_DATA_DATA_CONNECTED); 5022d43be4eSopenharmony_ci incallStateMachine->Init(TelCallStatus::CALL_STATUS_DIALING); 5032d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->secondaryActiveState_); 5042d43be4eSopenharmony_ci incallStateMachine->UpdateCallState(static_cast<int32_t>(TelCallStatus::CALL_STATUS_IDLE)); 5052d43be4eSopenharmony_ci auto secondaryActiveState = 5062d43be4eSopenharmony_ci static_cast<SecondaryActiveState *>(incallStateMachine->secondaryActiveState_.GetRefPtr()); 5072d43be4eSopenharmony_ci secondaryActiveState->stateMachine_ = incallStateMachine; 5082d43be4eSopenharmony_ci bool result = secondaryActiveState->ProcessCallEnded(event); 5092d43be4eSopenharmony_ci EXPECT_EQ(result, PROCESSED); 5102d43be4eSopenharmony_ci incallStateMachine->UpdateCallState(static_cast<int32_t>(TelCallStatus::CALL_STATUS_DISCONNECTED)); 5112d43be4eSopenharmony_ci result = secondaryActiveState->ProcessCallEnded(event); 5122d43be4eSopenharmony_ci EXPECT_EQ(result, PROCESSED); 5132d43be4eSopenharmony_ci} 5142d43be4eSopenharmony_ci 5152d43be4eSopenharmony_ci/** 5162d43be4eSopenharmony_ci * @tc.number SecondaryActiveState_IncallDataStateMachine_001 5172d43be4eSopenharmony_ci * @tc.name test function branch 5182d43be4eSopenharmony_ci * @tc.desc Function test 5192d43be4eSopenharmony_ci */ 5202d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, SecondaryActiveState_IncallDataStateMachine_001, Function | MediumTest | Level1) 5212d43be4eSopenharmony_ci{ 5222d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 5232d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 5242d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 5252d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_INCALL_DATA_DATA_CONNECTED); 5262d43be4eSopenharmony_ci incallStateMachine->Init(TelCallStatus::CALL_STATUS_DIALING); 5272d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->secondaryActiveState_); 5282d43be4eSopenharmony_ci auto secondaryActiveState = 5292d43be4eSopenharmony_ci static_cast<SecondaryActiveState *>(incallStateMachine->secondaryActiveState_.GetRefPtr()); 5302d43be4eSopenharmony_ci incallStateMachine = nullptr; 5312d43be4eSopenharmony_ci secondaryActiveState->stateMachine_ = incallStateMachine; 5322d43be4eSopenharmony_ci bool result = secondaryActiveState->ProcessCallEnded(event); 5332d43be4eSopenharmony_ci EXPECT_EQ(result, NOT_PROCESSED); 5342d43be4eSopenharmony_ci result = secondaryActiveState->ProcessSettingsOff(event); 5352d43be4eSopenharmony_ci EXPECT_EQ(result, NOT_PROCESSED); 5362d43be4eSopenharmony_ci} 5372d43be4eSopenharmony_ci 5382d43be4eSopenharmony_ci/** 5392d43be4eSopenharmony_ci * @tc.number InactiveStateBegin_001 5402d43be4eSopenharmony_ci * @tc.name test function branch 5412d43be4eSopenharmony_ci * @tc.desc Function test 5422d43be4eSopenharmony_ci */ 5432d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, InactiveStateBegin_001, Function | MediumTest | Level1) 5442d43be4eSopenharmony_ci{ 5452d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 5462d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 5472d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 5482d43be4eSopenharmony_ci cellularMachine->Init(); 5492d43be4eSopenharmony_ci } 5502d43be4eSopenharmony_ci auto inactive = static_cast<Inactive *>(cellularMachine->inActiveState_.GetRefPtr()); 5512d43be4eSopenharmony_ci inactive->deActiveApnTypeId_ = 0; 5522d43be4eSopenharmony_ci inactive->SetStateMachine(cellularMachine); 5532d43be4eSopenharmony_ci inactive->SetDataCallResultInfoToRetry(); 5542d43be4eSopenharmony_ci EXPECT_EQ(inactive->resultInfo_->reason, static_cast<int32_t>(PdpErrorReason::PDP_ERR_RETRY)); 5552d43be4eSopenharmony_ci inactive->SetDataCallResultInfoToClear(); 5562d43be4eSopenharmony_ci EXPECT_EQ(inactive->resultInfo_->reason, 5572d43be4eSopenharmony_ci static_cast<int32_t>(PdpErrorReason::PDP_ERR_UNKNOWN_TO_CLEAR_CONNECTION)); 5582d43be4eSopenharmony_ci} 5592d43be4eSopenharmony_ci 5602d43be4eSopenharmony_ci/** 5612d43be4eSopenharmony_ci * @tc.number InactiveStateProcess_002 5622d43be4eSopenharmony_ci * @tc.name test function branch 5632d43be4eSopenharmony_ci * @tc.desc Function test 5642d43be4eSopenharmony_ci */ 5652d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, InactiveStateProcess_002, Function | MediumTest | Level1) 5662d43be4eSopenharmony_ci{ 5672d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 5682d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 5692d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 5702d43be4eSopenharmony_ci cellularMachine->Init(); 5712d43be4eSopenharmony_ci } 5722d43be4eSopenharmony_ci auto inactive = static_cast<Inactive *>(cellularMachine->inActiveState_.GetRefPtr()); 5732d43be4eSopenharmony_ci inactive->stateMachine_ = cellularMachine; 5742d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_DISCONNECT); 5752d43be4eSopenharmony_ci bool result = inactive->StateProcess(event); 5762d43be4eSopenharmony_ci EXPECT_EQ(result, true); 5772d43be4eSopenharmony_ci} 5782d43be4eSopenharmony_ci 5792d43be4eSopenharmony_ci/** 5802d43be4eSopenharmony_ci * @tc.number InactiveStateProcess_003 5812d43be4eSopenharmony_ci * @tc.name test function branch 5822d43be4eSopenharmony_ci * @tc.desc Function test 5832d43be4eSopenharmony_ci */ 5842d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, InactiveStateProcess_003, Function | MediumTest | Level1) 5852d43be4eSopenharmony_ci{ 5862d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 5872d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 5882d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 5892d43be4eSopenharmony_ci cellularMachine->Init(); 5902d43be4eSopenharmony_ci } 5912d43be4eSopenharmony_ci auto inactive = static_cast<Inactive *>(cellularMachine->inActiveState_.GetRefPtr()); 5922d43be4eSopenharmony_ci inactive->SetStateMachine(cellularMachine); 5932d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_DISCONNECT_ALL); 5942d43be4eSopenharmony_ci bool result = inactive->StateProcess(event); 5952d43be4eSopenharmony_ci EXPECT_EQ(result, true); 5962d43be4eSopenharmony_ci} 5972d43be4eSopenharmony_ci 5982d43be4eSopenharmony_ci/** 5992d43be4eSopenharmony_ci * @tc.number Inactive_CellularDataStateMachine_001 6002d43be4eSopenharmony_ci * @tc.name test function branch 6012d43be4eSopenharmony_ci * @tc.desc Function test 6022d43be4eSopenharmony_ci */ 6032d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Inactive_CellularDataStateMachine_001, Function | MediumTest | Level1) 6042d43be4eSopenharmony_ci{ 6052d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 6062d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 6072d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 6082d43be4eSopenharmony_ci cellularMachine->Init(); 6092d43be4eSopenharmony_ci } 6102d43be4eSopenharmony_ci auto inactive = static_cast<Inactive *>(cellularMachine->inActiveState_.GetRefPtr()); 6112d43be4eSopenharmony_ci cellularMachine = nullptr; 6122d43be4eSopenharmony_ci inactive->stateMachine_ = cellularMachine; 6132d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_DISCONNECT_ALL); 6142d43be4eSopenharmony_ci bool result = inactive->StateProcess(event); 6152d43be4eSopenharmony_ci inactive->StateBegin(); 6162d43be4eSopenharmony_ci EXPECT_EQ(result, false); 6172d43be4eSopenharmony_ci} 6182d43be4eSopenharmony_ci 6192d43be4eSopenharmony_ci/** 6202d43be4eSopenharmony_ci * @tc.number DefaultStateProcess_001 6212d43be4eSopenharmony_ci * @tc.name test function branch 6222d43be4eSopenharmony_ci * @tc.desc Function test 6232d43be4eSopenharmony_ci */ 6242d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, DefaultStateProcess_001, Function | MediumTest | Level1) 6252d43be4eSopenharmony_ci{ 6262d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 6272d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 6282d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 6292d43be4eSopenharmony_ci cellularMachine->Init(); 6302d43be4eSopenharmony_ci } 6312d43be4eSopenharmony_ci auto mDefault = static_cast<Default *>(cellularMachine->defaultState_.GetRefPtr()); 6322d43be4eSopenharmony_ci mDefault->stateMachine_ = cellularMachine; 6332d43be4eSopenharmony_ci mDefault->eventIdFunMap_.clear(); 6342d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_CONNECT); 6352d43be4eSopenharmony_ci bool result = mDefault->StateProcess(event); 6362d43be4eSopenharmony_ci EXPECT_EQ(result, false); 6372d43be4eSopenharmony_ci} 6382d43be4eSopenharmony_ci 6392d43be4eSopenharmony_ci/** 6402d43be4eSopenharmony_ci * @tc.number DefaultStateProcess_002 6412d43be4eSopenharmony_ci * @tc.name test function branch 6422d43be4eSopenharmony_ci * @tc.desc Function test 6432d43be4eSopenharmony_ci */ 6442d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, DefaultStateProcess_002, Function | MediumTest | Level1) 6452d43be4eSopenharmony_ci{ 6462d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 6472d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 6482d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 6492d43be4eSopenharmony_ci cellularMachine->Init(); 6502d43be4eSopenharmony_ci } 6512d43be4eSopenharmony_ci auto mDefault = static_cast<Default *>(cellularMachine->defaultState_.GetRefPtr()); 6522d43be4eSopenharmony_ci cellularMachine = nullptr; 6532d43be4eSopenharmony_ci mDefault->stateMachine_ = cellularMachine; 6542d43be4eSopenharmony_ci mDefault->eventIdFunMap_.clear(); 6552d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_CONNECT); 6562d43be4eSopenharmony_ci bool result = mDefault->StateProcess(event); 6572d43be4eSopenharmony_ci EXPECT_EQ(result, false); 6582d43be4eSopenharmony_ci} 6592d43be4eSopenharmony_ci 6602d43be4eSopenharmony_ci/** 6612d43be4eSopenharmony_ci * @tc.number DefaultProcessDisconnectDone_001 6622d43be4eSopenharmony_ci * @tc.name test function branch 6632d43be4eSopenharmony_ci * @tc.desc Function test 6642d43be4eSopenharmony_ci */ 6652d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, DefaultProcessDisconnectDone_001, Function | MediumTest | Level1) 6662d43be4eSopenharmony_ci{ 6672d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 6682d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 6692d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 6702d43be4eSopenharmony_ci cellularMachine->Init(); 6712d43be4eSopenharmony_ci } 6722d43be4eSopenharmony_ci auto mDefault = static_cast<Default *>(cellularMachine->defaultState_.GetRefPtr()); 6732d43be4eSopenharmony_ci mDefault->stateMachine_ = cellularMachine; 6742d43be4eSopenharmony_ci mDefault->eventIdFunMap_.clear(); 6752d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_CONNECT); 6762d43be4eSopenharmony_ci bool result = mDefault->ProcessDisconnectDone(event); 6772d43be4eSopenharmony_ci EXPECT_EQ(result, true); 6782d43be4eSopenharmony_ci} 6792d43be4eSopenharmony_ci 6802d43be4eSopenharmony_ci/** 6812d43be4eSopenharmony_ci * @tc.number DefaultProcessDisconnectDone_002 6822d43be4eSopenharmony_ci * @tc.name test function branch 6832d43be4eSopenharmony_ci * @tc.desc Function test 6842d43be4eSopenharmony_ci */ 6852d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, DefaultProcessDisconnectDone_002, Function | MediumTest | Level1) 6862d43be4eSopenharmony_ci{ 6872d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 6882d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 6892d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 6902d43be4eSopenharmony_ci cellularMachine->Init(); 6912d43be4eSopenharmony_ci } 6922d43be4eSopenharmony_ci auto mDefault = static_cast<Default *>(cellularMachine->defaultState_.GetRefPtr()); 6932d43be4eSopenharmony_ci cellularMachine = nullptr; 6942d43be4eSopenharmony_ci mDefault->stateMachine_ = cellularMachine; 6952d43be4eSopenharmony_ci mDefault->eventIdFunMap_.clear(); 6962d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_CONNECT); 6972d43be4eSopenharmony_ci bool result = mDefault->ProcessDisconnectDone(event); 6982d43be4eSopenharmony_ci EXPECT_EQ(result, false); 6992d43be4eSopenharmony_ci} 7002d43be4eSopenharmony_ci 7012d43be4eSopenharmony_ci/** 7022d43be4eSopenharmony_ci * @tc.number DefaultProcessDisconnectAllDone_001 7032d43be4eSopenharmony_ci * @tc.name test function branch 7042d43be4eSopenharmony_ci * @tc.desc Function test 7052d43be4eSopenharmony_ci */ 7062d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, DefaultProcessDisconnectAllDone_001, Function | MediumTest | Level1) 7072d43be4eSopenharmony_ci{ 7082d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 7092d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 7102d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 7112d43be4eSopenharmony_ci cellularMachine->Init(); 7122d43be4eSopenharmony_ci } 7132d43be4eSopenharmony_ci auto mDefault = static_cast<Default *>(cellularMachine->defaultState_.GetRefPtr()); 7142d43be4eSopenharmony_ci mDefault->stateMachine_ = cellularMachine; 7152d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_CONNECT); 7162d43be4eSopenharmony_ci bool result = mDefault->ProcessDisconnectAllDone(event); 7172d43be4eSopenharmony_ci EXPECT_EQ(result, true); 7182d43be4eSopenharmony_ci} 7192d43be4eSopenharmony_ci 7202d43be4eSopenharmony_ci/** 7212d43be4eSopenharmony_ci * @tc.number DefaultProcessDisconnectAllDone_002 7222d43be4eSopenharmony_ci * @tc.name test function branch 7232d43be4eSopenharmony_ci * @tc.desc Function test 7242d43be4eSopenharmony_ci */ 7252d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, DefaultProcessDisconnectAllDone_002, Function | MediumTest | Level1) 7262d43be4eSopenharmony_ci{ 7272d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 7282d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 7292d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 7302d43be4eSopenharmony_ci cellularMachine->Init(); 7312d43be4eSopenharmony_ci } 7322d43be4eSopenharmony_ci auto mDefault = static_cast<Default *>(cellularMachine->defaultState_.GetRefPtr()); 7332d43be4eSopenharmony_ci cellularMachine = nullptr; 7342d43be4eSopenharmony_ci mDefault->stateMachine_ = cellularMachine; 7352d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_CONNECT); 7362d43be4eSopenharmony_ci bool result = mDefault->ProcessDisconnectAllDone(event); 7372d43be4eSopenharmony_ci EXPECT_EQ(result, false); 7382d43be4eSopenharmony_ci} 7392d43be4eSopenharmony_ci 7402d43be4eSopenharmony_ci/** 7412d43be4eSopenharmony_ci * @tc.number DefaultProcessDataConnectionDrsOrRatChanged_001 7422d43be4eSopenharmony_ci * @tc.name test function branch 7432d43be4eSopenharmony_ci * @tc.desc Function test 7442d43be4eSopenharmony_ci */ 7452d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, DefaultProcessDataConnectionDrsOrRatChanged_001, Function | MediumTest | Level1) 7462d43be4eSopenharmony_ci{ 7472d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 7482d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 7492d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 7502d43be4eSopenharmony_ci cellularMachine->Init(); 7512d43be4eSopenharmony_ci } 7522d43be4eSopenharmony_ci auto mDefault = static_cast<Default *>(cellularMachine->defaultState_.GetRefPtr()); 7532d43be4eSopenharmony_ci cellularMachine->TransitionTo(cellularMachine->activeState_); 7542d43be4eSopenharmony_ci mDefault->stateMachine_ = cellularMachine; 7552d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_CONNECT); 7562d43be4eSopenharmony_ci bool result = mDefault->ProcessDataConnectionDrsOrRatChanged(event); 7572d43be4eSopenharmony_ci EXPECT_EQ(result, false); 7582d43be4eSopenharmony_ci} 7592d43be4eSopenharmony_ci 7602d43be4eSopenharmony_ci/** 7612d43be4eSopenharmony_ci * @tc.number DefaultProcessDataConnectionDrsOrRatChanged_002 7622d43be4eSopenharmony_ci * @tc.name test function branch 7632d43be4eSopenharmony_ci * @tc.desc Function test 7642d43be4eSopenharmony_ci */ 7652d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, DefaultProcessDataConnectionDrsOrRatChanged_002, Function | MediumTest | Level1) 7662d43be4eSopenharmony_ci{ 7672d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 7682d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 7692d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 7702d43be4eSopenharmony_ci cellularMachine->Init(); 7712d43be4eSopenharmony_ci } 7722d43be4eSopenharmony_ci auto mDefault = static_cast<Default *>(cellularMachine->defaultState_.GetRefPtr()); 7732d43be4eSopenharmony_ci cellularMachine->TransitionTo(cellularMachine->activatingState_); 7742d43be4eSopenharmony_ci mDefault->stateMachine_ = cellularMachine; 7752d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_CONNECT); 7762d43be4eSopenharmony_ci bool result = mDefault->ProcessDataConnectionDrsOrRatChanged(event); 7772d43be4eSopenharmony_ci EXPECT_EQ(result, false); 7782d43be4eSopenharmony_ci} 7792d43be4eSopenharmony_ci 7802d43be4eSopenharmony_ci/** 7812d43be4eSopenharmony_ci * @tc.number DefaultProcessDataConnectionDrsOrRatChanged_003 7822d43be4eSopenharmony_ci * @tc.name test function branch 7832d43be4eSopenharmony_ci * @tc.desc Function test 7842d43be4eSopenharmony_ci */ 7852d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, DefaultProcessDataConnectionDrsOrRatChanged_003, Function | MediumTest | Level1) 7862d43be4eSopenharmony_ci{ 7872d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 7882d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 7892d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 7902d43be4eSopenharmony_ci cellularMachine->Init(); 7912d43be4eSopenharmony_ci } 7922d43be4eSopenharmony_ci auto mDefault = static_cast<Default *>(cellularMachine->defaultState_.GetRefPtr()); 7932d43be4eSopenharmony_ci cellularMachine->TransitionTo(cellularMachine->disconnectingState_); 7942d43be4eSopenharmony_ci mDefault->stateMachine_ = cellularMachine; 7952d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_CONNECT); 7962d43be4eSopenharmony_ci bool result = mDefault->ProcessDataConnectionDrsOrRatChanged(event); 7972d43be4eSopenharmony_ci EXPECT_EQ(result, false); 7982d43be4eSopenharmony_ci} 7992d43be4eSopenharmony_ci 8002d43be4eSopenharmony_ci/** 8012d43be4eSopenharmony_ci * @tc.number DefaultProcessDataConnectionDrsOrRatChanged_004 8022d43be4eSopenharmony_ci * @tc.name test function branch 8032d43be4eSopenharmony_ci * @tc.desc Function test 8042d43be4eSopenharmony_ci */ 8052d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, DefaultProcessDataConnectionDrsOrRatChanged_004, Function | MediumTest | Level1) 8062d43be4eSopenharmony_ci{ 8072d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 8082d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 8092d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 8102d43be4eSopenharmony_ci cellularMachine->Init(); 8112d43be4eSopenharmony_ci } 8122d43be4eSopenharmony_ci auto mDefault = static_cast<Default *>(cellularMachine->defaultState_.GetRefPtr()); 8132d43be4eSopenharmony_ci cellularMachine = nullptr; 8142d43be4eSopenharmony_ci mDefault->stateMachine_ = cellularMachine; 8152d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_CONNECT); 8162d43be4eSopenharmony_ci bool result = mDefault->ProcessDataConnectionDrsOrRatChanged(event); 8172d43be4eSopenharmony_ci EXPECT_EQ(result, false); 8182d43be4eSopenharmony_ci} 8192d43be4eSopenharmony_ci 8202d43be4eSopenharmony_ci/** 8212d43be4eSopenharmony_ci * @tc.number Active_StateBegin_001 8222d43be4eSopenharmony_ci * @tc.name test function branch 8232d43be4eSopenharmony_ci * @tc.desc Function test 8242d43be4eSopenharmony_ci */ 8252d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Active_StateBegin_001, Function | MediumTest | Level1) 8262d43be4eSopenharmony_ci{ 8272d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 8282d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 8292d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 8302d43be4eSopenharmony_ci cellularMachine->Init(); 8312d43be4eSopenharmony_ci } 8322d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 8332d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 8342d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_CONNECT); 8352d43be4eSopenharmony_ci active->StateBegin(); 8362d43be4eSopenharmony_ci EXPECT_EQ(active->isActive_, true); 8372d43be4eSopenharmony_ci} 8382d43be4eSopenharmony_ci 8392d43be4eSopenharmony_ci/** 8402d43be4eSopenharmony_ci * @tc.number Active_StateProcess_001 8412d43be4eSopenharmony_ci * @tc.name test function branch 8422d43be4eSopenharmony_ci * @tc.desc Function test 8432d43be4eSopenharmony_ci */ 8442d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Active_StateProcess_001, Function | MediumTest | Level1) 8452d43be4eSopenharmony_ci{ 8462d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 8472d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 8482d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 8492d43be4eSopenharmony_ci cellularMachine->Init(); 8502d43be4eSopenharmony_ci } 8512d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 8522d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 8532d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_CONNECT); 8542d43be4eSopenharmony_ci bool result = active->StateProcess(event); 8552d43be4eSopenharmony_ci EXPECT_EQ(result, true); 8562d43be4eSopenharmony_ci} 8572d43be4eSopenharmony_ci 8582d43be4eSopenharmony_ci/** 8592d43be4eSopenharmony_ci * @tc.number Active_StateProcess_002 8602d43be4eSopenharmony_ci * @tc.name test function branch 8612d43be4eSopenharmony_ci * @tc.desc Function test 8622d43be4eSopenharmony_ci */ 8632d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Active_StateProcess_002, Function | MediumTest | Level1) 8642d43be4eSopenharmony_ci{ 8652d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 8662d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 8672d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 8682d43be4eSopenharmony_ci cellularMachine->Init(); 8692d43be4eSopenharmony_ci } 8702d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 8712d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 8722d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 8732d43be4eSopenharmony_ci bool result = active->StateProcess(event); 8742d43be4eSopenharmony_ci EXPECT_EQ(result, false); 8752d43be4eSopenharmony_ci} 8762d43be4eSopenharmony_ci 8772d43be4eSopenharmony_ci/** 8782d43be4eSopenharmony_ci * @tc.number Active_StateProcess_003 8792d43be4eSopenharmony_ci * @tc.name test function branch 8802d43be4eSopenharmony_ci * @tc.desc Function test 8812d43be4eSopenharmony_ci */ 8822d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Active_StateProcess_003, Function | MediumTest | Level1) 8832d43be4eSopenharmony_ci{ 8842d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 8852d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 8862d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 8872d43be4eSopenharmony_ci cellularMachine->Init(); 8882d43be4eSopenharmony_ci } 8892d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 8902d43be4eSopenharmony_ci cellularMachine = nullptr; 8912d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 8922d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_CONNECT); 8932d43be4eSopenharmony_ci bool result = active->StateProcess(event); 8942d43be4eSopenharmony_ci EXPECT_EQ(result, true); 8952d43be4eSopenharmony_ci} 8962d43be4eSopenharmony_ci 8972d43be4eSopenharmony_ci/** 8982d43be4eSopenharmony_ci * @tc.number Active_ProcessDisconnectDone_001 8992d43be4eSopenharmony_ci * @tc.name test function branch 9002d43be4eSopenharmony_ci * @tc.desc Function test 9012d43be4eSopenharmony_ci */ 9022d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Active_ProcessDisconnectDone_001, Function | MediumTest | Level1) 9032d43be4eSopenharmony_ci{ 9042d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 9052d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 9062d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 9072d43be4eSopenharmony_ci cellularMachine->Init(); 9082d43be4eSopenharmony_ci } 9092d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 9102d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 9112d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 9122d43be4eSopenharmony_ci event = nullptr; 9132d43be4eSopenharmony_ci bool result = active->ProcessDisconnectDone(event); 9142d43be4eSopenharmony_ci EXPECT_EQ(result, false); 9152d43be4eSopenharmony_ci} 9162d43be4eSopenharmony_ci 9172d43be4eSopenharmony_ci/** 9182d43be4eSopenharmony_ci * @tc.number Active_ProcessDisconnectDone_002 9192d43be4eSopenharmony_ci * @tc.name test function branch 9202d43be4eSopenharmony_ci * @tc.desc Function test 9212d43be4eSopenharmony_ci */ 9222d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Active_ProcessDisconnectDone_002, Function | MediumTest | Level1) 9232d43be4eSopenharmony_ci{ 9242d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 9252d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 9262d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 9272d43be4eSopenharmony_ci cellularMachine->Init(); 9282d43be4eSopenharmony_ci } 9292d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 9302d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 9312d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 9322d43be4eSopenharmony_ci bool result = active->ProcessDisconnectDone(event); 9332d43be4eSopenharmony_ci EXPECT_EQ(result, false); 9342d43be4eSopenharmony_ci} 9352d43be4eSopenharmony_ci 9362d43be4eSopenharmony_ci/** 9372d43be4eSopenharmony_ci * @tc.number Active_ProcessDisconnectAllDone_001 9382d43be4eSopenharmony_ci * @tc.name test function branch 9392d43be4eSopenharmony_ci * @tc.desc Function test 9402d43be4eSopenharmony_ci */ 9412d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Active_ProcessDisconnectAllDone_001, Function | MediumTest | Level1) 9422d43be4eSopenharmony_ci{ 9432d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 9442d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 9452d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 9462d43be4eSopenharmony_ci cellularMachine->Init(); 9472d43be4eSopenharmony_ci } 9482d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 9492d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 9502d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 9512d43be4eSopenharmony_ci event = nullptr; 9522d43be4eSopenharmony_ci bool result = active->ProcessDisconnectAllDone(event); 9532d43be4eSopenharmony_ci EXPECT_EQ(result, false); 9542d43be4eSopenharmony_ci} 9552d43be4eSopenharmony_ci 9562d43be4eSopenharmony_ci/** 9572d43be4eSopenharmony_ci * @tc.number Active_ProcessDisconnectAllDone_002 9582d43be4eSopenharmony_ci * @tc.name test function branch 9592d43be4eSopenharmony_ci * @tc.desc Function test 9602d43be4eSopenharmony_ci */ 9612d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Active_ProcessDisconnectAllDone_002, Function | MediumTest | Level1) 9622d43be4eSopenharmony_ci{ 9632d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 9642d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 9652d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 9662d43be4eSopenharmony_ci cellularMachine->Init(); 9672d43be4eSopenharmony_ci } 9682d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 9692d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 9702d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 9712d43be4eSopenharmony_ci bool result = active->ProcessDisconnectAllDone(event); 9722d43be4eSopenharmony_ci EXPECT_EQ(result, false); 9732d43be4eSopenharmony_ci} 9742d43be4eSopenharmony_ci 9752d43be4eSopenharmony_ci/** 9762d43be4eSopenharmony_ci * @tc.number Active_ProcessDisconnectAllDone_003 9772d43be4eSopenharmony_ci * @tc.name test function branch 9782d43be4eSopenharmony_ci * @tc.desc Function test 9792d43be4eSopenharmony_ci */ 9802d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Active_ProcessDisconnectAllDone_003, Function | MediumTest | Level1) 9812d43be4eSopenharmony_ci{ 9822d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 9832d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 9842d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 9852d43be4eSopenharmony_ci cellularMachine->Init(); 9862d43be4eSopenharmony_ci } 9872d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 9882d43be4eSopenharmony_ci cellularMachine->TransitionTo(cellularMachine->inActiveState_); 9892d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 9902d43be4eSopenharmony_ci std::shared_ptr<DataDisconnectParams> dataDisconnectParams = 9912d43be4eSopenharmony_ci std::make_shared<DataDisconnectParams>("", DisConnectionReason::REASON_NORMAL); 9922d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0, dataDisconnectParams); 9932d43be4eSopenharmony_ci bool result = active->ProcessDisconnectAllDone(event); 9942d43be4eSopenharmony_ci EXPECT_EQ(result, false); 9952d43be4eSopenharmony_ci} 9962d43be4eSopenharmony_ci 9972d43be4eSopenharmony_ci/** 9982d43be4eSopenharmony_ci * @tc.number Active_ProcessDisconnectAllDone_004 9992d43be4eSopenharmony_ci * @tc.name test function branch 10002d43be4eSopenharmony_ci * @tc.desc Function test 10012d43be4eSopenharmony_ci */ 10022d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Active_ProcessDisconnectAllDone_004, Function | MediumTest | Level1) 10032d43be4eSopenharmony_ci{ 10042d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 10052d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 10062d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 10072d43be4eSopenharmony_ci cellularMachine->Init(); 10082d43be4eSopenharmony_ci } 10092d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 10102d43be4eSopenharmony_ci cellularMachine->inActiveState_ = nullptr; 10112d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 10122d43be4eSopenharmony_ci std::shared_ptr<DataDisconnectParams> dataDisconnectParams = 10132d43be4eSopenharmony_ci std::make_shared<DataDisconnectParams>("", DisConnectionReason::REASON_NORMAL); 10142d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0, dataDisconnectParams); 10152d43be4eSopenharmony_ci bool result = active->ProcessDisconnectAllDone(event); 10162d43be4eSopenharmony_ci EXPECT_EQ(result, false); 10172d43be4eSopenharmony_ci} 10182d43be4eSopenharmony_ci 10192d43be4eSopenharmony_ci/** 10202d43be4eSopenharmony_ci * @tc.number Active_ProcessLinkCapabilityChanged_001 10212d43be4eSopenharmony_ci * @tc.name test function branch 10222d43be4eSopenharmony_ci * @tc.desc Function test 10232d43be4eSopenharmony_ci */ 10242d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Active_ProcessLinkCapabilityChanged_001, Function | MediumTest | Level1) 10252d43be4eSopenharmony_ci{ 10262d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 10272d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 10282d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 10292d43be4eSopenharmony_ci cellularMachine->Init(); 10302d43be4eSopenharmony_ci } 10312d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 10322d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 10332d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 10342d43be4eSopenharmony_ci bool result = active->ProcessLinkCapabilityChanged(event); 10352d43be4eSopenharmony_ci EXPECT_EQ(result, false); 10362d43be4eSopenharmony_ci} 10372d43be4eSopenharmony_ci 10382d43be4eSopenharmony_ci/** 10392d43be4eSopenharmony_ci * @tc.number Active_ProcessLinkCapabilityChanged_002 10402d43be4eSopenharmony_ci * @tc.name test function branch 10412d43be4eSopenharmony_ci * @tc.desc Function test 10422d43be4eSopenharmony_ci */ 10432d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Active_ProcessLinkCapabilityChanged_002, Function | MediumTest | Level1) 10442d43be4eSopenharmony_ci{ 10452d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 10462d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 10472d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 10482d43be4eSopenharmony_ci cellularMachine->Init(); 10492d43be4eSopenharmony_ci } 10502d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 10512d43be4eSopenharmony_ci cellularMachine = nullptr; 10522d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 10532d43be4eSopenharmony_ci std::shared_ptr<DataLinkCapability> linkCapability = std::make_shared<DataLinkCapability>(); 10542d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0, linkCapability); 10552d43be4eSopenharmony_ci bool result = active->ProcessLinkCapabilityChanged(event); 10562d43be4eSopenharmony_ci EXPECT_EQ(result, false); 10572d43be4eSopenharmony_ci} 10582d43be4eSopenharmony_ci 10592d43be4eSopenharmony_ci/** 10602d43be4eSopenharmony_ci * @tc.number Active_ProcessLinkCapabilityChanged_003 10612d43be4eSopenharmony_ci * @tc.name test function branch 10622d43be4eSopenharmony_ci * @tc.desc Function test 10632d43be4eSopenharmony_ci */ 10642d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Active_ProcessLinkCapabilityChanged_003, Function | MediumTest | Level1) 10652d43be4eSopenharmony_ci{ 10662d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 10672d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 10682d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 10692d43be4eSopenharmony_ci cellularMachine->Init(); 10702d43be4eSopenharmony_ci } 10712d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 10722d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 10732d43be4eSopenharmony_ci std::shared_ptr<DataLinkCapability> linkCapability = std::make_shared<DataLinkCapability>(); 10742d43be4eSopenharmony_ci linkCapability->primaryUplinkKbps = 0; 10752d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0, linkCapability); 10762d43be4eSopenharmony_ci bool result = active->ProcessLinkCapabilityChanged(event); 10772d43be4eSopenharmony_ci EXPECT_EQ(result, true); 10782d43be4eSopenharmony_ci} 10792d43be4eSopenharmony_ci 10802d43be4eSopenharmony_ci/** 10812d43be4eSopenharmony_ci * @tc.number Active_ProcessLinkCapabilityChanged_004 10822d43be4eSopenharmony_ci * @tc.name test function branch 10832d43be4eSopenharmony_ci * @tc.desc Function test 10842d43be4eSopenharmony_ci */ 10852d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Active_ProcessLinkCapabilityChanged_004, Function | MediumTest | Level1) 10862d43be4eSopenharmony_ci{ 10872d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 10882d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 10892d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 10902d43be4eSopenharmony_ci cellularMachine->Init(); 10912d43be4eSopenharmony_ci } 10922d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 10932d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 10942d43be4eSopenharmony_ci std::shared_ptr<DataLinkCapability> linkCapability = std::make_shared<DataLinkCapability>(); 10952d43be4eSopenharmony_ci linkCapability->primaryUplinkKbps = 1; 10962d43be4eSopenharmony_ci linkCapability->primaryDownlinkKbps = 0; 10972d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0, linkCapability); 10982d43be4eSopenharmony_ci bool result = active->ProcessLinkCapabilityChanged(event); 10992d43be4eSopenharmony_ci EXPECT_EQ(result, true); 11002d43be4eSopenharmony_ci} 11012d43be4eSopenharmony_ci 11022d43be4eSopenharmony_ci/** 11032d43be4eSopenharmony_ci * @tc.number Active_ProcessLinkCapabilityChanged_005 11042d43be4eSopenharmony_ci * @tc.name test function branch 11052d43be4eSopenharmony_ci * @tc.desc Function test 11062d43be4eSopenharmony_ci */ 11072d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Active_ProcessLinkCapabilityChanged_005, Function | MediumTest | Level1) 11082d43be4eSopenharmony_ci{ 11092d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 11102d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 11112d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 11122d43be4eSopenharmony_ci cellularMachine->Init(); 11132d43be4eSopenharmony_ci } 11142d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 11152d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 11162d43be4eSopenharmony_ci std::shared_ptr<DataLinkCapability> linkCapability = std::make_shared<DataLinkCapability>(); 11172d43be4eSopenharmony_ci linkCapability->primaryUplinkKbps = 1; 11182d43be4eSopenharmony_ci linkCapability->primaryDownlinkKbps = 1; 11192d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0, linkCapability); 11202d43be4eSopenharmony_ci bool result = active->ProcessLinkCapabilityChanged(event); 11212d43be4eSopenharmony_ci EXPECT_EQ(result, true); 11222d43be4eSopenharmony_ci} 11232d43be4eSopenharmony_ci 11242d43be4eSopenharmony_ci/** 11252d43be4eSopenharmony_ci * @tc.number Active_ProcessDataConnectionComplete_001 11262d43be4eSopenharmony_ci * @tc.name test function branch 11272d43be4eSopenharmony_ci * @tc.desc Function test 11282d43be4eSopenharmony_ci */ 11292d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Active_ProcessDataConnectionComplete_001, Function | MediumTest | Level1) 11302d43be4eSopenharmony_ci{ 11312d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 11322d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 11332d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 11342d43be4eSopenharmony_ci cellularMachine->Init(); 11352d43be4eSopenharmony_ci } 11362d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 11372d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 11382d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 11392d43be4eSopenharmony_ci bool result = active->ProcessDataConnectionComplete(event); 11402d43be4eSopenharmony_ci EXPECT_EQ(result, false); 11412d43be4eSopenharmony_ci} 11422d43be4eSopenharmony_ci 11432d43be4eSopenharmony_ci/** 11442d43be4eSopenharmony_ci * @tc.number Active_ProcessDataConnectionComplete_002 11452d43be4eSopenharmony_ci * @tc.name test function branch 11462d43be4eSopenharmony_ci * @tc.desc Function test 11472d43be4eSopenharmony_ci */ 11482d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Active_ProcessDataConnectionComplete_002, Function | MediumTest | Level1) 11492d43be4eSopenharmony_ci{ 11502d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 11512d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 11522d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 11532d43be4eSopenharmony_ci cellularMachine->Init(); 11542d43be4eSopenharmony_ci } 11552d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 11562d43be4eSopenharmony_ci cellularMachine = nullptr; 11572d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 11582d43be4eSopenharmony_ci std::shared_ptr<SetupDataCallResultInfo> setupDataCallResultInfo = std::make_shared<SetupDataCallResultInfo>(); 11592d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0, setupDataCallResultInfo); 11602d43be4eSopenharmony_ci bool result = active->ProcessDataConnectionComplete(event); 11612d43be4eSopenharmony_ci EXPECT_EQ(result, false); 11622d43be4eSopenharmony_ci} 11632d43be4eSopenharmony_ci 11642d43be4eSopenharmony_ci/** 11652d43be4eSopenharmony_ci * @tc.number Active_ProcessDataConnectionComplete_003 11662d43be4eSopenharmony_ci * @tc.name test function branch 11672d43be4eSopenharmony_ci * @tc.desc Function test 11682d43be4eSopenharmony_ci */ 11692d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Active_ProcessDataConnectionComplete_003, Function | MediumTest | Level1) 11702d43be4eSopenharmony_ci{ 11712d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 11722d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 11732d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 11742d43be4eSopenharmony_ci cellularMachine->Init(); 11752d43be4eSopenharmony_ci } 11762d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 11772d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 11782d43be4eSopenharmony_ci std::shared_ptr<SetupDataCallResultInfo> setupDataCallResultInfo = std::make_shared<SetupDataCallResultInfo>(); 11792d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0, setupDataCallResultInfo); 11802d43be4eSopenharmony_ci bool result = active->ProcessDataConnectionComplete(event); 11812d43be4eSopenharmony_ci EXPECT_EQ(result, true); 11822d43be4eSopenharmony_ci} 11832d43be4eSopenharmony_ci 11842d43be4eSopenharmony_ci/** 11852d43be4eSopenharmony_ci * @tc.number Active_ProcessDataConnectionComplete_004 11862d43be4eSopenharmony_ci * @tc.name test function branch 11872d43be4eSopenharmony_ci * @tc.desc Function test 11882d43be4eSopenharmony_ci */ 11892d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Active_ProcessDataConnectionComplete_004, Function | MediumTest | Level1) 11902d43be4eSopenharmony_ci{ 11912d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 11922d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 11932d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 11942d43be4eSopenharmony_ci cellularMachine->Init(); 11952d43be4eSopenharmony_ci } 11962d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 11972d43be4eSopenharmony_ci cellularMachine->stateMachineEventHandler_ = nullptr; 11982d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 11992d43be4eSopenharmony_ci std::shared_ptr<SetupDataCallResultInfo> setupDataCallResultInfo = std::make_shared<SetupDataCallResultInfo>(); 12002d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0, setupDataCallResultInfo); 12012d43be4eSopenharmony_ci bool result = active->ProcessDataConnectionComplete(event); 12022d43be4eSopenharmony_ci EXPECT_EQ(result, false); 12032d43be4eSopenharmony_ci} 12042d43be4eSopenharmony_ci 12052d43be4eSopenharmony_ci/** 12062d43be4eSopenharmony_ci * @tc.number Active_ProcessNrStateChanged_001 12072d43be4eSopenharmony_ci * @tc.name test function branch 12082d43be4eSopenharmony_ci * @tc.desc Function test 12092d43be4eSopenharmony_ci */ 12102d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Active_ProcessNrStateChanged_001, Function | MediumTest | Level1) 12112d43be4eSopenharmony_ci{ 12122d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 12132d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 12142d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 12152d43be4eSopenharmony_ci cellularMachine->Init(); 12162d43be4eSopenharmony_ci } 12172d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 12182d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 12192d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_CONNECT); 12202d43be4eSopenharmony_ci bool result = active->ProcessNrStateChanged(event); 12212d43be4eSopenharmony_ci EXPECT_EQ(result, true); 12222d43be4eSopenharmony_ci} 12232d43be4eSopenharmony_ci 12242d43be4eSopenharmony_ci/** 12252d43be4eSopenharmony_ci * @tc.number Active_ProcessNrStateChanged_002 12262d43be4eSopenharmony_ci * @tc.name test function branch 12272d43be4eSopenharmony_ci * @tc.desc Function test 12282d43be4eSopenharmony_ci */ 12292d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Active_ProcessNrStateChanged_002, Function | MediumTest | Level1) 12302d43be4eSopenharmony_ci{ 12312d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 12322d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 12332d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 12342d43be4eSopenharmony_ci cellularMachine->Init(); 12352d43be4eSopenharmony_ci } 12362d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 12372d43be4eSopenharmony_ci cellularMachine = nullptr; 12382d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 12392d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_CONNECT); 12402d43be4eSopenharmony_ci bool result = active->ProcessNrStateChanged(event); 12412d43be4eSopenharmony_ci EXPECT_EQ(result, false); 12422d43be4eSopenharmony_ci} 12432d43be4eSopenharmony_ci 12442d43be4eSopenharmony_ci/** 12452d43be4eSopenharmony_ci * @tc.number Active_ProcessNrFrequencyChanged_001 12462d43be4eSopenharmony_ci * @tc.name test function branch 12472d43be4eSopenharmony_ci * @tc.desc Function test 12482d43be4eSopenharmony_ci */ 12492d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Active_ProcessNrFrequencyChanged_001, Function | MediumTest | Level1) 12502d43be4eSopenharmony_ci{ 12512d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 12522d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 12532d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 12542d43be4eSopenharmony_ci cellularMachine->Init(); 12552d43be4eSopenharmony_ci } 12562d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 12572d43be4eSopenharmony_ci cellularMachine = nullptr; 12582d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 12592d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_CONNECT); 12602d43be4eSopenharmony_ci bool result = active->ProcessNrFrequencyChanged(event); 12612d43be4eSopenharmony_ci EXPECT_EQ(result, false); 12622d43be4eSopenharmony_ci} 12632d43be4eSopenharmony_ci 12642d43be4eSopenharmony_ci/** 12652d43be4eSopenharmony_ci * @tc.number Active_ProcessDisconnectAllDone_001 12662d43be4eSopenharmony_ci * @tc.name test function branch 12672d43be4eSopenharmony_ci * @tc.desc Function test 12682d43be4eSopenharmony_ci */ 12692d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Active_ProcessLostConnection_001, Function | MediumTest | Level1) 12702d43be4eSopenharmony_ci{ 12712d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 12722d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 12732d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 12742d43be4eSopenharmony_ci cellularMachine->Init(); 12752d43be4eSopenharmony_ci } 12762d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 12772d43be4eSopenharmony_ci cellularMachine->TransitionTo(cellularMachine->inActiveState_); 12782d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 12792d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 12802d43be4eSopenharmony_ci bool result = active->ProcessLostConnection(event); 12812d43be4eSopenharmony_ci EXPECT_EQ(result, true); 12822d43be4eSopenharmony_ci} 12832d43be4eSopenharmony_ci 12842d43be4eSopenharmony_ci/** 12852d43be4eSopenharmony_ci * @tc.number Active_ProcessLostConnection_002 12862d43be4eSopenharmony_ci * @tc.name test function branch 12872d43be4eSopenharmony_ci * @tc.desc Function test 12882d43be4eSopenharmony_ci */ 12892d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Active_ProcessLostConnection_002, Function | MediumTest | Level1) 12902d43be4eSopenharmony_ci{ 12912d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 12922d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 12932d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 12942d43be4eSopenharmony_ci cellularMachine->Init(); 12952d43be4eSopenharmony_ci } 12962d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 12972d43be4eSopenharmony_ci cellularMachine->inActiveState_ = nullptr; 12982d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 12992d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 13002d43be4eSopenharmony_ci bool result = active->ProcessLostConnection(event); 13012d43be4eSopenharmony_ci EXPECT_EQ(result, false); 13022d43be4eSopenharmony_ci} 13032d43be4eSopenharmony_ci 13042d43be4eSopenharmony_ci/** 13052d43be4eSopenharmony_ci * @tc.number Active_ProcessDataConnectionRoamOn_001 13062d43be4eSopenharmony_ci * @tc.name test function branch 13072d43be4eSopenharmony_ci * @tc.desc Function test 13082d43be4eSopenharmony_ci */ 13092d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Active_ProcessDataConnectionRoamOn_001, Function | MediumTest | Level1) 13102d43be4eSopenharmony_ci{ 13112d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 13122d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 13132d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 13142d43be4eSopenharmony_ci cellularMachine->Init(); 13152d43be4eSopenharmony_ci } 13162d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 13172d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 13182d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_CONNECT); 13192d43be4eSopenharmony_ci bool result = active->ProcessDataConnectionRoamOn(event); 13202d43be4eSopenharmony_ci EXPECT_EQ(result, true); 13212d43be4eSopenharmony_ci} 13222d43be4eSopenharmony_ci 13232d43be4eSopenharmony_ci/** 13242d43be4eSopenharmony_ci * @tc.number Active_ProcessDataConnectionRoamOff_001 13252d43be4eSopenharmony_ci * @tc.name test function branch 13262d43be4eSopenharmony_ci * @tc.desc Function test 13272d43be4eSopenharmony_ci */ 13282d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Active_ProcessDataConnectionRoamOff_001, Function | MediumTest | Level1) 13292d43be4eSopenharmony_ci{ 13302d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 13312d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 13322d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 13332d43be4eSopenharmony_ci cellularMachine->Init(); 13342d43be4eSopenharmony_ci } 13352d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 13362d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 13372d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_CONNECT); 13382d43be4eSopenharmony_ci bool result = active->ProcessDataConnectionRoamOff(event); 13392d43be4eSopenharmony_ci EXPECT_EQ(result, true); 13402d43be4eSopenharmony_ci} 13412d43be4eSopenharmony_ci 13422d43be4eSopenharmony_ci/** 13432d43be4eSopenharmony_ci * @tc.number Active_ProcessDataConnectionVoiceCallStartedOrEnded_001 13442d43be4eSopenharmony_ci * @tc.name test function branch 13452d43be4eSopenharmony_ci * @tc.desc Function test 13462d43be4eSopenharmony_ci */ 13472d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, ProcessDataConnectionVoiceCallStartedOrEnded_001, Function | MediumTest | Level1) 13482d43be4eSopenharmony_ci{ 13492d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 13502d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 13512d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 13522d43be4eSopenharmony_ci cellularMachine->Init(); 13532d43be4eSopenharmony_ci } 13542d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 13552d43be4eSopenharmony_ci active->stateMachine_ = cellularMachine; 13562d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_CONNECT); 13572d43be4eSopenharmony_ci bool result = active->ProcessDataConnectionVoiceCallStartedOrEnded(event); 13582d43be4eSopenharmony_ci EXPECT_EQ(result, true); 13592d43be4eSopenharmony_ci} 13602d43be4eSopenharmony_ci 13612d43be4eSopenharmony_ci/** 13622d43be4eSopenharmony_ci * @tc.number CellularDataStateMachine_GetSlotId_001 13632d43be4eSopenharmony_ci * @tc.name test function branch 13642d43be4eSopenharmony_ci * @tc.desc Function test 13652d43be4eSopenharmony_ci */ 13662d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, CellularDataStateMachine_GetSlotId_001, Function | MediumTest | Level1) 13672d43be4eSopenharmony_ci{ 13682d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 13692d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularMachine = machine->CreateCellularDataConnect(0); 13702d43be4eSopenharmony_ci int result = cellularMachine->GetSlotId(); 13712d43be4eSopenharmony_ci ASSERT_EQ(result, DEFAULT_SIM_SLOT_ID); 13722d43be4eSopenharmony_ci} 13732d43be4eSopenharmony_ci 13742d43be4eSopenharmony_ci/** 13752d43be4eSopenharmony_ci * @tc.number CellularDataStateMachine_HasMatchedIpTypeAddrs_001 13762d43be4eSopenharmony_ci * @tc.name test function branch 13772d43be4eSopenharmony_ci * @tc.desc Function test 13782d43be4eSopenharmony_ci */ 13792d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, CellularDataStateMachine_HasMatchedIpTypeAddrs_001, Function | MediumTest | Level1) 13802d43be4eSopenharmony_ci{ 13812d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 13822d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 13832d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 13842d43be4eSopenharmony_ci cellularMachine->Init(); 13852d43be4eSopenharmony_ci } 13862d43be4eSopenharmony_ci uint8_t ipType = 1; 13872d43be4eSopenharmony_ci uint8_t ipInfoArraySize = 2; 13882d43be4eSopenharmony_ci std::vector<AddressInfo> ipInfoArray; 13892d43be4eSopenharmony_ci AddressInfo info1; 13902d43be4eSopenharmony_ci info1.type = 1; 13912d43be4eSopenharmony_ci AddressInfo info2; 13922d43be4eSopenharmony_ci info2.type = 3; 13932d43be4eSopenharmony_ci ipInfoArray.push_back(info1); 13942d43be4eSopenharmony_ci ipInfoArray.push_back(info2); 13952d43be4eSopenharmony_ci bool result = cellularMachine->HasMatchedIpTypeAddrs(ipType, ipInfoArraySize, ipInfoArray); 13962d43be4eSopenharmony_ci ASSERT_TRUE(result); 13972d43be4eSopenharmony_ci} 13982d43be4eSopenharmony_ci 13992d43be4eSopenharmony_ci/** 14002d43be4eSopenharmony_ci * @tc.number CellularDataStateMachine_HasMatchedIpTypeAddrs_002 14012d43be4eSopenharmony_ci * @tc.name test function branch 14022d43be4eSopenharmony_ci * @tc.desc Function test 14032d43be4eSopenharmony_ci */ 14042d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, CellularDataStateMachine_HasMatchedIpTypeAddrs_002, Function | MediumTest | Level1) 14052d43be4eSopenharmony_ci{ 14062d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 14072d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 14082d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 14092d43be4eSopenharmony_ci cellularMachine->Init(); 14102d43be4eSopenharmony_ci } 14112d43be4eSopenharmony_ci uint8_t ipType = 5; 14122d43be4eSopenharmony_ci uint8_t ipInfoArraySize = 2; 14132d43be4eSopenharmony_ci std::vector<AddressInfo> ipInfoArray; 14142d43be4eSopenharmony_ci AddressInfo info1; 14152d43be4eSopenharmony_ci info1.type = 1; 14162d43be4eSopenharmony_ci AddressInfo info2; 14172d43be4eSopenharmony_ci info2.type = 3; 14182d43be4eSopenharmony_ci ipInfoArray.push_back(info1); 14192d43be4eSopenharmony_ci ipInfoArray.push_back(info2); 14202d43be4eSopenharmony_ci bool result = cellularMachine->HasMatchedIpTypeAddrs(ipType, ipInfoArraySize, ipInfoArray); 14212d43be4eSopenharmony_ci ASSERT_FALSE(result); 14222d43be4eSopenharmony_ci} 14232d43be4eSopenharmony_ci 14242d43be4eSopenharmony_ci/** 14252d43be4eSopenharmony_ci * @tc.number GetIpType_ShouldReturnIPV4V6_001 14262d43be4eSopenharmony_ci * @tc.name test function branch 14272d43be4eSopenharmony_ci * @tc.desc Function test 14282d43be4eSopenharmony_ci */ 14292d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, GetIpType_ShouldReturnIPV4V6_001, TestSize.Level0) 14302d43be4eSopenharmony_ci{ 14312d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 14322d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 14332d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 14342d43be4eSopenharmony_ci cellularMachine->Init(); 14352d43be4eSopenharmony_ci } 14362d43be4eSopenharmony_ci std::vector<AddressInfo> ipInfoArray; 14372d43be4eSopenharmony_ci AddressInfo info1; 14382d43be4eSopenharmony_ci info1.type = INetAddr::IpType::IPV4; 14392d43be4eSopenharmony_ci AddressInfo info2; 14402d43be4eSopenharmony_ci info2.type = INetAddr::IpType::IPV6; 14412d43be4eSopenharmony_ci ipInfoArray.push_back(info1); 14422d43be4eSopenharmony_ci ipInfoArray.push_back(info2); 14432d43be4eSopenharmony_ci std::string result = cellularMachine->GetIpType(ipInfoArray); 14442d43be4eSopenharmony_ci ASSERT_EQ(result, "IPV4V6"); 14452d43be4eSopenharmony_ci} 14462d43be4eSopenharmony_ci 14472d43be4eSopenharmony_ci/** 14482d43be4eSopenharmony_ci * @tc.number GetIpType_ShouldReturnIPV4V6_002 14492d43be4eSopenharmony_ci * @tc.name test function branch 14502d43be4eSopenharmony_ci * @tc.desc Function test 14512d43be4eSopenharmony_ci */ 14522d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, GetIpType_ShouldReturnIPV4V6_002, TestSize.Level0) 14532d43be4eSopenharmony_ci{ 14542d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 14552d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 14562d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 14572d43be4eSopenharmony_ci cellularMachine->Init(); 14582d43be4eSopenharmony_ci } 14592d43be4eSopenharmony_ci std::vector<AddressInfo> ipInfoArray; 14602d43be4eSopenharmony_ci AddressInfo info1; 14612d43be4eSopenharmony_ci info1.type = INetAddr::IpType::IPV4; 14622d43be4eSopenharmony_ci ipInfoArray.push_back(info1); 14632d43be4eSopenharmony_ci std::string result = cellularMachine->GetIpType(ipInfoArray); 14642d43be4eSopenharmony_ci ASSERT_EQ(result, "IPV4"); 14652d43be4eSopenharmony_ci} 14662d43be4eSopenharmony_ci 14672d43be4eSopenharmony_ci/** 14682d43be4eSopenharmony_ci * @tc.number GetIpType_ShouldReturnIPV6_003 14692d43be4eSopenharmony_ci * @tc.name test function branch 14702d43be4eSopenharmony_ci * @tc.desc Function test 14712d43be4eSopenharmony_ci */ 14722d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, GetIpType_ShouldReturnIPV6_003, TestSize.Level0) 14732d43be4eSopenharmony_ci{ 14742d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 14752d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 14762d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 14772d43be4eSopenharmony_ci cellularMachine->Init(); 14782d43be4eSopenharmony_ci } 14792d43be4eSopenharmony_ci std::vector<AddressInfo> ipInfoArray; 14802d43be4eSopenharmony_ci AddressInfo info2; 14812d43be4eSopenharmony_ci info2.type = INetAddr::IpType::IPV6; 14822d43be4eSopenharmony_ci ipInfoArray.push_back(info2); 14832d43be4eSopenharmony_ci std::string result = cellularMachine->GetIpType(ipInfoArray); 14842d43be4eSopenharmony_ci ASSERT_EQ(result, "IPV6"); 14852d43be4eSopenharmony_ci} 14862d43be4eSopenharmony_ci 14872d43be4eSopenharmony_ci/** 14882d43be4eSopenharmony_ci * @tc.number GetIpType_ShouldReturnEmpty_004 14892d43be4eSopenharmony_ci * @tc.name test function branch 14902d43be4eSopenharmony_ci * @tc.desc Function test 14912d43be4eSopenharmony_ci */ 14922d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, GetIpType_ShouldReturnEmpty_004, TestSize.Level0) 14932d43be4eSopenharmony_ci{ 14942d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 14952d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 14962d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 14972d43be4eSopenharmony_ci cellularMachine->Init(); 14982d43be4eSopenharmony_ci } 14992d43be4eSopenharmony_ci std::vector<AddressInfo> ipInfoArray = {}; 15002d43be4eSopenharmony_ci std::string result = cellularMachine->GetIpType(ipInfoArray); 15012d43be4eSopenharmony_ci ASSERT_EQ(result, ""); 15022d43be4eSopenharmony_ci} 15032d43be4eSopenharmony_ci 15042d43be4eSopenharmony_ci/** 15052d43be4eSopenharmony_ci * @tc.number GetIpType_ShouldReturnIPV4V6_005 15062d43be4eSopenharmony_ci * @tc.name test function branch 15072d43be4eSopenharmony_ci * @tc.desc Function test 15082d43be4eSopenharmony_ci */ 15092d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, GetIpType_ShouldReturnIPV4V6_005, TestSize.Level0) 15102d43be4eSopenharmony_ci{ 15112d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 15122d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 15132d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 15142d43be4eSopenharmony_ci cellularMachine->Init(); 15152d43be4eSopenharmony_ci } 15162d43be4eSopenharmony_ci std::vector<AddressInfo> ipInfoArray; 15172d43be4eSopenharmony_ci AddressInfo info1; 15182d43be4eSopenharmony_ci info1.type = 5; 15192d43be4eSopenharmony_ci AddressInfo info2; 15202d43be4eSopenharmony_ci info2.type = 6; 15212d43be4eSopenharmony_ci ipInfoArray.push_back(info1); 15222d43be4eSopenharmony_ci ipInfoArray.push_back(info2); 15232d43be4eSopenharmony_ci std::string result = cellularMachine->GetIpType(ipInfoArray); 15242d43be4eSopenharmony_ci ASSERT_EQ(result, ""); 15252d43be4eSopenharmony_ci} 15262d43be4eSopenharmony_ci 15272d43be4eSopenharmony_ci/** 15282d43be4eSopenharmony_ci * @tc.number CellularDataStateMachine_UpdateNetworkInfo_001 15292d43be4eSopenharmony_ci * @tc.name test function branch 15302d43be4eSopenharmony_ci * @tc.desc Function test 15312d43be4eSopenharmony_ci */ 15322d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, CellularDataStateMachine_UpdateNetworkInfo_001, TestSize.Level0) { 15332d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 15342d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 15352d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 15362d43be4eSopenharmony_ci cellularMachine->Init(); 15372d43be4eSopenharmony_ci } 15382d43be4eSopenharmony_ci SetupDataCallResultInfo dataCallInfo; 15392d43be4eSopenharmony_ci dataCallInfo.address = ""; 15402d43be4eSopenharmony_ci dataCallInfo.dns = ""; 15412d43be4eSopenharmony_ci dataCallInfo.dnsSec = ""; 15422d43be4eSopenharmony_ci dataCallInfo.gateway = ""; 15432d43be4eSopenharmony_ci cellularMachine->UpdateNetworkInfo(dataCallInfo); 15442d43be4eSopenharmony_ci ASSERT_EQ(cellularMachine->cause_, 0); 15452d43be4eSopenharmony_ci} 15462d43be4eSopenharmony_ci 15472d43be4eSopenharmony_ci/** 15482d43be4eSopenharmony_ci * @tc.number CellularDataStateMachine_UpdateNetworkInfo_002 15492d43be4eSopenharmony_ci * @tc.name test function branch 15502d43be4eSopenharmony_ci * @tc.desc Function test 15512d43be4eSopenharmony_ci */ 15522d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, CellularDataStateMachine_UpdateNetworkInfo_002, TestSize.Level0) { 15532d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 15542d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 15552d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 15562d43be4eSopenharmony_ci cellularMachine->Init(); 15572d43be4eSopenharmony_ci } 15582d43be4eSopenharmony_ci SetupDataCallResultInfo dataCallInfo; 15592d43be4eSopenharmony_ci dataCallInfo.address = "192.168.1.1"; 15602d43be4eSopenharmony_ci dataCallInfo.dns = "192.168.1.1"; 15612d43be4eSopenharmony_ci dataCallInfo.dnsSec = "192.168.1.1"; 15622d43be4eSopenharmony_ci dataCallInfo.gateway = "192.168.1.1"; 15632d43be4eSopenharmony_ci dataCallInfo.reason = 1; 15642d43be4eSopenharmony_ci cellularMachine->UpdateNetworkInfo(dataCallInfo); 15652d43be4eSopenharmony_ci ASSERT_EQ(cellularMachine->cause_, 1); 15662d43be4eSopenharmony_ci} 15672d43be4eSopenharmony_ci 15682d43be4eSopenharmony_ci/** 15692d43be4eSopenharmony_ci * @tc.number CellularDataStateMachine_UpdateNetworkInfo_003 15702d43be4eSopenharmony_ci * @tc.name test function branch 15712d43be4eSopenharmony_ci * @tc.desc Function test 15722d43be4eSopenharmony_ci */ 15732d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, CellularDataStateMachine_UpdateNetworkInfo_003, TestSize.Level0) { 15742d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 15752d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularMachine = machine->CreateCellularDataConnect(0); 15762d43be4eSopenharmony_ci SetupDataCallResultInfo dataCallInfo; 15772d43be4eSopenharmony_ci dataCallInfo.address = "192.168.1.1"; 15782d43be4eSopenharmony_ci dataCallInfo.dns = "192.168.1.1"; 15792d43be4eSopenharmony_ci dataCallInfo.dnsSec = "192.168.1.1"; 15802d43be4eSopenharmony_ci dataCallInfo.gateway = "192.168.1.1"; 15812d43be4eSopenharmony_ci dataCallInfo.reason = 1; 15822d43be4eSopenharmony_ci cellularMachine->UpdateNetworkInfo(dataCallInfo); 15832d43be4eSopenharmony_ci ASSERT_EQ(cellularMachine->cause_, 0); 15842d43be4eSopenharmony_ci} 15852d43be4eSopenharmony_ci 15862d43be4eSopenharmony_ci/** 15872d43be4eSopenharmony_ci * @tc.number CellularDataStateMachine_UpdateNetworkInfo_004 15882d43be4eSopenharmony_ci * @tc.name test function branch 15892d43be4eSopenharmony_ci * @tc.desc Function test 15902d43be4eSopenharmony_ci */ 15912d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, CellularDataStateMachine_UpdateNetworkInfo_004, TestSize.Level0) { 15922d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 15932d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 15942d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 15952d43be4eSopenharmony_ci cellularMachine->Init(); 15962d43be4eSopenharmony_ci } 15972d43be4eSopenharmony_ci cellularMachine->netSupplierInfo_->isAvailable_ = true; 15982d43be4eSopenharmony_ci cellularMachine->UpdateNetworkInfo(); 15992d43be4eSopenharmony_ci ASSERT_NE(cellularMachine->netSupplierInfo_, nullptr); 16002d43be4eSopenharmony_ci} 16012d43be4eSopenharmony_ci 16022d43be4eSopenharmony_ci/** 16032d43be4eSopenharmony_ci * @tc.number CellularDataStateMachine_UpdateNetworkInfo_005 16042d43be4eSopenharmony_ci * @tc.name test function branch 16052d43be4eSopenharmony_ci * @tc.desc Function test 16062d43be4eSopenharmony_ci */ 16072d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, CellularDataStateMachine_UpdateNetworkInfo_005, TestSize.Level0) { 16082d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 16092d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 16102d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 16112d43be4eSopenharmony_ci cellularMachine->Init(); 16122d43be4eSopenharmony_ci } 16132d43be4eSopenharmony_ci cellularMachine->netSupplierInfo_->isAvailable_ = false; 16142d43be4eSopenharmony_ci cellularMachine->UpdateNetworkInfo(); 16152d43be4eSopenharmony_ci ASSERT_NE(cellularMachine->netSupplierInfo_, nullptr); 16162d43be4eSopenharmony_ci} 16172d43be4eSopenharmony_ci 16182d43be4eSopenharmony_ci/** 16192d43be4eSopenharmony_ci * @tc.number CellularDataStateMachine_ResolveRoute_001 16202d43be4eSopenharmony_ci * @tc.name test function branch 16212d43be4eSopenharmony_ci * @tc.desc Function test 16222d43be4eSopenharmony_ci */ 16232d43be4eSopenharmony_ci HWTEST_F(CellularStateMachineTest, CellularDataStateMachine_ResolveRoute_001, TestSize.Level0) 16242d43be4eSopenharmony_ci{ 16252d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 16262d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 16272d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 16282d43be4eSopenharmony_ci cellularMachine->Init(); 16292d43be4eSopenharmony_ci } 16302d43be4eSopenharmony_ci std::vector<AddressInfo> routeInfoArray; 16312d43be4eSopenharmony_ci cellularMachine->ResolveRoute(routeInfoArray, "eth0"); 16322d43be4eSopenharmony_ci EXPECT_TRUE(cellularMachine->netLinkInfo_->routeList_.empty()); 16332d43be4eSopenharmony_ci} 16342d43be4eSopenharmony_ci 16352d43be4eSopenharmony_ci/** 16362d43be4eSopenharmony_ci * @tc.number CellularDataStateMachine_ResolveRoute_002 16372d43be4eSopenharmony_ci * @tc.name test function branch 16382d43be4eSopenharmony_ci * @tc.desc Function test 16392d43be4eSopenharmony_ci */ 16402d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, CellularDataStateMachine_ResolveRoute_002, TestSize.Level0) 16412d43be4eSopenharmony_ci{ 16422d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 16432d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 16442d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 16452d43be4eSopenharmony_ci cellularMachine->Init(); 16462d43be4eSopenharmony_ci } 16472d43be4eSopenharmony_ci std::vector<AddressInfo> routeInfoArray; 16482d43be4eSopenharmony_ci AddressInfo routeInfo; 16492d43be4eSopenharmony_ci routeInfo.ip = "192.168.1.1"; 16502d43be4eSopenharmony_ci routeInfo.type = INetAddr::IpType::IPV4; 16512d43be4eSopenharmony_ci routeInfo.prefixLen = 24; 16522d43be4eSopenharmony_ci routeInfoArray.push_back(routeInfo); 16532d43be4eSopenharmony_ci cellularMachine->ResolveRoute(routeInfoArray, "eth0"); 16542d43be4eSopenharmony_ci EXPECT_FALSE(cellularMachine->netLinkInfo_->routeList_.empty()); 16552d43be4eSopenharmony_ci} 16562d43be4eSopenharmony_ci 16572d43be4eSopenharmony_ci/** 16582d43be4eSopenharmony_ci * @tc.number CellularDataStateMachine_ResolveRoute_003 16592d43be4eSopenharmony_ci * @tc.name test function branch 16602d43be4eSopenharmony_ci * @tc.desc Function test 16612d43be4eSopenharmony_ci */ 16622d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, CellularDataStateMachine_ResolveRoute_003, TestSize.Level0) 16632d43be4eSopenharmony_ci{ 16642d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 16652d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 16662d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 16672d43be4eSopenharmony_ci cellularMachine->Init(); 16682d43be4eSopenharmony_ci } 16692d43be4eSopenharmony_ci std::vector<AddressInfo> routeInfoArray; 16702d43be4eSopenharmony_ci AddressInfo routeInfo1; 16712d43be4eSopenharmony_ci routeInfo1.ip = "192.168.1.1"; 16722d43be4eSopenharmony_ci routeInfo1.type = INetAddr::IpType::IPV4; 16732d43be4eSopenharmony_ci routeInfo1.prefixLen = 24; 16742d43be4eSopenharmony_ci routeInfoArray.push_back(routeInfo1); 16752d43be4eSopenharmony_ci AddressInfo routeInfo2; 16762d43be4eSopenharmony_ci routeInfo2.ip = "2001:db8::1"; 16772d43be4eSopenharmony_ci routeInfo2.type = INetAddr::IpType::IPV6; 16782d43be4eSopenharmony_ci routeInfo2.prefixLen = 64; 16792d43be4eSopenharmony_ci routeInfoArray.push_back(routeInfo2); 16802d43be4eSopenharmony_ci cellularMachine->ResolveRoute(routeInfoArray, "eth0"); 16812d43be4eSopenharmony_ci EXPECT_EQ(cellularMachine->netLinkInfo_->routeList_.size(), 2); 16822d43be4eSopenharmony_ci} 16832d43be4eSopenharmony_ci 16842d43be4eSopenharmony_ci/** 16852d43be4eSopenharmony_ci * @tc.number CellularDataStateMachine_UpdateNetworkInfoIfInActive_001 16862d43be4eSopenharmony_ci * @tc.name test function branch 16872d43be4eSopenharmony_ci * @tc.desc Function test 16882d43be4eSopenharmony_ci */ 16892d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, CellularDataStateMachine_UpdateNetworkInfoIfInActive_001, TestSize.Level0) 16902d43be4eSopenharmony_ci{ 16912d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 16922d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 16932d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 16942d43be4eSopenharmony_ci cellularMachine->Init(); 16952d43be4eSopenharmony_ci } 16962d43be4eSopenharmony_ci SetupDataCallResultInfo dataCallInfo; 16972d43be4eSopenharmony_ci cellularMachine->UpdateNetworkInfoIfInActive(dataCallInfo); 16982d43be4eSopenharmony_ci EXPECT_NE(cellularMachine->stateMachineEventHandler_, nullptr); 16992d43be4eSopenharmony_ci} 17002d43be4eSopenharmony_ci 17012d43be4eSopenharmony_ci/** 17022d43be4eSopenharmony_ci * @tc.number CellularDataStateMachine_UpdateNetworkInfoIfInActive_002 17032d43be4eSopenharmony_ci * @tc.name test function branch 17042d43be4eSopenharmony_ci * @tc.desc Function test 17052d43be4eSopenharmony_ci */ 17062d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, CellularDataStateMachine_UpdateNetworkInfoIfInActive_002, TestSize.Level0) 17072d43be4eSopenharmony_ci{ 17082d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 17092d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularMachine = machine->CreateCellularDataConnect(0); 17102d43be4eSopenharmony_ci SetupDataCallResultInfo dataCallInfo; 17112d43be4eSopenharmony_ci cellularMachine->stateMachineEventHandler_ = nullptr; 17122d43be4eSopenharmony_ci cellularMachine->UpdateNetworkInfoIfInActive(dataCallInfo); 17132d43be4eSopenharmony_ci EXPECT_EQ(cellularMachine->stateMachineEventHandler_, nullptr); 17142d43be4eSopenharmony_ci} 17152d43be4eSopenharmony_ci 17162d43be4eSopenharmony_ci/** 17172d43be4eSopenharmony_ci * @tc.number CellularDataStateMachine_DoConnect_001 17182d43be4eSopenharmony_ci * @tc.name test function branch 17192d43be4eSopenharmony_ci * @tc.desc Function test 17202d43be4eSopenharmony_ci */ 17212d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, CellularDataStateMachine_SplitProxyIpAddress_001, TestSize.Level0) 17222d43be4eSopenharmony_ci{ 17232d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 17242d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularMachine = machine->CreateCellularDataConnect(0); 17252d43be4eSopenharmony_ci std::string proxyIpAddress = ""; 17262d43be4eSopenharmony_ci std::string host; 17272d43be4eSopenharmony_ci uint16_t port; 17282d43be4eSopenharmony_ci cellularMachine->SplitProxyIpAddress(proxyIpAddress, host, port); 17292d43be4eSopenharmony_ci ASSERT_EQ(host, ""); 17302d43be4eSopenharmony_ci ASSERT_EQ(port, 0); 17312d43be4eSopenharmony_ci} 17322d43be4eSopenharmony_ci 17332d43be4eSopenharmony_ci/** 17342d43be4eSopenharmony_ci * @tc.number CellularDataStateMachine_DoConnect_001 17352d43be4eSopenharmony_ci * @tc.name test function branch 17362d43be4eSopenharmony_ci * @tc.desc Function test 17372d43be4eSopenharmony_ci */ 17382d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, CellularDataStateMachine_SplitProxyIpAddress_002, TestSize.Level0) 17392d43be4eSopenharmony_ci{ 17402d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 17412d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularMachine = machine->CreateCellularDataConnect(0); 17422d43be4eSopenharmony_ci std::string proxyIpAddress = "192.168.1.1"; 17432d43be4eSopenharmony_ci std::string host; 17442d43be4eSopenharmony_ci uint16_t port; 17452d43be4eSopenharmony_ci cellularMachine->SplitProxyIpAddress(proxyIpAddress, host, port); 17462d43be4eSopenharmony_ci ASSERT_EQ(host, "192.168.1.1"); 17472d43be4eSopenharmony_ci ASSERT_EQ(port, 0); 17482d43be4eSopenharmony_ci} 17492d43be4eSopenharmony_ci 17502d43be4eSopenharmony_ci/** 17512d43be4eSopenharmony_ci * @tc.number CellularDataStateMachine_DoConnect_001 17522d43be4eSopenharmony_ci * @tc.name test function branch 17532d43be4eSopenharmony_ci * @tc.desc Function test 17542d43be4eSopenharmony_ci */ 17552d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, CellularDataStateMachine_SplitProxyIpAddress_003, TestSize.Level0) 17562d43be4eSopenharmony_ci{ 17572d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 17582d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularMachine = machine->CreateCellularDataConnect(0); 17592d43be4eSopenharmony_ci std::string proxyIpAddress = "192.168.1.1:8080"; 17602d43be4eSopenharmony_ci std::string host; 17612d43be4eSopenharmony_ci uint16_t port; 17622d43be4eSopenharmony_ci cellularMachine->SplitProxyIpAddress(proxyIpAddress, host, port); 17632d43be4eSopenharmony_ci ASSERT_EQ(host, "192.168.1.1"); 17642d43be4eSopenharmony_ci ASSERT_EQ(port, 8080); 17652d43be4eSopenharmony_ci} 17662d43be4eSopenharmony_ci 17672d43be4eSopenharmony_ci/** 17682d43be4eSopenharmony_ci * @tc.number IncallDataStateMachine_IsSecondaryCanActiveData_001 17692d43be4eSopenharmony_ci * @tc.name test function branch 17702d43be4eSopenharmony_ci * @tc.desc Function test 17712d43be4eSopenharmony_ci */ 17722d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, IncallDataStateMachine_IsSecondaryCanActiveData_001, TestSize.Level0) 17732d43be4eSopenharmony_ci{ 17742d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 17752d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 17762d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 17772d43be4eSopenharmony_ci EXPECT_CALL(*mockSimManager, GetDsdsMode(_)).Times(AtLeast(1)) 17782d43be4eSopenharmony_ci .WillOnce([](int32_t &dsdsMode) { 17792d43be4eSopenharmony_ci dsdsMode = static_cast<int32_t>(DsdsMode::DSDS_MODE_V3); 17802d43be4eSopenharmony_ci return 0; 17812d43be4eSopenharmony_ci }); 17822d43be4eSopenharmony_ci auto result = incallStateMachine->IsSecondaryCanActiveData(); 17832d43be4eSopenharmony_ci ASSERT_EQ(result, false); 17842d43be4eSopenharmony_ci} 17852d43be4eSopenharmony_ci 17862d43be4eSopenharmony_ci/** 17872d43be4eSopenharmony_ci * @tc.number IncallDataStateMachine_IsSecondaryCanActiveData_002 17882d43be4eSopenharmony_ci * @tc.name test function branch 17892d43be4eSopenharmony_ci * @tc.desc Function test 17902d43be4eSopenharmony_ci */ 17912d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, IncallDataStateMachine_IsSecondaryCanActiveData_002, TestSize.Level0) 17922d43be4eSopenharmony_ci{ 17932d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 17942d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 17952d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 17962d43be4eSopenharmony_ci EXPECT_CALL(*mockSimManager, GetDsdsMode(_)).Times(AtLeast(1)) 17972d43be4eSopenharmony_ci .WillOnce([](int32_t &dsdsMode) { 17982d43be4eSopenharmony_ci dsdsMode = static_cast<int32_t>(DsdsMode::DSDS_MODE_V2); 17992d43be4eSopenharmony_ci return 0; 18002d43be4eSopenharmony_ci }); 18012d43be4eSopenharmony_ci EXPECT_CALL(*mockSimManager, GetPrimarySlotId(_)).Times(AtLeast(1)) 18022d43be4eSopenharmony_ci .WillOnce([](int32_t &slotId) { 18032d43be4eSopenharmony_ci slotId = INVALID_SLOT_ID; 18042d43be4eSopenharmony_ci return 0; 18052d43be4eSopenharmony_ci }); 18062d43be4eSopenharmony_ci auto result = incallStateMachine->IsSecondaryCanActiveData(); 18072d43be4eSopenharmony_ci ASSERT_EQ(result, false); 18082d43be4eSopenharmony_ci EXPECT_CALL(*mockSimManager, GetPrimarySlotId(_)).Times(AtLeast(1)) 18092d43be4eSopenharmony_ci .WillOnce([](int32_t &slotId) { 18102d43be4eSopenharmony_ci slotId = 0; 18112d43be4eSopenharmony_ci return 0; 18122d43be4eSopenharmony_ci }); 18132d43be4eSopenharmony_ci result = incallStateMachine->IsSecondaryCanActiveData(); 18142d43be4eSopenharmony_ci ASSERT_EQ(result, false); 18152d43be4eSopenharmony_ci} 18162d43be4eSopenharmony_ci 18172d43be4eSopenharmony_ci/** 18182d43be4eSopenharmony_ci * @tc.number IncallDataStateMachine_IsSecondaryCanActiveData_002 18192d43be4eSopenharmony_ci * @tc.name test function branch 18202d43be4eSopenharmony_ci * @tc.desc Function test 18212d43be4eSopenharmony_ci */ 18222d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, IncallDataStateMachine_IsSecondaryCanActiveData_003, TestSize.Level0) 18232d43be4eSopenharmony_ci{ 18242d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 18252d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 18262d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 18272d43be4eSopenharmony_ci EXPECT_CALL(*mockSimManager, GetDsdsMode(_)).Times(AtLeast(1)) 18282d43be4eSopenharmony_ci .WillOnce([](int32_t &dsdsMode) { 18292d43be4eSopenharmony_ci dsdsMode = static_cast<int32_t>(DsdsMode::DSDS_MODE_V2); 18302d43be4eSopenharmony_ci return 0; 18312d43be4eSopenharmony_ci }); 18322d43be4eSopenharmony_ci EXPECT_CALL(*mockSimManager, GetPrimarySlotId(_)).Times(AtLeast(1)) 18332d43be4eSopenharmony_ci .WillOnce([](int32_t &slotId) { 18342d43be4eSopenharmony_ci slotId = 1; 18352d43be4eSopenharmony_ci return 0; 18362d43be4eSopenharmony_ci }); 18372d43be4eSopenharmony_ci auto result = incallStateMachine->IsSecondaryCanActiveData(); 18382d43be4eSopenharmony_ci ASSERT_EQ(result, false); 18392d43be4eSopenharmony_ci} 18402d43be4eSopenharmony_ci 18412d43be4eSopenharmony_ci/** 18422d43be4eSopenharmony_ci * @tc.number IncallDataStateMachine_IsSecondaryCanActiveData_004 18432d43be4eSopenharmony_ci * @tc.name test function branch 18442d43be4eSopenharmony_ci * @tc.desc Function test 18452d43be4eSopenharmony_ci */ 18462d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, IncallDataStateMachine_IsSecondaryCanActiveData_004, TestSize.Level0) 18472d43be4eSopenharmony_ci{ 18482d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 18492d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 18502d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 18512d43be4eSopenharmony_ci EXPECT_CALL(*mockSimManager, GetDsdsMode(_)).Times(AtLeast(1)) 18522d43be4eSopenharmony_ci .WillOnce([](int32_t &dsdsMode) { 18532d43be4eSopenharmony_ci dsdsMode = static_cast<int32_t>(DsdsMode::DSDS_MODE_V2); 18542d43be4eSopenharmony_ci return 0; 18552d43be4eSopenharmony_ci }); 18562d43be4eSopenharmony_ci EXPECT_CALL(*mockSimManager, GetPrimarySlotId(_)).Times(AtLeast(1)) 18572d43be4eSopenharmony_ci .WillOnce([](int32_t &slotId) { 18582d43be4eSopenharmony_ci slotId = 1; 18592d43be4eSopenharmony_ci return 0; 18602d43be4eSopenharmony_ci }); 18612d43be4eSopenharmony_ci EXPECT_CALL(*mockSimManager, HasSimCard(_, _)).Times(AtLeast(1)) 18622d43be4eSopenharmony_ci .WillOnce([](int32_t slotId, bool &hasSimCard) { 18632d43be4eSopenharmony_ci hasSimCard = true; 18642d43be4eSopenharmony_ci return 0; 18652d43be4eSopenharmony_ci }); 18662d43be4eSopenharmony_ci EXPECT_CALL(*mockNetworkSearchManager, GetImsRegStatus(_, _, _)).Times(AtLeast(2)) 18672d43be4eSopenharmony_ci .WillOnce([](int32_t slotId, ImsServiceType imsSrvType, ImsRegInfo &info) { 18682d43be4eSopenharmony_ci switch (imsSrvType) { 18692d43be4eSopenharmony_ci case ImsServiceType::TYPE_VOICE: 18702d43be4eSopenharmony_ci info.imsRegState = ImsRegState::IMS_UNREGISTERED; 18712d43be4eSopenharmony_ci break; 18722d43be4eSopenharmony_ci case ImsServiceType::TYPE_VIDEO: 18732d43be4eSopenharmony_ci info.imsRegState = ImsRegState::IMS_UNREGISTERED; 18742d43be4eSopenharmony_ci break; 18752d43be4eSopenharmony_ci default: 18762d43be4eSopenharmony_ci break; 18772d43be4eSopenharmony_ci } 18782d43be4eSopenharmony_ci return 0; 18792d43be4eSopenharmony_ci }); 18802d43be4eSopenharmony_ci auto result = incallStateMachine->IsSecondaryCanActiveData(); 18812d43be4eSopenharmony_ci ASSERT_EQ(result, false); 18822d43be4eSopenharmony_ci} 18832d43be4eSopenharmony_ci 18842d43be4eSopenharmony_ci/** 18852d43be4eSopenharmony_ci * @tc.number IncallDataStateMachine_IsSecondaryCanActiveData_004 18862d43be4eSopenharmony_ci * @tc.name test function branch 18872d43be4eSopenharmony_ci * @tc.desc Function test 18882d43be4eSopenharmony_ci */ 18892d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, IncallDataStateMachine_IsSecondaryCanActiveData_005, TestSize.Level0) 18902d43be4eSopenharmony_ci{ 18912d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 18922d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 18932d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 18942d43be4eSopenharmony_ci EXPECT_CALL(*mockSimManager, GetDsdsMode(_)).Times(AtLeast(1)) 18952d43be4eSopenharmony_ci .WillOnce([](int32_t &dsdsMode) { 18962d43be4eSopenharmony_ci dsdsMode = static_cast<int32_t>(DsdsMode::DSDS_MODE_V2); 18972d43be4eSopenharmony_ci return 0; 18982d43be4eSopenharmony_ci }); 18992d43be4eSopenharmony_ci EXPECT_CALL(*mockSimManager, GetPrimarySlotId(_)).Times(AtLeast(1)) 19002d43be4eSopenharmony_ci .WillOnce([](int32_t &slotId) { 19012d43be4eSopenharmony_ci slotId = 1; 19022d43be4eSopenharmony_ci return 0; 19032d43be4eSopenharmony_ci }); 19042d43be4eSopenharmony_ci EXPECT_CALL(*mockSimManager, HasSimCard(_, _)).Times(AtLeast(1)) 19052d43be4eSopenharmony_ci .WillOnce([](int32_t slotId, bool &hasSimCard) { 19062d43be4eSopenharmony_ci hasSimCard = true; 19072d43be4eSopenharmony_ci return 0; 19082d43be4eSopenharmony_ci }); 19092d43be4eSopenharmony_ci EXPECT_CALL(*mockNetworkSearchManager, GetImsRegStatus(_, _, _)).Times(AtLeast(2)) 19102d43be4eSopenharmony_ci .WillOnce([](int32_t slotId, ImsServiceType imsSrvType, ImsRegInfo &info) { 19112d43be4eSopenharmony_ci switch (imsSrvType) { 19122d43be4eSopenharmony_ci case ImsServiceType::TYPE_VOICE: 19132d43be4eSopenharmony_ci info.imsRegState = ImsRegState::IMS_REGISTERED ; 19142d43be4eSopenharmony_ci break; 19152d43be4eSopenharmony_ci case ImsServiceType::TYPE_VIDEO: 19162d43be4eSopenharmony_ci info.imsRegState = ImsRegState::IMS_UNREGISTERED; 19172d43be4eSopenharmony_ci break; 19182d43be4eSopenharmony_ci default: 19192d43be4eSopenharmony_ci break; 19202d43be4eSopenharmony_ci } 19212d43be4eSopenharmony_ci return 0; 19222d43be4eSopenharmony_ci }); 19232d43be4eSopenharmony_ci auto result = incallStateMachine->IsSecondaryCanActiveData(); 19242d43be4eSopenharmony_ci ASSERT_EQ(result, false); 19252d43be4eSopenharmony_ci} 19262d43be4eSopenharmony_ci 19272d43be4eSopenharmony_ci/** 19282d43be4eSopenharmony_ci * @tc.number IncallDataStateMachine_IsSecondaryCanActiveData_004 19292d43be4eSopenharmony_ci * @tc.name test function branch 19302d43be4eSopenharmony_ci * @tc.desc Function test 19312d43be4eSopenharmony_ci */ 19322d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, IncallDataStateMachine_IsSecondaryCanActiveData_006, TestSize.Level0) 19332d43be4eSopenharmony_ci{ 19342d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 19352d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 19362d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 19372d43be4eSopenharmony_ci EXPECT_CALL(*mockSimManager, GetDsdsMode(_)).Times(AtLeast(1)) 19382d43be4eSopenharmony_ci .WillOnce([](int32_t &dsdsMode) { 19392d43be4eSopenharmony_ci dsdsMode = static_cast<int32_t>(DsdsMode::DSDS_MODE_V2); 19402d43be4eSopenharmony_ci return 0; 19412d43be4eSopenharmony_ci }); 19422d43be4eSopenharmony_ci EXPECT_CALL(*mockSimManager, GetPrimarySlotId(_)).Times(AtLeast(1)) 19432d43be4eSopenharmony_ci .WillOnce([](int32_t &slotId) { 19442d43be4eSopenharmony_ci slotId = 1; 19452d43be4eSopenharmony_ci return 0; 19462d43be4eSopenharmony_ci }); 19472d43be4eSopenharmony_ci EXPECT_CALL(*mockSimManager, HasSimCard(_, _)).Times(AtLeast(1)) 19482d43be4eSopenharmony_ci .WillOnce([](int32_t slotId, bool &hasSimCard) { 19492d43be4eSopenharmony_ci hasSimCard = true; 19502d43be4eSopenharmony_ci return 0; 19512d43be4eSopenharmony_ci }); 19522d43be4eSopenharmony_ci EXPECT_CALL(*mockNetworkSearchManager, GetImsRegStatus(_, _, _)).Times(AtLeast(2)) 19532d43be4eSopenharmony_ci .WillOnce([](int32_t slotId, ImsServiceType imsSrvType, ImsRegInfo &info) { 19542d43be4eSopenharmony_ci switch (imsSrvType) { 19552d43be4eSopenharmony_ci case ImsServiceType::TYPE_VOICE: 19562d43be4eSopenharmony_ci info.imsRegState = ImsRegState::IMS_REGISTERED ; 19572d43be4eSopenharmony_ci break; 19582d43be4eSopenharmony_ci case ImsServiceType::TYPE_VIDEO: 19592d43be4eSopenharmony_ci info.imsRegState = ImsRegState::IMS_REGISTERED; 19602d43be4eSopenharmony_ci break; 19612d43be4eSopenharmony_ci default: 19622d43be4eSopenharmony_ci break; 19632d43be4eSopenharmony_ci } 19642d43be4eSopenharmony_ci return 0; 19652d43be4eSopenharmony_ci }); 19662d43be4eSopenharmony_ci incallStateMachine->callState_ = static_cast<int32_t>(TelCallStatus::CALL_STATUS_IDLE); 19672d43be4eSopenharmony_ci auto result = incallStateMachine->IsSecondaryCanActiveData(); 19682d43be4eSopenharmony_ci ASSERT_EQ(result, false); 19692d43be4eSopenharmony_ci incallStateMachine->callState_ = static_cast<int32_t>(TelCallStatus::CALL_STATUS_DISCONNECTED); 19702d43be4eSopenharmony_ci result = incallStateMachine->IsSecondaryCanActiveData(); 19712d43be4eSopenharmony_ci ASSERT_EQ(result, false); 19722d43be4eSopenharmony_ci incallStateMachine->callState_ = static_cast<int32_t>(TelCallStatus::CALL_STATUS_DIALING); 19732d43be4eSopenharmony_ci result = incallStateMachine->IsSecondaryCanActiveData(); 19742d43be4eSopenharmony_ci ASSERT_EQ(result, false); 19752d43be4eSopenharmony_ci} 19762d43be4eSopenharmony_ci 19772d43be4eSopenharmony_ci/** 19782d43be4eSopenharmony_ci * @tc.number IncallDataStateMachine_IsSecondaryCanActiveData_004 19792d43be4eSopenharmony_ci * @tc.name test function branch 19802d43be4eSopenharmony_ci * @tc.desc Function test 19812d43be4eSopenharmony_ci */ 19822d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, IncallDataStateMachine_IsSecondaryCanActiveData_007, TestSize.Level0) 19832d43be4eSopenharmony_ci{ 19842d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachineTest> incallStateMachineTest = std::make_shared<IncallDataStateMachineTest>(); 19852d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 19862d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 19872d43be4eSopenharmony_ci EXPECT_CALL(*mockSimManager, GetDsdsMode(_)).Times(AtLeast(1)) 19882d43be4eSopenharmony_ci .WillOnce([](int32_t &dsdsMode) { 19892d43be4eSopenharmony_ci dsdsMode = static_cast<int32_t>(DsdsMode::DSDS_MODE_V2); 19902d43be4eSopenharmony_ci return 0; 19912d43be4eSopenharmony_ci }); 19922d43be4eSopenharmony_ci EXPECT_CALL(*mockSimManager, GetPrimarySlotId(_)).Times(AtLeast(1)) 19932d43be4eSopenharmony_ci .WillOnce([](int32_t &slotId) { 19942d43be4eSopenharmony_ci slotId = 1; 19952d43be4eSopenharmony_ci return 0; 19962d43be4eSopenharmony_ci }); 19972d43be4eSopenharmony_ci EXPECT_CALL(*mockSimManager, HasSimCard(_, _)).Times(AtLeast(1)) 19982d43be4eSopenharmony_ci .WillOnce([](int32_t slotId, bool &hasSimCard) { 19992d43be4eSopenharmony_ci hasSimCard = true; 20002d43be4eSopenharmony_ci return 0; 20012d43be4eSopenharmony_ci }); 20022d43be4eSopenharmony_ci EXPECT_CALL(*mockNetworkSearchManager, GetImsRegStatus(_, _, _)).Times(AtLeast(2)) 20032d43be4eSopenharmony_ci .WillOnce([](int32_t slotId, ImsServiceType imsSrvType, ImsRegInfo &info) { 20042d43be4eSopenharmony_ci switch (imsSrvType) { 20052d43be4eSopenharmony_ci case ImsServiceType::TYPE_VOICE: 20062d43be4eSopenharmony_ci info.imsRegState = ImsRegState::IMS_REGISTERED ; 20072d43be4eSopenharmony_ci break; 20082d43be4eSopenharmony_ci case ImsServiceType::TYPE_VIDEO: 20092d43be4eSopenharmony_ci info.imsRegState = ImsRegState::IMS_REGISTERED; 20102d43be4eSopenharmony_ci break; 20112d43be4eSopenharmony_ci default: 20122d43be4eSopenharmony_ci break; 20132d43be4eSopenharmony_ci } 20142d43be4eSopenharmony_ci return 0; 20152d43be4eSopenharmony_ci }); 20162d43be4eSopenharmony_ci EXPECT_CALL(*mockNetworkSearchManager, GetPsRadioTech(_, _)).Times(AtLeast(1)) 20172d43be4eSopenharmony_ci .WillOnce([](int32_t slotId, int32_t &psRadioTech) { 20182d43be4eSopenharmony_ci psRadioTech = static_cast<int32_t>(RadioTech::RADIO_TECHNOLOGY_LTE); 20192d43be4eSopenharmony_ci return 0; 20202d43be4eSopenharmony_ci }); 20212d43be4eSopenharmony_ci incallStateMachine->callState_ = static_cast<int32_t>(TelCallStatus::CALL_STATUS_DIALING); 20222d43be4eSopenharmony_ci auto result = incallStateMachine->IsSecondaryCanActiveData(); 20232d43be4eSopenharmony_ci ASSERT_EQ(result, true); 20242d43be4eSopenharmony_ci} 20252d43be4eSopenharmony_ci 20262d43be4eSopenharmony_ci/** 20272d43be4eSopenharmony_ci * @tc.number CellularDataStateMachine_GetMtuSizeFromOpCfg_001 20282d43be4eSopenharmony_ci * @tc.name test function branch 20292d43be4eSopenharmony_ci * @tc.desc Function test 20302d43be4eSopenharmony_ci */ 20312d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, CellularDataStateMachine_GetMtuSizeFromOpCfg_001, TestSize.Level0) 20322d43be4eSopenharmony_ci{ 20332d43be4eSopenharmony_ci int32_t mtuSize = 0; 20342d43be4eSopenharmony_ci int32_t slotId = 0; 20352d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 20362d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularMachine = machine->CreateCellularDataConnect(0); 20372d43be4eSopenharmony_ci EXPECT_CALL(*mockSimManager, GetOperatorConfigs(_, _)).Times(AtLeast(1)) 20382d43be4eSopenharmony_ci .WillOnce([](int32_t slotId, OperatorConfig &poc) { 20392d43be4eSopenharmony_ci poc.stringValue[KEY_MTU_SIZE_STRING] = "ipv4:1500;ipv6:1400"; 20402d43be4eSopenharmony_ci return 0; 20412d43be4eSopenharmony_ci }); 20422d43be4eSopenharmony_ci cellularMachine->ipType_ = "ipv4"; 20432d43be4eSopenharmony_ci cellularMachine->GetMtuSizeFromOpCfg(mtuSize, slotId); 20442d43be4eSopenharmony_ci ASSERT_EQ(mtuSize, 1500); 20452d43be4eSopenharmony_ci} 20462d43be4eSopenharmony_ci 20472d43be4eSopenharmony_ci/** 20482d43be4eSopenharmony_ci * @tc.number CellularDataStateMachine_GetMtuSizeFromOpCfg_002 20492d43be4eSopenharmony_ci * @tc.name test function branch 20502d43be4eSopenharmony_ci * @tc.desc Function test 20512d43be4eSopenharmony_ci */ 20522d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, CellularDataStateMachine_GetMtuSizeFromOpCfg_002, TestSize.Level0) 20532d43be4eSopenharmony_ci{ 20542d43be4eSopenharmony_ci int32_t mtuSize = 0; 20552d43be4eSopenharmony_ci int32_t slotId = 0; 20562d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 20572d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularMachine = machine->CreateCellularDataConnect(0); 20582d43be4eSopenharmony_ci EXPECT_CALL(*mockSimManager, GetOperatorConfigs(_, _)).Times(AtLeast(1)) 20592d43be4eSopenharmony_ci .WillOnce([](int32_t slotId, OperatorConfig &poc) { 20602d43be4eSopenharmony_ci poc.stringValue[KEY_MTU_SIZE_STRING] = "ipv4:1500;ipv6:1400"; 20612d43be4eSopenharmony_ci return 0; 20622d43be4eSopenharmony_ci }); 20632d43be4eSopenharmony_ci cellularMachine->ipType_ = "ipv6"; 20642d43be4eSopenharmony_ci cellularMachine->GetMtuSizeFromOpCfg(mtuSize, slotId); 20652d43be4eSopenharmony_ci ASSERT_EQ(mtuSize, 1400); 20662d43be4eSopenharmony_ci} 20672d43be4eSopenharmony_ci 20682d43be4eSopenharmony_ci/** 20692d43be4eSopenharmony_ci * @tc.number CellularDataStateMachine_GetMtuSizeFromOpCfg_003 20702d43be4eSopenharmony_ci * @tc.name test function branch 20712d43be4eSopenharmony_ci * @tc.desc Function test 20722d43be4eSopenharmony_ci */ 20732d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, CellularDataStateMachine_GetMtuSizeFromOpCfg_003, TestSize.Level0) 20742d43be4eSopenharmony_ci{ 20752d43be4eSopenharmony_ci int32_t mtuSize = 0; 20762d43be4eSopenharmony_ci int32_t slotId = 0; 20772d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 20782d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularMachine = machine->CreateCellularDataConnect(0); 20792d43be4eSopenharmony_ci EXPECT_CALL(*mockSimManager, GetOperatorConfigs(_, _)).Times(AtLeast(1)) 20802d43be4eSopenharmony_ci .WillOnce([](int32_t slotId, OperatorConfig &poc) { 20812d43be4eSopenharmony_ci poc.stringValue[KEY_MTU_SIZE_STRING] = "ipv4:1500;ipv6:1400"; 20822d43be4eSopenharmony_ci return 0; 20832d43be4eSopenharmony_ci }); 20842d43be4eSopenharmony_ci cellularMachine->ipType_ = "ipv5"; 20852d43be4eSopenharmony_ci cellularMachine->GetMtuSizeFromOpCfg(mtuSize, slotId); 20862d43be4eSopenharmony_ci ASSERT_EQ(mtuSize, 0); 20872d43be4eSopenharmony_ci} 20882d43be4eSopenharmony_ci 20892d43be4eSopenharmony_ci/** 20902d43be4eSopenharmony_ci * @tc.number CellularDataStateMachine_GetMtuSizeFromOpCfg_004 20912d43be4eSopenharmony_ci * @tc.name test function branch 20922d43be4eSopenharmony_ci * @tc.desc Function test 20932d43be4eSopenharmony_ci */ 20942d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, CellularDataStateMachine_GetMtuSizeFromOpCfg_004, TestSize.Level0) 20952d43be4eSopenharmony_ci{ 20962d43be4eSopenharmony_ci int32_t mtuSize = 0; 20972d43be4eSopenharmony_ci int32_t slotId = 0; 20982d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 20992d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularMachine = machine->CreateCellularDataConnect(0); 21002d43be4eSopenharmony_ci EXPECT_CALL(*mockSimManager, GetOperatorConfigs(_, _)).Times(AtLeast(1)) 21012d43be4eSopenharmony_ci .WillOnce([](int32_t slotId, OperatorConfig &poc) { 21022d43be4eSopenharmony_ci poc.stringValue[KEY_MTU_SIZE_STRING] = "ipv4:abc;ipv6:1400"; 21032d43be4eSopenharmony_ci return 0; 21042d43be4eSopenharmony_ci }); 21052d43be4eSopenharmony_ci cellularMachine->ipType_ = "ipv4"; 21062d43be4eSopenharmony_ci cellularMachine->GetMtuSizeFromOpCfg(mtuSize, slotId); 21072d43be4eSopenharmony_ci ASSERT_EQ(mtuSize, 0); 21082d43be4eSopenharmony_ci} 21092d43be4eSopenharmony_ci 21102d43be4eSopenharmony_ci/** 21112d43be4eSopenharmony_ci * @tc.number CellularDataStateMachine_GetNetScoreBySlotId_001 21122d43be4eSopenharmony_ci * @tc.name test function branch 21132d43be4eSopenharmony_ci * @tc.desc Function test 21142d43be4eSopenharmony_ci */ 21152d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, CellularDataStateMachine_GetNetScoreBySlotId_001, TestSize.Level0) 21162d43be4eSopenharmony_ci{ 21172d43be4eSopenharmony_ci int32_t score; 21182d43be4eSopenharmony_ci int32_t slotId = 0; 21192d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 21202d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularMachine = machine->CreateCellularDataConnect(0); 21212d43be4eSopenharmony_ci EXPECT_CALL(*mockSimManager, GetDefaultCellularDataSlotId()).Times(AtLeast(1)) 21222d43be4eSopenharmony_ci .WillOnce([]() { 21232d43be4eSopenharmony_ci return 0; 21242d43be4eSopenharmony_ci }); 21252d43be4eSopenharmony_ci score = cellularMachine->GetNetScoreBySlotId(slotId); 21262d43be4eSopenharmony_ci ASSERT_EQ(score, DEFAULT_INTERNET_CONNECTION_SCORE); 21272d43be4eSopenharmony_ci} 21282d43be4eSopenharmony_ci 21292d43be4eSopenharmony_ci/** 21302d43be4eSopenharmony_ci * @tc.number CellularDataStateMachine_GetNetScoreBySlotId_002 21312d43be4eSopenharmony_ci * @tc.name test function branch 21322d43be4eSopenharmony_ci * @tc.desc Function test 21332d43be4eSopenharmony_ci */ 21342d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, CellularDataStateMachine_GetNetScoreBySlotId_002, TestSize.Level0) 21352d43be4eSopenharmony_ci{ 21362d43be4eSopenharmony_ci int32_t score; 21372d43be4eSopenharmony_ci int32_t slotId = 0; 21382d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 21392d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularMachine = machine->CreateCellularDataConnect(0); 21402d43be4eSopenharmony_ci EXPECT_CALL(*mockSimManager, GetDefaultCellularDataSlotId()).Times(AtLeast(1)) 21412d43be4eSopenharmony_ci .WillOnce([]() { 21422d43be4eSopenharmony_ci return 1; 21432d43be4eSopenharmony_ci }); 21442d43be4eSopenharmony_ci score = cellularMachine->GetNetScoreBySlotId(slotId); 21452d43be4eSopenharmony_ci ASSERT_EQ(score, OTHER_CONNECTION_SCORE); 21462d43be4eSopenharmony_ci} 21472d43be4eSopenharmony_ci 21482d43be4eSopenharmony_ci/** 21492d43be4eSopenharmony_ci * @tc.number Default_ProcessUpdateNetworkInfo_001 21502d43be4eSopenharmony_ci * @tc.name test function branch 21512d43be4eSopenharmony_ci * @tc.desc Function test 21522d43be4eSopenharmony_ci */ 21532d43be4eSopenharmony_ciHWTEST_F(CellularStateMachineTest, Default_ProcessUpdateNetworkInfo_001, Function | MediumTest | Level1) 21542d43be4eSopenharmony_ci{ 21552d43be4eSopenharmony_ci if (cellularMachine == nullptr) { 21562d43be4eSopenharmony_ci std::shared_ptr<CellularMachineTest> machine = std::make_shared<CellularMachineTest>(); 21572d43be4eSopenharmony_ci cellularMachine = machine->CreateCellularDataConnect(0); 21582d43be4eSopenharmony_ci cellularMachine->Init(); 21592d43be4eSopenharmony_ci EXPECT_CALL(*mockSimManager, GetDefaultCellularDataSlotId()).Times(AtLeast(1)) 21602d43be4eSopenharmony_ci .WillOnce([]() { 21612d43be4eSopenharmony_ci return 0; 21622d43be4eSopenharmony_ci }); 21632d43be4eSopenharmony_ci } 21642d43be4eSopenharmony_ci auto defaultState = static_cast<Default *>(cellularMachine->defaultState_.GetRefPtr()); 21652d43be4eSopenharmony_ci defaultState->stateMachine_ = cellularMachine; 21662d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_SM_UPDATE_NETWORK_INFO); 21672d43be4eSopenharmony_ci bool result = defaultState->ProcessUpdateNetworkInfo(event); 21682d43be4eSopenharmony_ci EXPECT_EQ(result, true); 21692d43be4eSopenharmony_ci} 21702d43be4eSopenharmony_ci} // namespace Telephony 21712d43be4eSopenharmony_ci} // namespace OHOS