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 "gtest/gtest.h" 192d43be4eSopenharmony_ci#include "common_event_manager.h" 202d43be4eSopenharmony_ci#include "common_event_support.h" 212d43be4eSopenharmony_ci#include "cellular_data_handler.h" 222d43be4eSopenharmony_ci 232d43be4eSopenharmony_cinamespace OHOS { 242d43be4eSopenharmony_cinamespace Telephony { 252d43be4eSopenharmony_ciusing namespace testing::ext; 262d43be4eSopenharmony_ci 272d43be4eSopenharmony_ciclass CellularDataHandlerTest : public testing::Test { 282d43be4eSopenharmony_cipublic: 292d43be4eSopenharmony_ci static void SetUpTestCase() {} 302d43be4eSopenharmony_ci static void TearDownTestCase() {} 312d43be4eSopenharmony_ci void SetUp() {} 322d43be4eSopenharmony_ci void TearDown() {} 332d43be4eSopenharmony_ci}; 342d43be4eSopenharmony_ci 352d43be4eSopenharmony_ci/** 362d43be4eSopenharmony_ci * @tc.number HandleUpdateNetInfo_001 372d43be4eSopenharmony_ci * @tc.name test error branch 382d43be4eSopenharmony_ci * @tc.desc Function test 392d43be4eSopenharmony_ci */ 402d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, HandleUpdateNetInfo_001, Function | MediumTest | Level3) 412d43be4eSopenharmony_ci{ 422d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 432d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 442d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 452d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 462d43be4eSopenharmony_ci auto netInfo = std::make_shared<SetupDataCallResultInfo>(); 472d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_DATA_CALL_LIST_CHANGED, netInfo); 482d43be4eSopenharmony_ci cellularDataHandler->HandleUpdateNetInfo(event); 492d43be4eSopenharmony_ci EXPECT_EQ(cellularDataHandler->connectionManager_, nullptr); 502d43be4eSopenharmony_ci EXPECT_EQ(cellularDataHandler->apnManager_, nullptr); 512d43be4eSopenharmony_ci} 522d43be4eSopenharmony_ci 532d43be4eSopenharmony_ci/** 542d43be4eSopenharmony_ci * @tc.number HandleUpdateNetInfo_002 552d43be4eSopenharmony_ci * @tc.name test error branch 562d43be4eSopenharmony_ci * @tc.desc Function test 572d43be4eSopenharmony_ci */ 582d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, HandleUpdateNetInfo_002, Function | MediumTest | Level3) 592d43be4eSopenharmony_ci{ 602d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 612d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 622d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 632d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 642d43be4eSopenharmony_ci cellularDataHandler->Init(); 652d43be4eSopenharmony_ci auto netInfo = std::make_shared<SetupDataCallResultInfo>(); 662d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_DATA_CALL_LIST_CHANGED); 672d43be4eSopenharmony_ci cellularDataHandler->HandleUpdateNetInfo(event); 682d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->connectionManager_, nullptr); 692d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->apnManager_, nullptr); 702d43be4eSopenharmony_ci EXPECT_EQ(event->GetSharedObject<SetupDataCallResultInfo>(), nullptr); 712d43be4eSopenharmony_ci} 722d43be4eSopenharmony_ci 732d43be4eSopenharmony_ci/** 742d43be4eSopenharmony_ci * @tc.number HandleUpdateNetInfo_003 752d43be4eSopenharmony_ci * @tc.name test error branch 762d43be4eSopenharmony_ci * @tc.desc Function test 772d43be4eSopenharmony_ci */ 782d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, HandleUpdateNetInfo_003, Function | MediumTest | Level3) 792d43be4eSopenharmony_ci{ 802d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 812d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 822d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 832d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 842d43be4eSopenharmony_ci cellularDataHandler->Init(); 852d43be4eSopenharmony_ci auto netInfo = std::make_shared<SetupDataCallResultInfo>(); 862d43be4eSopenharmony_ci netInfo->flag = DATA_CONTEXT_ROLE_DEFAULT_ID; 872d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_DATA_CALL_LIST_CHANGED, netInfo); 882d43be4eSopenharmony_ci cellularDataHandler->HandleUpdateNetInfo(event); 892d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->connectionManager_, nullptr); 902d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->apnManager_, nullptr); 912d43be4eSopenharmony_ci EXPECT_NE(event->GetSharedObject<SetupDataCallResultInfo>(), nullptr); 922d43be4eSopenharmony_ci sptr<ApnHolder> apnHolder = cellularDataHandler->apnManager_->GetApnHolder( 932d43be4eSopenharmony_ci cellularDataHandler->apnManager_->FindApnNameByApnId(netInfo->flag)); 942d43be4eSopenharmony_ci EXPECT_NE(apnHolder, nullptr); 952d43be4eSopenharmony_ci EXPECT_EQ(apnHolder->GetApnState(), PROFILE_STATE_IDLE); 962d43be4eSopenharmony_ci} 972d43be4eSopenharmony_ci 982d43be4eSopenharmony_ci/** 992d43be4eSopenharmony_ci * @tc.number HandleUpdateNetInfo_004 1002d43be4eSopenharmony_ci * @tc.name test error branch 1012d43be4eSopenharmony_ci * @tc.desc Function test 1022d43be4eSopenharmony_ci */ 1032d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, HandleUpdateNetInfo_004, Function | MediumTest | Level3) 1042d43be4eSopenharmony_ci{ 1052d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 1062d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 1072d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 1082d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 1092d43be4eSopenharmony_ci cellularDataHandler->Init(); 1102d43be4eSopenharmony_ci auto netInfo = std::make_shared<SetupDataCallResultInfo>(); 1112d43be4eSopenharmony_ci netInfo->flag = DATA_CONTEXT_ROLE_DEFAULT_ID; 1122d43be4eSopenharmony_ci sptr<ApnHolder> apnHolder = cellularDataHandler->apnManager_->GetApnHolder( 1132d43be4eSopenharmony_ci cellularDataHandler->apnManager_->FindApnNameByApnId(netInfo->flag)); 1142d43be4eSopenharmony_ci EXPECT_NE(apnHolder, nullptr); 1152d43be4eSopenharmony_ci apnHolder->SetApnState(PROFILE_STATE_CONNECTED); 1162d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_DATA_CALL_LIST_CHANGED, netInfo); 1172d43be4eSopenharmony_ci cellularDataHandler->HandleUpdateNetInfo(event); 1182d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->connectionManager_, nullptr); 1192d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->apnManager_, nullptr); 1202d43be4eSopenharmony_ci EXPECT_NE(event->GetSharedObject<SetupDataCallResultInfo>(), nullptr); 1212d43be4eSopenharmony_ci EXPECT_EQ(apnHolder->GetApnState(), PROFILE_STATE_CONNECTED); 1222d43be4eSopenharmony_ci auto stateMachine = cellularDataHandler->connectionManager_->GetActiveConnectionByCid(netInfo->cid); 1232d43be4eSopenharmony_ci EXPECT_EQ(stateMachine, nullptr); 1242d43be4eSopenharmony_ci} 1252d43be4eSopenharmony_ci 1262d43be4eSopenharmony_ci/** 1272d43be4eSopenharmony_ci * @tc.number HandleUpdateNetInfo_005 1282d43be4eSopenharmony_ci * @tc.name test error branch 1292d43be4eSopenharmony_ci * @tc.desc Function test 1302d43be4eSopenharmony_ci */ 1312d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, HandleUpdateNetInfo_005, Function | MediumTest | Level3) 1322d43be4eSopenharmony_ci{ 1332d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 1342d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 1352d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 1362d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 1372d43be4eSopenharmony_ci cellularDataHandler->Init(); 1382d43be4eSopenharmony_ci auto netInfo = std::make_shared<SetupDataCallResultInfo>(); 1392d43be4eSopenharmony_ci netInfo->flag = DATA_CONTEXT_ROLE_DEFAULT_ID; 1402d43be4eSopenharmony_ci netInfo->cid = 100; 1412d43be4eSopenharmony_ci sptr<ApnHolder> apnHolder = cellularDataHandler->apnManager_->GetApnHolder( 1422d43be4eSopenharmony_ci cellularDataHandler->apnManager_->FindApnNameByApnId(netInfo->flag)); 1432d43be4eSopenharmony_ci EXPECT_NE(apnHolder, nullptr); 1442d43be4eSopenharmony_ci apnHolder->SetApnState(PROFILE_STATE_CONNECTED); 1452d43be4eSopenharmony_ci sptr<DataConnectionManager> connectionManager = std::make_unique<DataConnectionManager>(0).release(); 1462d43be4eSopenharmony_ci EXPECT_NE(connectionManager, nullptr); 1472d43be4eSopenharmony_ci connectionManager->Init(); 1482d43be4eSopenharmony_ci auto sm = std::make_shared<CellularDataStateMachine>( 1492d43be4eSopenharmony_ci connectionManager, std::make_shared<TelEventHandler>("CellularDataHandlerTest")); 1502d43be4eSopenharmony_ci sm->cid_ = 100; 1512d43be4eSopenharmony_ci cellularDataHandler->connectionManager_->AddActiveConnectionByCid(sm); 1522d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_DATA_CALL_LIST_CHANGED, netInfo); 1532d43be4eSopenharmony_ci cellularDataHandler->HandleUpdateNetInfo(event); 1542d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->connectionManager_, nullptr); 1552d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->apnManager_, nullptr); 1562d43be4eSopenharmony_ci EXPECT_NE(event->GetSharedObject<SetupDataCallResultInfo>(), nullptr); 1572d43be4eSopenharmony_ci EXPECT_EQ(apnHolder->GetApnState(), PROFILE_STATE_CONNECTED); 1582d43be4eSopenharmony_ci auto stateMachine = cellularDataHandler->connectionManager_->GetActiveConnectionByCid(netInfo->cid); 1592d43be4eSopenharmony_ci EXPECT_NE(stateMachine, nullptr); 1602d43be4eSopenharmony_ci} 1612d43be4eSopenharmony_ci 1622d43be4eSopenharmony_ci/** 1632d43be4eSopenharmony_ci * @tc.number HandleUpdateNetInfo_006 1642d43be4eSopenharmony_ci * @tc.name test error branch 1652d43be4eSopenharmony_ci * @tc.desc Function test 1662d43be4eSopenharmony_ci */ 1672d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, HandleUpdateNetInfo_006, Function | MediumTest | Level3) 1682d43be4eSopenharmony_ci{ 1692d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 1702d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 1712d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 1722d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 1732d43be4eSopenharmony_ci cellularDataHandler->Init(); 1742d43be4eSopenharmony_ci auto netInfo = std::make_shared<SetupDataCallResultInfo>(); 1752d43be4eSopenharmony_ci netInfo->flag = DATA_CONTEXT_ROLE_DEFAULT_ID; 1762d43be4eSopenharmony_ci netInfo->cid = 100; 1772d43be4eSopenharmony_ci sptr<ApnHolder> apnHolder = cellularDataHandler->apnManager_->GetApnHolder( 1782d43be4eSopenharmony_ci cellularDataHandler->apnManager_->FindApnNameByApnId(netInfo->flag)); 1792d43be4eSopenharmony_ci EXPECT_NE(apnHolder, nullptr); 1802d43be4eSopenharmony_ci apnHolder->SetApnState(PROFILE_STATE_IDLE); 1812d43be4eSopenharmony_ci cellularDataHandler->ClearConnection(apnHolder, DisConnectionReason::REASON_CLEAR_CONNECTION); 1822d43be4eSopenharmony_ci EXPECT_NE(apnHolder->GetApnState(), PROFILE_STATE_DISCONNECTING); 1832d43be4eSopenharmony_ci} 1842d43be4eSopenharmony_ci 1852d43be4eSopenharmony_ci/** 1862d43be4eSopenharmony_ci * @tc.number HandleRoamingOff_001 1872d43be4eSopenharmony_ci * @tc.name test roaming off 1882d43be4eSopenharmony_ci * @tc.desc Function test 1892d43be4eSopenharmony_ci */ 1902d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, HandleRoamingOff_001, Function | MediumTest | Level3) 1912d43be4eSopenharmony_ci{ 1922d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 1932d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 1942d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 1952d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 1962d43be4eSopenharmony_ci cellularDataHandler->Init(); 1972d43be4eSopenharmony_ci cellularDataHandler->SetCellularDataRoamingEnabled(true); 1982d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 1992d43be4eSopenharmony_ci cellularDataHandler->RoamingStateOff(event); 2002d43be4eSopenharmony_ci} 2012d43be4eSopenharmony_ci 2022d43be4eSopenharmony_ci/** 2032d43be4eSopenharmony_ci * @tc.number HandleRoamingOff_002 2042d43be4eSopenharmony_ci * @tc.name test roaming off 2052d43be4eSopenharmony_ci * @tc.desc Function test 2062d43be4eSopenharmony_ci */ 2072d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, HandleRoamingOff_002, Function | MediumTest | Level3) 2082d43be4eSopenharmony_ci{ 2092d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 2102d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 2112d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 2122d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 2132d43be4eSopenharmony_ci cellularDataHandler->Init(); 2142d43be4eSopenharmony_ci cellularDataHandler->SetCellularDataRoamingEnabled(false); 2152d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 2162d43be4eSopenharmony_ci cellularDataHandler->RoamingStateOff(event); 2172d43be4eSopenharmony_ci} 2182d43be4eSopenharmony_ci 2192d43be4eSopenharmony_ci/** 2202d43be4eSopenharmony_ci * @tc.number HandleSimEvent_001 2212d43be4eSopenharmony_ci * @tc.name test error branch 2222d43be4eSopenharmony_ci * @tc.desc Function test 2232d43be4eSopenharmony_ci */ 2242d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, HandleSimEvent_001, Function | MediumTest | Level3) 2252d43be4eSopenharmony_ci{ 2262d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 2272d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 2282d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 2292d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 2302d43be4eSopenharmony_ci cellularDataHandler->Init(); 2312d43be4eSopenharmony_ci AppExecFwk::InnerEvent::Pointer nullEvent(nullptr, nullptr); 2322d43be4eSopenharmony_ci cellularDataHandler->HandleSimEvent(nullEvent); 2332d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_DATA_CALL_LIST_CHANGED, 0); 2342d43be4eSopenharmony_ci cellularDataHandler->HandleSimEvent(event); 2352d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->connectionManager_, nullptr); 2362d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->apnManager_, nullptr); 2372d43be4eSopenharmony_ci} 2382d43be4eSopenharmony_ci 2392d43be4eSopenharmony_ci/** 2402d43be4eSopenharmony_ci * @tc.number HandleSimEvent_002 2412d43be4eSopenharmony_ci * @tc.name test error branch 2422d43be4eSopenharmony_ci * @tc.desc Function test 2432d43be4eSopenharmony_ci */ 2442d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, HandleSimEvent_002, Function | MediumTest | Level3) 2452d43be4eSopenharmony_ci{ 2462d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 2472d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 2482d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 2492d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 2502d43be4eSopenharmony_ci cellularDataHandler->Init(); 2512d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(RadioEvent::RADIO_SIM_STATE_CHANGE, 1); 2522d43be4eSopenharmony_ci cellularDataHandler->HandleSimEvent(event); 2532d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->slotId_, event->GetParam()); 2542d43be4eSopenharmony_ci} 2552d43be4eSopenharmony_ci 2562d43be4eSopenharmony_ci/** 2572d43be4eSopenharmony_ci * @tc.number HandleSimEvent_003 2582d43be4eSopenharmony_ci * @tc.name test error branch 2592d43be4eSopenharmony_ci * @tc.desc Function test 2602d43be4eSopenharmony_ci */ 2612d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, HandleSimEvent_003, Function | MediumTest | Level3) 2622d43be4eSopenharmony_ci{ 2632d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 2642d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 2652d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 2662d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 2672d43be4eSopenharmony_ci cellularDataHandler->Init(); 2682d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(RadioEvent::RADIO_SIM_STATE_CHANGE, 0); 2692d43be4eSopenharmony_ci cellularDataHandler->HandleSimEvent(event); 2702d43be4eSopenharmony_ci EXPECT_EQ(event->GetInnerEventId(), RadioEvent::RADIO_SIM_STATE_CHANGE); 2712d43be4eSopenharmony_ci} 2722d43be4eSopenharmony_ci 2732d43be4eSopenharmony_ci/** 2742d43be4eSopenharmony_ci * @tc.number HandleSimEvent_004 2752d43be4eSopenharmony_ci * @tc.name test error branch 2762d43be4eSopenharmony_ci * @tc.desc Function test 2772d43be4eSopenharmony_ci */ 2782d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, HandleSimEvent_004, Function | MediumTest | Level3) 2792d43be4eSopenharmony_ci{ 2802d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 2812d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 2822d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 2832d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 2842d43be4eSopenharmony_ci cellularDataHandler->Init(); 2852d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(RadioEvent::RADIO_SIM_RECORDS_LOADED, 0); 2862d43be4eSopenharmony_ci cellularDataHandler->HandleSimEvent(event); 2872d43be4eSopenharmony_ci EXPECT_EQ(event->GetInnerEventId(), RadioEvent::RADIO_SIM_RECORDS_LOADED); 2882d43be4eSopenharmony_ci} 2892d43be4eSopenharmony_ci 2902d43be4eSopenharmony_ci/** 2912d43be4eSopenharmony_ci * @tc.number HandleSimEvent_005 2922d43be4eSopenharmony_ci * @tc.name test error branch 2932d43be4eSopenharmony_ci * @tc.desc Function test 2942d43be4eSopenharmony_ci */ 2952d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, HandleSimEvent_005, Function | MediumTest | Level3) 2962d43be4eSopenharmony_ci{ 2972d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 2982d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 2992d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 3002d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 3012d43be4eSopenharmony_ci cellularDataHandler->Init(); 3022d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(RadioEvent::RADIO_NV_REFRESH_FINISHED, 0); 3032d43be4eSopenharmony_ci cellularDataHandler->HandleSimEvent(event); 3042d43be4eSopenharmony_ci EXPECT_EQ(event->GetInnerEventId(), RadioEvent::RADIO_NV_REFRESH_FINISHED); 3052d43be4eSopenharmony_ci} 3062d43be4eSopenharmony_ci 3072d43be4eSopenharmony_ci/** 3082d43be4eSopenharmony_ci * @tc.number HandleSimEvent_006 3092d43be4eSopenharmony_ci * @tc.name test error branch 3102d43be4eSopenharmony_ci * @tc.desc Function test 3112d43be4eSopenharmony_ci */ 3122d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, HandleSimEvent_006, Function | MediumTest | Level3) 3132d43be4eSopenharmony_ci{ 3142d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 3152d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 3162d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 3172d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 3182d43be4eSopenharmony_ci cellularDataHandler->Init(); 3192d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(RadioEvent::RADIO_SIM_ACCOUNT_LOADED, 0); 3202d43be4eSopenharmony_ci cellularDataHandler->HandleSimEvent(event); 3212d43be4eSopenharmony_ci EXPECT_EQ(event->GetInnerEventId(), RadioEvent::RADIO_SIM_ACCOUNT_LOADED); 3222d43be4eSopenharmony_ci} 3232d43be4eSopenharmony_ci 3242d43be4eSopenharmony_ci/** 3252d43be4eSopenharmony_ci * @tc.number ClearConnectionsOnUpdateApns_001 3262d43be4eSopenharmony_ci * @tc.name test error branch 3272d43be4eSopenharmony_ci * @tc.desc Function test 3282d43be4eSopenharmony_ci */ 3292d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, ClearConnectionsOnUpdateApns_001, Function | MediumTest | Level3) 3302d43be4eSopenharmony_ci{ 3312d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 3322d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 3332d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 3342d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 3352d43be4eSopenharmony_ci cellularDataHandler->ClearConnectionsOnUpdateApns(DisConnectionReason::REASON_RETRY_CONNECTION); 3362d43be4eSopenharmony_ci EXPECT_EQ(cellularDataHandler->apnManager_, nullptr); 3372d43be4eSopenharmony_ci} 3382d43be4eSopenharmony_ci 3392d43be4eSopenharmony_ci/** 3402d43be4eSopenharmony_ci * @tc.number ClearConnectionsOnUpdateApns_002 3412d43be4eSopenharmony_ci * @tc.name test error branch 3422d43be4eSopenharmony_ci * @tc.desc Function test 3432d43be4eSopenharmony_ci */ 3442d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, ClearConnectionsOnUpdateApns_002, Function | MediumTest | Level3) 3452d43be4eSopenharmony_ci{ 3462d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 3472d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 3482d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 3492d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 3502d43be4eSopenharmony_ci cellularDataHandler->Init(); 3512d43be4eSopenharmony_ci cellularDataHandler->ClearConnectionsOnUpdateApns(DisConnectionReason::REASON_RETRY_CONNECTION); 3522d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->connectionManager_, nullptr); 3532d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->apnManager_, nullptr); 3542d43be4eSopenharmony_ci} 3552d43be4eSopenharmony_ci 3562d43be4eSopenharmony_ci/** 3572d43be4eSopenharmony_ci * @tc.number CellularDataHandler_Uid_Test001 3582d43be4eSopenharmony_ci * @tc.name test error branch 3592d43be4eSopenharmony_ci * @tc.desc Function test 3602d43be4eSopenharmony_ci */ 3612d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, CellularDataHandler_Uid_Test001, Function | MediumTest | Level3) 3622d43be4eSopenharmony_ci{ 3632d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 3642d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 3652d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 3662d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 3672d43be4eSopenharmony_ci NetRequest netRequest; 3682d43be4eSopenharmony_ci netRequest.capability = 1; 3692d43be4eSopenharmony_ci netRequest.ident = "ident"; 3702d43be4eSopenharmony_ci EXPECT_FALSE(cellularDataHandler->AddUid(netRequest)); 3712d43be4eSopenharmony_ci EXPECT_FALSE(cellularDataHandler->RemoveUid(netRequest)); 3722d43be4eSopenharmony_ci cellularDataHandler->Init(); 3732d43be4eSopenharmony_ci EXPECT_TRUE(cellularDataHandler->AddUid(netRequest)); 3742d43be4eSopenharmony_ci EXPECT_TRUE(cellularDataHandler->RemoveUid(netRequest)); 3752d43be4eSopenharmony_ci} 3762d43be4eSopenharmony_ci 3772d43be4eSopenharmony_ci/** 3782d43be4eSopenharmony_ci * @tc.number SetCellularDataRoamingEnabledTest001 3792d43be4eSopenharmony_ci * @tc.name test error branch 3802d43be4eSopenharmony_ci * @tc.desc Function test 3812d43be4eSopenharmony_ci */ 3822d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, SetCellularDataRoamingEnabledTest001, Function | MediumTest | Level3) 3832d43be4eSopenharmony_ci{ 3842d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 3852d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 3862d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 3872d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 3882d43be4eSopenharmony_ci bool dataRoamingEnabled = true; 3892d43be4eSopenharmony_ci EXPECT_EQ(cellularDataHandler->SetCellularDataRoamingEnabled(dataRoamingEnabled), TELEPHONY_ERR_LOCAL_PTR_NULL); 3902d43be4eSopenharmony_ci cellularDataHandler->Init(); 3912d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 3922d43be4eSopenharmony_ci cellularDataHandler->RadioPsConnectionAttached(event); 3932d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->apnManager_, nullptr); 3942d43be4eSopenharmony_ci cellularDataHandler->RoamingStateOn(event); 3952d43be4eSopenharmony_ci cellularDataHandler->RoamingStateOff(event); 3962d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->dataSwitchSettings_, nullptr); 3972d43be4eSopenharmony_ci cellularDataHandler->incallDataStateMachine_ = cellularDataHandler->CreateIncallDataStateMachine(0); 3982d43be4eSopenharmony_ci EXPECT_FALSE(cellularDataHandler->SetDataPermittedForMms(true)); 3992d43be4eSopenharmony_ci} 4002d43be4eSopenharmony_ci 4012d43be4eSopenharmony_ci/** 4022d43be4eSopenharmony_ci * @tc.number AttemptEstablishDataConnectionTest001 4032d43be4eSopenharmony_ci * @tc.name test error branch 4042d43be4eSopenharmony_ci * @tc.desc Function test 4052d43be4eSopenharmony_ci */ 4062d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, AttemptEstablishDataConnectionTest001, Function | MediumTest | Level3) 4072d43be4eSopenharmony_ci{ 4082d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 4092d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 4102d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 4112d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 1); 4122d43be4eSopenharmony_ci cellularDataHandler->Init(); 4132d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularMachine = nullptr; 4142d43be4eSopenharmony_ci cellularDataHandler->connectionManager_->GetAllConnectionMachine().push_back(cellularMachine); 4152d43be4eSopenharmony_ci EXPECT_EQ(cellularDataHandler->FindIdleCellularDataConnection(), nullptr); 4162d43be4eSopenharmony_ci} 4172d43be4eSopenharmony_ci 4182d43be4eSopenharmony_ci/** 4192d43be4eSopenharmony_ci * @tc.number AttemptEstablishDataConnectionTest002 4202d43be4eSopenharmony_ci * @tc.name test error branch 4212d43be4eSopenharmony_ci * @tc.desc Function test 4222d43be4eSopenharmony_ci */ 4232d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, AttemptEstablishDataConnectionTest002, Function | MediumTest | Level3) 4242d43be4eSopenharmony_ci{ 4252d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 4262d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 4272d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 4282d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 1); 4292d43be4eSopenharmony_ci sptr<DataConnectionManager> connectionManager = std::make_unique<DataConnectionManager>(0).release(); 4302d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularMachine = std::make_shared<CellularDataStateMachine>( 4312d43be4eSopenharmony_ci connectionManager, nullptr); 4322d43be4eSopenharmony_ci cellularDataHandler->connectionManager_ = connectionManager; 4332d43be4eSopenharmony_ci cellularDataHandler->connectionManager_->GetAllConnectionMachine().push_back(cellularMachine); 4342d43be4eSopenharmony_ci EXPECT_EQ(cellularDataHandler->FindIdleCellularDataConnection(), nullptr); 4352d43be4eSopenharmony_ci cellularDataHandler->Init(); 4362d43be4eSopenharmony_ci EXPECT_EQ(cellularDataHandler->FindIdleCellularDataConnection(), nullptr); 4372d43be4eSopenharmony_ci} 4382d43be4eSopenharmony_ci 4392d43be4eSopenharmony_ci/** 4402d43be4eSopenharmony_ci * @tc.number EstablishDataConnectionTest002 4412d43be4eSopenharmony_ci * @tc.name test error branch 4422d43be4eSopenharmony_ci * @tc.desc Function test 4432d43be4eSopenharmony_ci */ 4442d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, EstablishDataConnectionTest002, Function | MediumTest | Level3) 4452d43be4eSopenharmony_ci{ 4462d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 4472d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 4482d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 4492d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 4502d43be4eSopenharmony_ci cellularDataHandler->Init(); 4512d43be4eSopenharmony_ci sptr<ApnItem> apnItem = ApnItem::MakeDefaultApn(DATA_CONTEXT_ROLE_DEFAULT); 4522d43be4eSopenharmony_ci sptr<ApnHolder> apnHolder = std::make_unique<ApnHolder>("default", static_cast<int32_t>(0)).release(); 4532d43be4eSopenharmony_ci apnHolder->retryPolicy_.matchedApns_.push_back(apnItem); 4542d43be4eSopenharmony_ci EXPECT_NE(apnHolder->GetNextRetryApn(), nullptr); 4552d43be4eSopenharmony_ci EXPECT_TRUE(cellularDataHandler->EstablishDataConnection(apnHolder, 0)); 4562d43be4eSopenharmony_ci apnHolder->apnType_ = DATA_CONTEXT_ROLE_DUN; 4572d43be4eSopenharmony_ci EXPECT_TRUE(cellularDataHandler->EstablishDataConnection(apnHolder, 0)); 4582d43be4eSopenharmony_ci apnHolder->apnType_ = DATA_CONTEXT_ROLE_MMS; 4592d43be4eSopenharmony_ci EXPECT_TRUE(cellularDataHandler->EstablishDataConnection(apnHolder, 0)); 4602d43be4eSopenharmony_ci} 4612d43be4eSopenharmony_ci 4622d43be4eSopenharmony_ci/** 4632d43be4eSopenharmony_ci * @tc.number DisconnectDataCompleteTest001 4642d43be4eSopenharmony_ci * @tc.name test error branch 4652d43be4eSopenharmony_ci * @tc.desc Function test 4662d43be4eSopenharmony_ci */ 4672d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, DisconnectDataCompleteTest001, Function | MediumTest | Level3) 4682d43be4eSopenharmony_ci{ 4692d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 4702d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 4712d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 4722d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 4732d43be4eSopenharmony_ci cellularDataHandler->Init(); 4742d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 4752d43be4eSopenharmony_ci cellularDataHandler->DisconnectDataComplete(event); 4762d43be4eSopenharmony_ci EXPECT_NE(event, nullptr); 4772d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->apnManager_, nullptr); 4782d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->connectionManager_, nullptr); 4792d43be4eSopenharmony_ci} 4802d43be4eSopenharmony_ci 4812d43be4eSopenharmony_ci/** 4822d43be4eSopenharmony_ci * @tc.number UpdatePhysicalConnectionStateTest001 4832d43be4eSopenharmony_ci * @tc.name test error branch 4842d43be4eSopenharmony_ci * @tc.desc Function test 4852d43be4eSopenharmony_ci */ 4862d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, UpdatePhysicalConnectionStateTest001, Function | MediumTest | Level3) 4872d43be4eSopenharmony_ci{ 4882d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 4892d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 4902d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 4912d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 4922d43be4eSopenharmony_ci cellularDataHandler->physicalConnectionActiveState_ = false; 4932d43be4eSopenharmony_ci cellularDataHandler->UpdatePhysicalConnectionState(false); 4942d43be4eSopenharmony_ci EXPECT_TRUE(cellularDataHandler->physicalConnectionActiveState_); 4952d43be4eSopenharmony_ci 4962d43be4eSopenharmony_ci cellularDataHandler->UpdatePhysicalConnectionState(true); 4972d43be4eSopenharmony_ci EXPECT_FALSE(cellularDataHandler->physicalConnectionActiveState_); 4982d43be4eSopenharmony_ci 4992d43be4eSopenharmony_ci cellularDataHandler->physicalConnectionActiveState_ = true; 5002d43be4eSopenharmony_ci cellularDataHandler->UpdatePhysicalConnectionState(false); 5012d43be4eSopenharmony_ci EXPECT_TRUE(cellularDataHandler->physicalConnectionActiveState_); 5022d43be4eSopenharmony_ci 5032d43be4eSopenharmony_ci cellularDataHandler->UpdatePhysicalConnectionState(true); 5042d43be4eSopenharmony_ci EXPECT_FALSE(cellularDataHandler->physicalConnectionActiveState_); 5052d43be4eSopenharmony_ci} 5062d43be4eSopenharmony_ci 5072d43be4eSopenharmony_ci/** 5082d43be4eSopenharmony_ci * @tc.number HandleScreenStateChangedTest001 5092d43be4eSopenharmony_ci * @tc.name test error branch 5102d43be4eSopenharmony_ci * @tc.desc Function test 5112d43be4eSopenharmony_ci */ 5122d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, HandleScreenStateChangedTest001, Function | MediumTest | Level3) 5132d43be4eSopenharmony_ci{ 5142d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 5152d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 5162d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 5172d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 5182d43be4eSopenharmony_ci cellularDataHandler->HandleScreenStateChanged(false); 5192d43be4eSopenharmony_ci EXPECT_EQ(cellularDataHandler->connectionManager_, nullptr); 5202d43be4eSopenharmony_ci cellularDataHandler->Init(); 5212d43be4eSopenharmony_ci cellularDataHandler->HandleScreenStateChanged(false); 5222d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->connectionManager_, nullptr); 5232d43be4eSopenharmony_ci} 5242d43be4eSopenharmony_ci 5252d43be4eSopenharmony_ci/** 5262d43be4eSopenharmony_ci * @tc.number UpdateCellularDataConnectStateTest001 5272d43be4eSopenharmony_ci * @tc.name test error branch 5282d43be4eSopenharmony_ci * @tc.desc Function test 5292d43be4eSopenharmony_ci */ 5302d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, UpdateCellularDataConnectStateTest001, Function | MediumTest | Level3) 5312d43be4eSopenharmony_ci{ 5322d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 5332d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 5342d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 5352d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 5362d43be4eSopenharmony_ci cellularDataHandler->Init(); 5372d43be4eSopenharmony_ci cellularDataHandler->incallDataStateMachine_ = cellularDataHandler->CreateIncallDataStateMachine(0); 5382d43be4eSopenharmony_ci AppExecFwk::InnerEvent::Pointer event(nullptr, nullptr); 5392d43be4eSopenharmony_ci cellularDataHandler->IncallDataComplete(event); 5402d43be4eSopenharmony_ci EXPECT_EQ(cellularDataHandler->incallDataStateMachine_, nullptr); 5412d43be4eSopenharmony_ci cellularDataHandler->UpdateCellularDataConnectState("default"); 5422d43be4eSopenharmony_ci EXPECT_EQ(cellularDataHandler->apnManager_->GetOverallDefaultApnState(), 0); 5432d43be4eSopenharmony_ci cellularDataHandler->UpdateCellularDataConnectState("internal_default"); 5442d43be4eSopenharmony_ci EXPECT_EQ(cellularDataHandler->apnManager_->GetOverallDefaultApnState(), 0); 5452d43be4eSopenharmony_ci} 5462d43be4eSopenharmony_ci 5472d43be4eSopenharmony_ci/** 5482d43be4eSopenharmony_ci * @tc.number HandleImsCallChangedTest001 5492d43be4eSopenharmony_ci * @tc.name test error branch 5502d43be4eSopenharmony_ci * @tc.desc Function test 5512d43be4eSopenharmony_ci */ 5522d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, HandleImsCallChangedTest001, Function | MediumTest | Level3) 5532d43be4eSopenharmony_ci{ 5542d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 5552d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 5562d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 5572d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 5582d43be4eSopenharmony_ci cellularDataHandler->Init(); 5592d43be4eSopenharmony_ci cellularDataHandler->HandleImsCallChanged(1); 5602d43be4eSopenharmony_ci EXPECT_EQ(cellularDataHandler->incallDataStateMachine_, nullptr); 5612d43be4eSopenharmony_ci cellularDataHandler->HandleImsCallChanged(4); 5622d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->incallDataStateMachine_, nullptr); 5632d43be4eSopenharmony_ci cellularDataHandler->HandleImsCallChanged(2); 5642d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->incallDataStateMachine_->GetCallState(), 8); 5652d43be4eSopenharmony_ci cellularDataHandler->HandleImsCallChanged(4); 5662d43be4eSopenharmony_ci EXPECT_EQ(cellularDataHandler->incallDataStateMachine_->GetCallState(), 4); 5672d43be4eSopenharmony_ci cellularDataHandler->HandleImsCallChanged(6); 5682d43be4eSopenharmony_ci EXPECT_EQ(cellularDataHandler->incallDataStateMachine_->GetCallState(), 6); 5692d43be4eSopenharmony_ci cellularDataHandler->HandleImsCallChanged(8); 5702d43be4eSopenharmony_ci EXPECT_EQ(cellularDataHandler->incallDataStateMachine_->GetCallState(), 8); 5712d43be4eSopenharmony_ci} 5722d43be4eSopenharmony_ci 5732d43be4eSopenharmony_ci/** 5742d43be4eSopenharmony_ci * @tc.number HandleSimAccountLoadedTest001 5752d43be4eSopenharmony_ci * @tc.name test error branch 5762d43be4eSopenharmony_ci * @tc.desc Function test 5772d43be4eSopenharmony_ci */ 5782d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, HandleSimAccountLoadedTest001, Function | MediumTest | Level3) 5792d43be4eSopenharmony_ci{ 5802d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 5812d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 5822d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 5832d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 1); 5842d43be4eSopenharmony_ci cellularDataHandler->Init(); 5852d43be4eSopenharmony_ci cellularDataHandler->HandleSimAccountLoaded(); 5862d43be4eSopenharmony_ci EXPECT_EQ(cellularDataHandler->isSimAccountLoaded_, false); 5872d43be4eSopenharmony_ci} 5882d43be4eSopenharmony_ci 5892d43be4eSopenharmony_ci/** 5902d43be4eSopenharmony_ci * @tc.number PsDataRatChangedTest001 5912d43be4eSopenharmony_ci * @tc.name test error branch 5922d43be4eSopenharmony_ci * @tc.desc Function test 5932d43be4eSopenharmony_ci */ 5942d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, PsDataRatChangedTest001, Function | MediumTest | Level3) 5952d43be4eSopenharmony_ci{ 5962d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 5972d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 5982d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 5992d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 1); 6002d43be4eSopenharmony_ci cellularDataHandler->Init(); 6012d43be4eSopenharmony_ci AppExecFwk::InnerEvent::Pointer event(nullptr, nullptr); 6022d43be4eSopenharmony_ci cellularDataHandler->PsDataRatChanged(event); 6032d43be4eSopenharmony_ci cellularDataHandler->dataSwitchSettings_->userDataOn_ = false; 6042d43be4eSopenharmony_ci EXPECT_FALSE(cellularDataHandler->dataSwitchSettings_->IsUserDataOn()); 6052d43be4eSopenharmony_ci} 6062d43be4eSopenharmony_ci 6072d43be4eSopenharmony_ci/** 6082d43be4eSopenharmony_ci * @tc.number SetPolicyDataOnTest001 6092d43be4eSopenharmony_ci * @tc.name test error branch 6102d43be4eSopenharmony_ci * @tc.desc Function test 6112d43be4eSopenharmony_ci */ 6122d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, SetPolicyDataOnTest001, Function | MediumTest | Level3) 6132d43be4eSopenharmony_ci{ 6142d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 6152d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 6162d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 6172d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 1); 6182d43be4eSopenharmony_ci cellularDataHandler->Init(); 6192d43be4eSopenharmony_ci cellularDataHandler->dataSwitchSettings_->policyDataOn_ = false; 6202d43be4eSopenharmony_ci cellularDataHandler->SetPolicyDataOn(true); 6212d43be4eSopenharmony_ci EXPECT_TRUE(cellularDataHandler->dataSwitchSettings_->IsUserDataOn()); 6222d43be4eSopenharmony_ci cellularDataHandler->dataSwitchSettings_->policyDataOn_ = true; 6232d43be4eSopenharmony_ci cellularDataHandler->SetPolicyDataOn(false); 6242d43be4eSopenharmony_ci EXPECT_FALSE(cellularDataHandler->dataSwitchSettings_->policyDataOn_); 6252d43be4eSopenharmony_ci} 6262d43be4eSopenharmony_ci 6272d43be4eSopenharmony_ci/** 6282d43be4eSopenharmony_ci * @tc.number SetRilAttachApnTest001 6292d43be4eSopenharmony_ci * @tc.name test error branch 6302d43be4eSopenharmony_ci * @tc.desc Function test 6312d43be4eSopenharmony_ci */ 6322d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, SetRilAttachApnTest001, Function | MediumTest | Level3) 6332d43be4eSopenharmony_ci{ 6342d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 6352d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 6362d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 6372d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 1); 6382d43be4eSopenharmony_ci cellularDataHandler->Init(); 6392d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->apnManager_, nullptr); 6402d43be4eSopenharmony_ci sptr<ApnItem> attachApn = ApnItem::MakeDefaultApn(DATA_CONTEXT_ROLE_DEFAULT); 6412d43be4eSopenharmony_ci cellularDataHandler->apnManager_->allApnItem_.push_back(attachApn); 6422d43be4eSopenharmony_ci cellularDataHandler->SetRilAttachApn(); 6432d43be4eSopenharmony_ci} 6442d43be4eSopenharmony_ci 6452d43be4eSopenharmony_ci/** 6462d43be4eSopenharmony_ci * @tc.number HasAnyHigherPriorityConnectionTest001 6472d43be4eSopenharmony_ci * @tc.name test error branch 6482d43be4eSopenharmony_ci * @tc.desc Function test 6492d43be4eSopenharmony_ci */ 6502d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, HasAnyHigherPriorityConnectionTest001, Function | MediumTest | Level3) 6512d43be4eSopenharmony_ci{ 6522d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 6532d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 6542d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 6552d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 1); 6562d43be4eSopenharmony_ci cellularDataHandler->Init(); 6572d43be4eSopenharmony_ci sptr<ApnHolder> sortApnHolder = std::make_unique<ApnHolder>("default", static_cast<int32_t>(0)).release(); 6582d43be4eSopenharmony_ci sortApnHolder->priority_ = 1; 6592d43be4eSopenharmony_ci sortApnHolder->dataCallEnabled_ = true; 6602d43be4eSopenharmony_ci sortApnHolder->apnState_ = ApnProfileState::PROFILE_STATE_CONNECTED; 6612d43be4eSopenharmony_ci cellularDataHandler->apnManager_->sortedApnHolders_.push_back(sortApnHolder); 6622d43be4eSopenharmony_ci sptr<ApnHolder> apnHolder = std::make_unique<ApnHolder>("default", static_cast<int32_t>(0)).release(); 6632d43be4eSopenharmony_ci apnHolder->priority_ = 0; 6642d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->apnManager_, nullptr); 6652d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->apnManager_->GetSortApnHolder().empty(), true); 6662d43be4eSopenharmony_ci EXPECT_TRUE(cellularDataHandler->HasAnyHigherPriorityConnection(apnHolder)); 6672d43be4eSopenharmony_ci} 6682d43be4eSopenharmony_ci 6692d43be4eSopenharmony_ci/** 6702d43be4eSopenharmony_ci * @tc.number HasAnyHigherPriorityConnectionTest002 6712d43be4eSopenharmony_ci * @tc.name test error branch 6722d43be4eSopenharmony_ci * @tc.desc Function test 6732d43be4eSopenharmony_ci */ 6742d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, HasAnyHigherPriorityConnectionTest002, Function | MediumTest | Level3) 6752d43be4eSopenharmony_ci{ 6762d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 6772d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 6782d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 6792d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 1); 6802d43be4eSopenharmony_ci cellularDataHandler->Init(); 6812d43be4eSopenharmony_ci sptr<ApnHolder> sortApnHolder = std::make_unique<ApnHolder>("default", static_cast<int32_t>(0)).release(); 6822d43be4eSopenharmony_ci sortApnHolder->priority_ = 1; 6832d43be4eSopenharmony_ci sortApnHolder->dataCallEnabled_ = true; 6842d43be4eSopenharmony_ci sortApnHolder->apnState_ = ApnProfileState::PROFILE_STATE_CONNECTING; 6852d43be4eSopenharmony_ci cellularDataHandler->apnManager_->sortedApnHolders_.push_back(sortApnHolder); 6862d43be4eSopenharmony_ci sptr<ApnHolder> apnHolder = std::make_unique<ApnHolder>("default", static_cast<int32_t>(0)).release(); 6872d43be4eSopenharmony_ci apnHolder->priority_ = 0; 6882d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->apnManager_, nullptr); 6892d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->apnManager_->GetSortApnHolder().empty(), true); 6902d43be4eSopenharmony_ci EXPECT_TRUE(cellularDataHandler->HasAnyHigherPriorityConnection(apnHolder)); 6912d43be4eSopenharmony_ci} 6922d43be4eSopenharmony_ci 6932d43be4eSopenharmony_ci/** 6942d43be4eSopenharmony_ci * @tc.number HasAnyHigherPriorityConnectionTest003 6952d43be4eSopenharmony_ci * @tc.name test error branch 6962d43be4eSopenharmony_ci * @tc.desc Function test 6972d43be4eSopenharmony_ci */ 6982d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, HasAnyHigherPriorityConnectionTest003, Function | MediumTest | Level3) 6992d43be4eSopenharmony_ci{ 7002d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 7012d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 7022d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 7032d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 1); 7042d43be4eSopenharmony_ci cellularDataHandler->Init(); 7052d43be4eSopenharmony_ci sptr<ApnHolder> sortApnHolder = std::make_unique<ApnHolder>("default", static_cast<int32_t>(0)).release(); 7062d43be4eSopenharmony_ci sortApnHolder->priority_ = 1; 7072d43be4eSopenharmony_ci sortApnHolder->dataCallEnabled_ = true; 7082d43be4eSopenharmony_ci sortApnHolder->apnState_ = ApnProfileState::PROFILE_STATE_DISCONNECTING; 7092d43be4eSopenharmony_ci cellularDataHandler->apnManager_->sortedApnHolders_.push_back(sortApnHolder); 7102d43be4eSopenharmony_ci sptr<ApnHolder> apnHolder = std::make_unique<ApnHolder>("default", static_cast<int32_t>(0)).release(); 7112d43be4eSopenharmony_ci apnHolder->priority_ = 0; 7122d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->apnManager_, nullptr); 7132d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->apnManager_->GetSortApnHolder().empty(), true); 7142d43be4eSopenharmony_ci EXPECT_TRUE(cellularDataHandler->HasAnyHigherPriorityConnection(apnHolder)); 7152d43be4eSopenharmony_ci} 7162d43be4eSopenharmony_ci 7172d43be4eSopenharmony_ci/** 7182d43be4eSopenharmony_ci * @tc.number HasInternetCapabilityTest001 7192d43be4eSopenharmony_ci * @tc.name test error branch 7202d43be4eSopenharmony_ci * @tc.desc Function test 7212d43be4eSopenharmony_ci */ 7222d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, HasInternetCapabilityTest001, Function | MediumTest | Level3) 7232d43be4eSopenharmony_ci{ 7242d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 7252d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 7262d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 7272d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 1); 7282d43be4eSopenharmony_ci cellularDataHandler->Init(); 7292d43be4eSopenharmony_ci sptr<DataConnectionManager> connectionManager = std::make_unique<DataConnectionManager>(0).release(); 7302d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularMachine = std::make_shared<CellularDataStateMachine>( 7312d43be4eSopenharmony_ci connectionManager, nullptr); 7322d43be4eSopenharmony_ci cellularMachine->capability_ = NetCap::NET_CAPABILITY_INTERNET; 7332d43be4eSopenharmony_ci cellularDataHandler->connectionManager_->cidActiveConnectionMap_[0] = cellularMachine; 7342d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->connectionManager_->GetActiveConnectionByCid(0), nullptr); 7352d43be4eSopenharmony_ci EXPECT_TRUE(cellularDataHandler->HasInternetCapability(0)); 7362d43be4eSopenharmony_ci} 7372d43be4eSopenharmony_ci 7382d43be4eSopenharmony_ci/** 7392d43be4eSopenharmony_ci * @tc.number HasInternetCapabilityTest002 7402d43be4eSopenharmony_ci * @tc.name test error branch 7412d43be4eSopenharmony_ci * @tc.desc Function test 7422d43be4eSopenharmony_ci */ 7432d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, HasInternetCapabilityTest002, Function | MediumTest | Level3) 7442d43be4eSopenharmony_ci{ 7452d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 7462d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 7472d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 7482d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 1); 7492d43be4eSopenharmony_ci cellularDataHandler->Init(); 7502d43be4eSopenharmony_ci sptr<DataConnectionManager> connectionManager = std::make_unique<DataConnectionManager>(0).release(); 7512d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularMachine = std::make_shared<CellularDataStateMachine>( 7522d43be4eSopenharmony_ci connectionManager, nullptr); 7532d43be4eSopenharmony_ci cellularMachine->capability_ = NetCap::NET_CAPABILITY_MMS; 7542d43be4eSopenharmony_ci cellularDataHandler->connectionManager_->cidActiveConnectionMap_[0] = cellularMachine; 7552d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->connectionManager_->GetActiveConnectionByCid(0), nullptr); 7562d43be4eSopenharmony_ci EXPECT_FALSE(cellularDataHandler->HasInternetCapability(0)); 7572d43be4eSopenharmony_ci} 7582d43be4eSopenharmony_ci 7592d43be4eSopenharmony_ci/** 7602d43be4eSopenharmony_ci * @tc.number ChangeConnectionForDsdsTest001 7612d43be4eSopenharmony_ci * @tc.name test error branch 7622d43be4eSopenharmony_ci * @tc.desc Function test 7632d43be4eSopenharmony_ci */ 7642d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, ChangeConnectionForDsdsTest001, Function | MediumTest | Level3) 7652d43be4eSopenharmony_ci{ 7662d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 7672d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 7682d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 7692d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 1); 7702d43be4eSopenharmony_ci cellularDataHandler->Init(); 7712d43be4eSopenharmony_ci cellularDataHandler->ChangeConnectionForDsds(true); 7722d43be4eSopenharmony_ci EXPECT_TRUE(cellularDataHandler->dataSwitchSettings_->internalDataOn_); 7732d43be4eSopenharmony_ci} 7742d43be4eSopenharmony_ci 7752d43be4eSopenharmony_ci/** 7762d43be4eSopenharmony_ci * @tc.number GetDataConnApnAttrTest001 7772d43be4eSopenharmony_ci * @tc.name test error branch 7782d43be4eSopenharmony_ci * @tc.desc Function test 7792d43be4eSopenharmony_ci */ 7802d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, GetDataConnApnAttrTest001, Function | MediumTest | Level3) 7812d43be4eSopenharmony_ci{ 7822d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 7832d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 7842d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 7852d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 1); 7862d43be4eSopenharmony_ci cellularDataHandler->Init(); 7872d43be4eSopenharmony_ci sptr<ApnHolder> apnHolder1 = std::make_unique<ApnHolder>("default", static_cast<int32_t>(0)).release(); 7882d43be4eSopenharmony_ci apnHolder1->apnItem_ = nullptr; 7892d43be4eSopenharmony_ci apnHolder1->dataCallEnabled_ = true; 7902d43be4eSopenharmony_ci cellularDataHandler->apnManager_->apnHolders_.push_back(apnHolder1); 7912d43be4eSopenharmony_ci sptr<ApnHolder> apnHolder2 = std::make_unique<ApnHolder>("default", static_cast<int32_t>(0)).release(); 7922d43be4eSopenharmony_ci sptr<ApnItem> apnItem = ApnItem::MakeDefaultApn(DATA_CONTEXT_ROLE_DEFAULT); 7932d43be4eSopenharmony_ci apnItem->attr_.isEdited_ = true; 7942d43be4eSopenharmony_ci apnHolder2->apnItem_ = apnItem; 7952d43be4eSopenharmony_ci apnHolder2->dataCallEnabled_ = true; 7962d43be4eSopenharmony_ci cellularDataHandler->apnManager_->apnHolders_.push_back(apnHolder2); 7972d43be4eSopenharmony_ci ApnItem::Attribute apnAttr; 7982d43be4eSopenharmony_ci apnAttr.isEdited_ = false; 7992d43be4eSopenharmony_ci cellularDataHandler->GetDataConnApnAttr(apnAttr); 8002d43be4eSopenharmony_ci EXPECT_TRUE(apnAttr.isEdited_); 8012d43be4eSopenharmony_ci} 8022d43be4eSopenharmony_ci 8032d43be4eSopenharmony_ci/** 8042d43be4eSopenharmony_ci * @tc.number GetDataConnIpTypeTest001 8052d43be4eSopenharmony_ci * @tc.name test error branch 8062d43be4eSopenharmony_ci * @tc.desc Function test 8072d43be4eSopenharmony_ci */ 8082d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, GetDataConnIpTypeTest001, Function | MediumTest | Level3) 8092d43be4eSopenharmony_ci{ 8102d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 8112d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 8122d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 8132d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 1); 8142d43be4eSopenharmony_ci cellularDataHandler->Init(); 8152d43be4eSopenharmony_ci sptr<ApnHolder> apnHolder1 = std::make_unique<ApnHolder>("default", static_cast<int32_t>(0)).release(); 8162d43be4eSopenharmony_ci apnHolder1->cellularDataStateMachine_ = nullptr; 8172d43be4eSopenharmony_ci apnHolder1->dataCallEnabled_ = true; 8182d43be4eSopenharmony_ci cellularDataHandler->apnManager_->apnHolders_.push_back(apnHolder1); 8192d43be4eSopenharmony_ci sptr<ApnHolder> apnHolder2 = std::make_unique<ApnHolder>("default", static_cast<int32_t>(0)).release(); 8202d43be4eSopenharmony_ci sptr<DataConnectionManager> connectionManager = std::make_unique<DataConnectionManager>(0).release(); 8212d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularMachine = std::make_shared<CellularDataStateMachine>( 8222d43be4eSopenharmony_ci connectionManager, nullptr); 8232d43be4eSopenharmony_ci cellularMachine->ipType_ = "IPV4"; 8242d43be4eSopenharmony_ci apnHolder2->cellularDataStateMachine_ = cellularMachine; 8252d43be4eSopenharmony_ci apnHolder2->dataCallEnabled_ = true; 8262d43be4eSopenharmony_ci cellularDataHandler->apnManager_->apnHolders_.push_back(apnHolder2); 8272d43be4eSopenharmony_ci cellularDataHandler->GetDataConnIpType(); 8282d43be4eSopenharmony_ci EXPECT_EQ(cellularDataHandler->GetDataConnIpType(), "IPV4"); 8292d43be4eSopenharmony_ci} 8302d43be4eSopenharmony_ci 8312d43be4eSopenharmony_ci/** 8322d43be4eSopenharmony_ci * @tc.number CheckForCompatibleDataConnectionTest001 8332d43be4eSopenharmony_ci * @tc.name test error branch 8342d43be4eSopenharmony_ci * @tc.desc Function test 8352d43be4eSopenharmony_ci */ 8362d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, CheckForCompatibleDataConnectionTest001, Function | MediumTest | Level3) 8372d43be4eSopenharmony_ci{ 8382d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 8392d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 8402d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 8412d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 1); 8422d43be4eSopenharmony_ci sptr<ApnHolder> apnHolder = std::make_unique<ApnHolder>("default", static_cast<int32_t>(0)).release(); 8432d43be4eSopenharmony_ci apnHolder->apnType_ = DATA_CONTEXT_ROLE_DUN; 8442d43be4eSopenharmony_ci EXPECT_EQ(cellularDataHandler->CheckForCompatibleDataConnection(apnHolder), nullptr); 8452d43be4eSopenharmony_ci cellularDataHandler->Init(); 8462d43be4eSopenharmony_ci EXPECT_EQ(cellularDataHandler->CheckForCompatibleDataConnection(apnHolder), nullptr); 8472d43be4eSopenharmony_ci} 8482d43be4eSopenharmony_ci 8492d43be4eSopenharmony_ci/** 8502d43be4eSopenharmony_ci * @tc.number ReleaseCellularDataConnectionTest001 8512d43be4eSopenharmony_ci * @tc.name test error branch 8522d43be4eSopenharmony_ci * @tc.desc Function test 8532d43be4eSopenharmony_ci */ 8542d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, ReleaseCellularDataConnectionTest001, Function | MediumTest | Level3) 8552d43be4eSopenharmony_ci{ 8562d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 8572d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 8582d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 8592d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 8602d43be4eSopenharmony_ci cellularDataHandler->Init(); 8612d43be4eSopenharmony_ci std::set<uint32_t> reqUids = {1}; 8622d43be4eSopenharmony_ci sptr<ApnHolder> apnHolder = std::make_unique<ApnHolder>("default", static_cast<int32_t>(0)).release(); 8632d43be4eSopenharmony_ci apnHolder->reqUids_ = reqUids; 8642d43be4eSopenharmony_ci cellularDataHandler->apnManager_->apnIdApnHolderMap_[1] = apnHolder; 8652d43be4eSopenharmony_ci cellularDataHandler->ReleaseCellularDataConnection(); 8662d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->apnManager_->apnIdApnHolderMap_[1]->apnState_, 3); 8672d43be4eSopenharmony_ci} 8682d43be4eSopenharmony_ci 8692d43be4eSopenharmony_ci/** 8702d43be4eSopenharmony_ci * @tc.number UpdateNetworkInfo_001 8712d43be4eSopenharmony_ci * @tc.name test error branch 8722d43be4eSopenharmony_ci * @tc.desc Function test 8732d43be4eSopenharmony_ci */ 8742d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, UpdateNetworkInfo_001, Function | MediumTest | Level3) 8752d43be4eSopenharmony_ci{ 8762d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 8772d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 8782d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 8792d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 8802d43be4eSopenharmony_ci EXPECT_EQ(cellularDataHandler->connectionManager_, nullptr); 8812d43be4eSopenharmony_ci EXPECT_FALSE(cellularDataHandler->UpdateNetworkInfo()); 8822d43be4eSopenharmony_ci} 8832d43be4eSopenharmony_ci 8842d43be4eSopenharmony_ci/** 8852d43be4eSopenharmony_ci * @tc.number UpdateNetworkInfo_002 8862d43be4eSopenharmony_ci * @tc.name test error branch 8872d43be4eSopenharmony_ci * @tc.desc Function test 8882d43be4eSopenharmony_ci */ 8892d43be4eSopenharmony_ciHWTEST_F(CellularDataHandlerTest, UpdateNetworkInfo_002, Function | MediumTest | Level3) 8902d43be4eSopenharmony_ci{ 8912d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 8922d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 8932d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 8942d43be4eSopenharmony_ci auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0); 8952d43be4eSopenharmony_ci cellularDataHandler->Init(); 8962d43be4eSopenharmony_ci EXPECT_NE(cellularDataHandler->connectionManager_, nullptr); 8972d43be4eSopenharmony_ci EXPECT_TRUE(cellularDataHandler->UpdateNetworkInfo()); 8982d43be4eSopenharmony_ci} 8992d43be4eSopenharmony_ci} // namespace Telephony 9002d43be4eSopenharmony_ci} // namespace OHOS