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