12d43be4eSopenharmony_ci/* 22d43be4eSopenharmony_ci * Copyright (C) 2022 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#include "activating.h" 182d43be4eSopenharmony_ci#include "active.h" 192d43be4eSopenharmony_ci#include "apn_holder.h" 202d43be4eSopenharmony_ci#include "apn_item.h" 212d43be4eSopenharmony_ci#include "apn_manager.h" 222d43be4eSopenharmony_ci#include "cellular_data_client.h" 232d43be4eSopenharmony_ci#include "cellular_data_constant.h" 242d43be4eSopenharmony_ci#include "cellular_data_controller.h" 252d43be4eSopenharmony_ci#include "cellular_data_dump_helper.h" 262d43be4eSopenharmony_ci#include "cellular_data_error.h" 272d43be4eSopenharmony_ci#include "cellular_data_handler.h" 282d43be4eSopenharmony_ci#include "cellular_data_hisysevent.h" 292d43be4eSopenharmony_ci#include "cellular_data_rdb_observer.h" 302d43be4eSopenharmony_ci#include "cellular_data_roaming_observer.h" 312d43be4eSopenharmony_ci#include "cellular_data_service.h" 322d43be4eSopenharmony_ci#include "cellular_data_service_stub.h" 332d43be4eSopenharmony_ci#include "cellular_data_setting_observer.h" 342d43be4eSopenharmony_ci#include "cellular_data_settings_rdb_helper.h" 352d43be4eSopenharmony_ci#include "cellular_data_state_machine.h" 362d43be4eSopenharmony_ci#include "cellular_data_utils.h" 372d43be4eSopenharmony_ci#include "common_event_manager.h" 382d43be4eSopenharmony_ci#include "common_event_support.h" 392d43be4eSopenharmony_ci#include "data_access_token.h" 402d43be4eSopenharmony_ci#include "data_connection_manager.h" 412d43be4eSopenharmony_ci#include "data_connection_monitor.h" 422d43be4eSopenharmony_ci#include "datashare_result_set.h" 432d43be4eSopenharmony_ci#include "default.h" 442d43be4eSopenharmony_ci#include "disconnecting.h" 452d43be4eSopenharmony_ci#include "gtest/gtest.h" 462d43be4eSopenharmony_ci#include "inactive.h" 472d43be4eSopenharmony_ci#include "incall_data_state_machine.h" 482d43be4eSopenharmony_ci#include "net_manager_call_back.h" 492d43be4eSopenharmony_ci#include "net_manager_tactics_call_back.h" 502d43be4eSopenharmony_ci#include "network_search_callback.h" 512d43be4eSopenharmony_ci#include "pdp_profile_data.h" 522d43be4eSopenharmony_ci#include "state_notification.h" 532d43be4eSopenharmony_ci#include "telephony_errors.h" 542d43be4eSopenharmony_ci#include "telephony_hisysevent.h" 552d43be4eSopenharmony_ci#include "telephony_log_wrapper.h" 562d43be4eSopenharmony_ci#include "uri.h" 572d43be4eSopenharmony_ci 582d43be4eSopenharmony_cinamespace OHOS { 592d43be4eSopenharmony_cinamespace Telephony { 602d43be4eSopenharmony_ciusing namespace testing::ext; 612d43be4eSopenharmony_ci 622d43be4eSopenharmony_cinamespace { 632d43be4eSopenharmony_ciconst int32_t INVALID_SLOTID = -1; 642d43be4eSopenharmony_ciconst int32_t INVALID_SLOTID_TWO = 5; 652d43be4eSopenharmony_ciconst int32_t INVALID_CID = -1; 662d43be4eSopenharmony_ciconst int32_t INVALID_FD = -1; 672d43be4eSopenharmony_ciconst int32_t SLEEP_TIME_SECONDS = 3; 682d43be4eSopenharmony_ciconst std::string ADDRESS = "127.0.0.1"; 692d43be4eSopenharmony_ciconst std::string FLAG = "."; 702d43be4eSopenharmony_ci} // namespace 712d43be4eSopenharmony_ci 722d43be4eSopenharmony_ciclass DemoHandler : public AppExecFwk::EventHandler { 732d43be4eSopenharmony_cipublic: 742d43be4eSopenharmony_ci explicit DemoHandler(std::shared_ptr<AppExecFwk::EventRunner> &runner) : AppExecFwk::EventHandler(runner) {} 752d43be4eSopenharmony_ci virtual ~DemoHandler() {} 762d43be4eSopenharmony_ci void ProcessEvent(const AppExecFwk::InnerEvent::Pointer &event) {} 772d43be4eSopenharmony_ci}; 782d43be4eSopenharmony_ci 792d43be4eSopenharmony_ciclass BranchTest : public testing::Test { 802d43be4eSopenharmony_cipublic: 812d43be4eSopenharmony_ci static void SetUpTestCase(); 822d43be4eSopenharmony_ci static void TearDownTestCase(); 832d43be4eSopenharmony_ci void SetUp(); 842d43be4eSopenharmony_ci void TearDown(); 852d43be4eSopenharmony_ci}; 862d43be4eSopenharmony_civoid BranchTest::SetUpTestCase() {} 872d43be4eSopenharmony_ci 882d43be4eSopenharmony_civoid BranchTest::TearDownTestCase() {} 892d43be4eSopenharmony_ci 902d43be4eSopenharmony_civoid BranchTest::SetUp() {} 912d43be4eSopenharmony_ci 922d43be4eSopenharmony_civoid BranchTest::TearDown() {} 932d43be4eSopenharmony_ci 942d43be4eSopenharmony_ciclass StateMachineTest : public TelEventHandler { 952d43be4eSopenharmony_cipublic: 962d43be4eSopenharmony_ci StateMachineTest() : TelEventHandler("StateMachineTest") {} 972d43be4eSopenharmony_ci ~StateMachineTest() = default; 982d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> CreateCellularDataConnect(int32_t slotId); 992d43be4eSopenharmony_ci 1002d43be4eSopenharmony_cipublic: 1012d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularDataStateMachine_ = nullptr; 1022d43be4eSopenharmony_ci}; 1032d43be4eSopenharmony_ci 1042d43be4eSopenharmony_cistd::shared_ptr<CellularDataStateMachine> StateMachineTest::CreateCellularDataConnect(int32_t slotId) 1052d43be4eSopenharmony_ci{ 1062d43be4eSopenharmony_ci if (cellularDataStateMachine_ != nullptr) { 1072d43be4eSopenharmony_ci return cellularDataStateMachine_; 1082d43be4eSopenharmony_ci } 1092d43be4eSopenharmony_ci sptr<DataConnectionManager> connectionManager = std::make_unique<DataConnectionManager>(slotId).release(); 1102d43be4eSopenharmony_ci if (connectionManager == nullptr) { 1112d43be4eSopenharmony_ci return nullptr; 1122d43be4eSopenharmony_ci } 1132d43be4eSopenharmony_ci connectionManager->Init(); 1142d43be4eSopenharmony_ci cellularDataStateMachine_ = std::make_shared<CellularDataStateMachine>( 1152d43be4eSopenharmony_ci connectionManager, std::static_pointer_cast<TelEventHandler>(shared_from_this())); 1162d43be4eSopenharmony_ci return cellularDataStateMachine_; 1172d43be4eSopenharmony_ci} 1182d43be4eSopenharmony_ci 1192d43be4eSopenharmony_ciclass IncallStateMachineTest : public TelEventHandler { 1202d43be4eSopenharmony_cipublic: 1212d43be4eSopenharmony_ci IncallStateMachineTest() : TelEventHandler("IncallStateMachineTest") {} 1222d43be4eSopenharmony_ci ~IncallStateMachineTest() = default; 1232d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> CreateIncallDataStateMachine(int32_t slotId); 1242d43be4eSopenharmony_ci 1252d43be4eSopenharmony_cipublic: 1262d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine_ = nullptr; 1272d43be4eSopenharmony_ci}; 1282d43be4eSopenharmony_ci 1292d43be4eSopenharmony_cistd::shared_ptr<IncallDataStateMachine> IncallStateMachineTest::CreateIncallDataStateMachine(int32_t slotId) 1302d43be4eSopenharmony_ci{ 1312d43be4eSopenharmony_ci if (incallStateMachine_ != nullptr) { 1322d43be4eSopenharmony_ci return incallStateMachine_; 1332d43be4eSopenharmony_ci } 1342d43be4eSopenharmony_ci sptr<ApnManager> apnManager = std::make_unique<ApnManager>().release(); 1352d43be4eSopenharmony_ci if (apnManager == nullptr) { 1362d43be4eSopenharmony_ci return nullptr; 1372d43be4eSopenharmony_ci } 1382d43be4eSopenharmony_ci incallStateMachine_ = std::make_shared<IncallDataStateMachine>(slotId, 1392d43be4eSopenharmony_ci std::weak_ptr<TelEventHandler>(std::static_pointer_cast<TelEventHandler>(shared_from_this())), apnManager); 1402d43be4eSopenharmony_ci return incallStateMachine_; 1412d43be4eSopenharmony_ci} 1422d43be4eSopenharmony_ci 1432d43be4eSopenharmony_ci/** 1442d43be4eSopenharmony_ci * @tc.number Telephony_CellularDataHandler_001 1452d43be4eSopenharmony_ci * @tc.name test error branch 1462d43be4eSopenharmony_ci * @tc.desc Function test 1472d43be4eSopenharmony_ci */ 1482d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_CellularDataHandler_001, Function | MediumTest | Level1) 1492d43be4eSopenharmony_ci{ 1502d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 1512d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 1522d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 1532d43be4eSopenharmony_ci CellularDataHandler cellularDataHandler { subscriberInfo, 0 }; 1542d43be4eSopenharmony_ci cellularDataHandler.HandleSimStateChanged(); 1552d43be4eSopenharmony_ci cellularDataHandler.ReleaseAllNetworkRequest(); 1562d43be4eSopenharmony_ci cellularDataHandler.CreateApnItem(); 1572d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 1582d43be4eSopenharmony_ci event = nullptr; 1592d43be4eSopenharmony_ci cellularDataHandler.ProcessEvent(event); 1602d43be4eSopenharmony_ci EventFwk::CommonEventData data; 1612d43be4eSopenharmony_ci cellularDataHandler.OnReceiveEvent(data); 1622d43be4eSopenharmony_ci ASSERT_NE(cellularDataHandler.SetCellularDataEnable(true), TELEPHONY_ERR_SUCCESS); 1632d43be4eSopenharmony_ci bool dataEnaled = false; 1642d43be4eSopenharmony_ci cellularDataHandler.IsCellularDataEnabled(dataEnaled); 1652d43be4eSopenharmony_ci ASSERT_FALSE(dataEnaled); 1662d43be4eSopenharmony_ci bool dataRoamingEnabled = false; 1672d43be4eSopenharmony_ci cellularDataHandler.IsCellularDataRoamingEnabled(dataRoamingEnabled); 1682d43be4eSopenharmony_ci ASSERT_FALSE(dataRoamingEnabled); 1692d43be4eSopenharmony_ci ASSERT_NE(cellularDataHandler.SetCellularDataRoamingEnabled(true), TELEPHONY_ERR_SUCCESS); 1702d43be4eSopenharmony_ci ASSERT_EQ(ApnProfileState::PROFILE_STATE_IDLE, cellularDataHandler.GetCellularDataState()); 1712d43be4eSopenharmony_ci ASSERT_EQ(ApnProfileState::PROFILE_STATE_IDLE, cellularDataHandler.GetCellularDataState("")); 1722d43be4eSopenharmony_ci sptr<ApnHolder> apnHolder; 1732d43be4eSopenharmony_ci DisConnectionReason reason = cellularDataHandler.GetDisConnectionReason(); 1742d43be4eSopenharmony_ci cellularDataHandler.ClearConnection(apnHolder, reason); 1752d43be4eSopenharmony_ci cellularDataHandler.EstablishAllApnsIfConnectable(); 1762d43be4eSopenharmony_ci cellularDataHandler.ClearAllConnections(reason); 1772d43be4eSopenharmony_ci cellularDataHandler.GetSlotId(); 1782d43be4eSopenharmony_ci ASSERT_FALSE(cellularDataHandler.HandleApnChanged()); 1792d43be4eSopenharmony_ci cellularDataHandler.HandleApnChanged(event); 1802d43be4eSopenharmony_ci cellularDataHandler.GetCellularDataFlowType(); 1812d43be4eSopenharmony_ci cellularDataHandler.SetPolicyDataOn(true); 1822d43be4eSopenharmony_ci ASSERT_FALSE(cellularDataHandler.IsRestrictedMode()); 1832d43be4eSopenharmony_ci cellularDataHandler.GetDisConnectionReason(); 1842d43be4eSopenharmony_ci ASSERT_FALSE(cellularDataHandler.HasInternetCapability(0)); 1852d43be4eSopenharmony_ci ASSERT_EQ(nullptr, cellularDataHandler.FindIdleCellularDataConnection()); 1862d43be4eSopenharmony_ci cellularDataHandler.AttemptEstablishDataConnection(apnHolder); 1872d43be4eSopenharmony_ci ASSERT_FALSE(cellularDataHandler.CheckAttachAndSimState(apnHolder)); 1882d43be4eSopenharmony_ci ASSERT_FALSE(cellularDataHandler.CheckRoamingState(apnHolder)); 1892d43be4eSopenharmony_ci ASSERT_FALSE(cellularDataHandler.CheckApnState(apnHolder)); 1902d43be4eSopenharmony_ci cellularDataHandler.RemoveAllEvents(); 1912d43be4eSopenharmony_ci sleep(SLEEP_TIME_SECONDS); 1922d43be4eSopenharmony_ci} 1932d43be4eSopenharmony_ci 1942d43be4eSopenharmony_ci/** 1952d43be4eSopenharmony_ci * @tc.number Telephony_CellularDataHandler_002 1962d43be4eSopenharmony_ci * @tc.name test error branch 1972d43be4eSopenharmony_ci * @tc.desc Function test 1982d43be4eSopenharmony_ci */ 1992d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_CellularDataHandler_002, Function | MediumTest | Level1) 2002d43be4eSopenharmony_ci{ 2012d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 2022d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 2032d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 2042d43be4eSopenharmony_ci CellularDataHandler cellularDataHandler { subscriberInfo, 0 }; 2052d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 2062d43be4eSopenharmony_ci event = nullptr; 2072d43be4eSopenharmony_ci sptr<ApnHolder> apnHolder; 2082d43be4eSopenharmony_ci ApnItem::Attribute apnAttr; 2092d43be4eSopenharmony_ci cellularDataHandler.RadioPsConnectionAttached(event); 2102d43be4eSopenharmony_ci cellularDataHandler.RadioPsConnectionDetached(event); 2112d43be4eSopenharmony_ci cellularDataHandler.RoamingStateOn(event); 2122d43be4eSopenharmony_ci cellularDataHandler.RoamingStateOff(event); 2132d43be4eSopenharmony_ci cellularDataHandler.EstablishDataConnectionComplete(event); 2142d43be4eSopenharmony_ci cellularDataHandler.DisconnectDataComplete(event); 2152d43be4eSopenharmony_ci cellularDataHandler.MsgEstablishDataConnection(event); 2162d43be4eSopenharmony_ci cellularDataHandler.MsgRequestNetwork(event); 2172d43be4eSopenharmony_ci cellularDataHandler.HandleSettingSwitchChanged(event); 2182d43be4eSopenharmony_ci cellularDataHandler.HandleDBSettingIncallChanged(event); 2192d43be4eSopenharmony_ci cellularDataHandler.HandleDefaultDataSubscriptionChanged(); 2202d43be4eSopenharmony_ci cellularDataHandler.IncallDataComplete(event); 2212d43be4eSopenharmony_ci cellularDataHandler.HandleCallChanged(0); 2222d43be4eSopenharmony_ci cellularDataHandler.HandleImsCallChanged(0); 2232d43be4eSopenharmony_ci cellularDataHandler.HandleVoiceCallChanged(0); 2242d43be4eSopenharmony_ci cellularDataHandler.HandleSimEvent(event); 2252d43be4eSopenharmony_ci cellularDataHandler.HandleSimAccountLoaded(); 2262d43be4eSopenharmony_ci cellularDataHandler.HandleRadioStateChanged(event); 2272d43be4eSopenharmony_ci cellularDataHandler.HandleDsdsModeChanged(event); 2282d43be4eSopenharmony_ci cellularDataHandler.SetRilAttachApnResponse(event); 2292d43be4eSopenharmony_ci cellularDataHandler.GetDefaultConfiguration(); 2302d43be4eSopenharmony_ci cellularDataHandler.GetDefaultDataRoamingConfig(); 2312d43be4eSopenharmony_ci cellularDataHandler.HandleRadioNrStateChanged(event); 2322d43be4eSopenharmony_ci cellularDataHandler.HandleRadioNrFrequencyChanged(event); 2332d43be4eSopenharmony_ci cellularDataHandler.HandleDBSettingEnableChanged(event); 2342d43be4eSopenharmony_ci cellularDataHandler.HandleDBSettingRoamingChanged(event); 2352d43be4eSopenharmony_ci cellularDataHandler.SetDataPermittedResponse(event); 2362d43be4eSopenharmony_ci cellularDataHandler.OnRilAdapterHostDied(event); 2372d43be4eSopenharmony_ci cellularDataHandler.OnCleanAllDataConnectionsDone(event); 2382d43be4eSopenharmony_ci cellularDataHandler.RegisterDataSettingObserver(); 2392d43be4eSopenharmony_ci cellularDataHandler.UnRegisterDataSettingObserver(); 2402d43be4eSopenharmony_ci cellularDataHandler.GetDataConnApnAttr(apnAttr); 2412d43be4eSopenharmony_ci cellularDataHandler.HandleFactoryReset(event); 2422d43be4eSopenharmony_ci ASSERT_FALSE(cellularDataHandler.HasAnyHigherPriorityConnection(apnHolder)); 2432d43be4eSopenharmony_ci cellularDataHandler.RemoveAllEvents(); 2442d43be4eSopenharmony_ci sleep(SLEEP_TIME_SECONDS); 2452d43be4eSopenharmony_ci} 2462d43be4eSopenharmony_ci 2472d43be4eSopenharmony_ci/** 2482d43be4eSopenharmony_ci * @tc.number Telephony_CellularDataHandler_003 2492d43be4eSopenharmony_ci * @tc.name test error branch 2502d43be4eSopenharmony_ci * @tc.desc Function test 2512d43be4eSopenharmony_ci */ 2522d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_CellularDataHandler_003, Function | MediumTest | Level3) 2532d43be4eSopenharmony_ci{ 2542d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 2552d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 2562d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 2572d43be4eSopenharmony_ci CellularDataHandler cellularDataHandler { subscriberInfo, INVALID_SLOTID }; 2582d43be4eSopenharmony_ci cellularDataHandler.apnManager_ = std::make_unique<ApnManager>().release(); 2592d43be4eSopenharmony_ci cellularDataHandler.SetDataPermittedForMms(false); 2602d43be4eSopenharmony_ci sptr<ApnHolder> apnHolder = new ApnHolder("", 0); 2612d43be4eSopenharmony_ci DisConnectionReason reason = DisConnectionReason::REASON_NORMAL; 2622d43be4eSopenharmony_ci cellularDataHandler.ClearConnection(apnHolder, reason); 2632d43be4eSopenharmony_ci cellularDataHandler.EstablishAllApnsIfConnectable(); 2642d43be4eSopenharmony_ci cellularDataHandler.ClearAllConnections(reason); 2652d43be4eSopenharmony_ci cellularDataHandler.ChangeConnectionForDsds(false); 2662d43be4eSopenharmony_ci cellularDataHandler.ChangeConnectionForDsds(true); 2672d43be4eSopenharmony_ci cellularDataHandler.connectionManager_ = std::make_unique<DataConnectionManager>(INVALID_SLOTID).release(); 2682d43be4eSopenharmony_ci cellularDataHandler.ClearAllConnections(reason); 2692d43be4eSopenharmony_ci cellularDataHandler.EstablishAllApnsIfConnectable(); 2702d43be4eSopenharmony_ci cellularDataHandler.UpdatePhysicalConnectionState(true); 2712d43be4eSopenharmony_ci cellularDataHandler.ClearAllConnections(DisConnectionReason::REASON_CLEAR_CONNECTION); 2722d43be4eSopenharmony_ci ASSERT_FALSE(cellularDataHandler.CheckApnState(apnHolder)); 2732d43be4eSopenharmony_ci cellularDataHandler.AttemptEstablishDataConnection(apnHolder); 2742d43be4eSopenharmony_ci cellularDataHandler.connectionManager_ = nullptr; 2752d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 2762d43be4eSopenharmony_ci cellularDataHandler.HandleUpdateNetInfo(event); 2772d43be4eSopenharmony_ci cellularDataHandler.ClearConnectionIfRequired(); 2782d43be4eSopenharmony_ci event = nullptr; 2792d43be4eSopenharmony_ci cellularDataHandler.MsgEstablishDataConnection(event); 2802d43be4eSopenharmony_ci ASSERT_FALSE(cellularDataHandler.HasAnyHigherPriorityConnection(apnHolder)); 2812d43be4eSopenharmony_ci cellularDataHandler.connectionManager_ = std::make_unique<DataConnectionManager>(INVALID_SLOTID).release(); 2822d43be4eSopenharmony_ci ASSERT_FALSE(cellularDataHandler.HasInternetCapability(INVALID_CID)); 2832d43be4eSopenharmony_ci ASSERT_EQ(cellularDataHandler.GetDataRecoveryState(), 0); 2842d43be4eSopenharmony_ci cellularDataHandler.DisconnectDataComplete(event); 2852d43be4eSopenharmony_ci std::string str = ""; 2862d43be4eSopenharmony_ci ASSERT_EQ(cellularDataHandler.GetDataConnIpType(), str); 2872d43be4eSopenharmony_ci cellularDataHandler.apnManager_ = nullptr; 2882d43be4eSopenharmony_ci ASSERT_EQ(cellularDataHandler.GetDataConnIpType(), str); 2892d43be4eSopenharmony_ci cellularDataHandler.CheckForCompatibleDataConnection(apnHolder); 2902d43be4eSopenharmony_ci event = AppExecFwk::InnerEvent::Get(0); 2912d43be4eSopenharmony_ci cellularDataHandler.HandleDBSettingRoamingChanged(event); 2922d43be4eSopenharmony_ci cellularDataHandler.ClearConnectionIfRequired(); 2932d43be4eSopenharmony_ci ASSERT_EQ(nullptr, cellularDataHandler.FindIdleCellularDataConnection()); 2942d43be4eSopenharmony_ci cellularDataHandler.RemoveAllEvents(); 2952d43be4eSopenharmony_ci sleep(SLEEP_TIME_SECONDS); 2962d43be4eSopenharmony_ci} 2972d43be4eSopenharmony_ci 2982d43be4eSopenharmony_ci/** 2992d43be4eSopenharmony_ci * @tc.number Telephony_CellularDataHandler_004 3002d43be4eSopenharmony_ci * @tc.name test error branch 3012d43be4eSopenharmony_ci * @tc.desc Function test 3022d43be4eSopenharmony_ci */ 3032d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_CellularDataHandler_004, Function | MediumTest | Level1) 3042d43be4eSopenharmony_ci{ 3052d43be4eSopenharmony_ci CellularDataController controller { 0 }; 3062d43be4eSopenharmony_ci controller.Init(); 3072d43be4eSopenharmony_ci ASSERT_FALSE(controller.cellularDataHandler_ == nullptr); 3082d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 3092d43be4eSopenharmony_ci event = nullptr; 3102d43be4eSopenharmony_ci controller.cellularDataHandler_->ProcessEvent(event); 3112d43be4eSopenharmony_ci controller.cellularDataHandler_->PsDataRatChanged(event); 3122d43be4eSopenharmony_ci ApnItem::Attribute apnAttr; 3132d43be4eSopenharmony_ci controller.cellularDataHandler_->GetDataConnApnAttr(apnAttr); 3142d43be4eSopenharmony_ci EventFwk::CommonEventData data; 3152d43be4eSopenharmony_ci controller.cellularDataHandler_->OnReceiveEvent(data); 3162d43be4eSopenharmony_ci ASSERT_EQ(controller.cellularDataHandler_->SetCellularDataEnable(true), TELEPHONY_ERR_SUCCESS); 3172d43be4eSopenharmony_ci bool dataEnaled = false; 3182d43be4eSopenharmony_ci controller.cellularDataHandler_->IsCellularDataEnabled(dataEnaled); 3192d43be4eSopenharmony_ci bool dataRoamingEnabled = false; 3202d43be4eSopenharmony_ci controller.cellularDataHandler_->IsCellularDataRoamingEnabled(dataRoamingEnabled); 3212d43be4eSopenharmony_ci ASSERT_NE(controller.cellularDataHandler_->SetCellularDataRoamingEnabled(true), TELEPHONY_ERR_SUCCESS); 3222d43be4eSopenharmony_ci controller.cellularDataHandler_->CreateCellularDataConnect(); 3232d43be4eSopenharmony_ci ASSERT_EQ(ApnProfileState::PROFILE_STATE_IDLE, controller.cellularDataHandler_->GetCellularDataState()); 3242d43be4eSopenharmony_ci ASSERT_EQ(ApnProfileState::PROFILE_STATE_IDLE, controller.cellularDataHandler_->GetCellularDataState("")); 3252d43be4eSopenharmony_ci sptr<ApnHolder> apnHolder = controller.cellularDataHandler_->apnManager_->FindApnHolderById(1); 3262d43be4eSopenharmony_ci DisConnectionReason reason = controller.cellularDataHandler_->GetDisConnectionReason(); 3272d43be4eSopenharmony_ci controller.cellularDataHandler_->ClearConnection(apnHolder, reason); 3282d43be4eSopenharmony_ci controller.cellularDataHandler_->EstablishAllApnsIfConnectable(); 3292d43be4eSopenharmony_ci controller.cellularDataHandler_->ClearAllConnections(reason); 3302d43be4eSopenharmony_ci controller.cellularDataHandler_->GetSlotId(); 3312d43be4eSopenharmony_ci ASSERT_TRUE(controller.cellularDataHandler_->HandleApnChanged()); 3322d43be4eSopenharmony_ci controller.cellularDataHandler_->HandleApnChanged(event); 3332d43be4eSopenharmony_ci controller.cellularDataHandler_->GetCellularDataFlowType(); 3342d43be4eSopenharmony_ci controller.cellularDataHandler_->SetPolicyDataOn(true); 3352d43be4eSopenharmony_ci ASSERT_FALSE(controller.cellularDataHandler_->IsRestrictedMode()); 3362d43be4eSopenharmony_ci controller.cellularDataHandler_->GetDisConnectionReason(); 3372d43be4eSopenharmony_ci ASSERT_FALSE(controller.cellularDataHandler_->HasInternetCapability(0)); 3382d43be4eSopenharmony_ci ASSERT_EQ(nullptr, controller.cellularDataHandler_->FindIdleCellularDataConnection()); 3392d43be4eSopenharmony_ci controller.cellularDataHandler_->AttemptEstablishDataConnection(apnHolder); 3402d43be4eSopenharmony_ci controller.cellularDataHandler_->EstablishDataConnection(apnHolder, 1); 3412d43be4eSopenharmony_ci controller.cellularDataHandler_->CheckRoamingState(apnHolder); 3422d43be4eSopenharmony_ci controller.cellularDataHandler_->CheckApnState(apnHolder); 3432d43be4eSopenharmony_ci ASSERT_FALSE(controller.cellularDataHandler_->CheckAttachAndSimState(apnHolder)); 3442d43be4eSopenharmony_ci controller.cellularDataHandler_->UnRegisterDataSettingObserver(); 3452d43be4eSopenharmony_ci controller.cellularDataHandler_->RemoveAllEvents(); 3462d43be4eSopenharmony_ci sleep(SLEEP_TIME_SECONDS); 3472d43be4eSopenharmony_ci} 3482d43be4eSopenharmony_ci 3492d43be4eSopenharmony_ci/** 3502d43be4eSopenharmony_ci * @tc.number Telephony_CellularDataHandler_005 3512d43be4eSopenharmony_ci * @tc.name test error branch 3522d43be4eSopenharmony_ci * @tc.desc Function test 3532d43be4eSopenharmony_ci */ 3542d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_CellularDataHandler_005, Function | MediumTest | Level1) 3552d43be4eSopenharmony_ci{ 3562d43be4eSopenharmony_ci CellularDataController controller { 0 }; 3572d43be4eSopenharmony_ci controller.Init(); 3582d43be4eSopenharmony_ci ASSERT_FALSE(controller.cellularDataHandler_ == nullptr); 3592d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 3602d43be4eSopenharmony_ci controller.cellularDataHandler_->RadioPsConnectionAttached(event); 3612d43be4eSopenharmony_ci controller.cellularDataHandler_->RadioPsConnectionDetached(event); 3622d43be4eSopenharmony_ci controller.cellularDataHandler_->RoamingStateOn(event); 3632d43be4eSopenharmony_ci controller.cellularDataHandler_->RoamingStateOff(event); 3642d43be4eSopenharmony_ci controller.cellularDataHandler_->EstablishDataConnectionComplete(event); 3652d43be4eSopenharmony_ci controller.cellularDataHandler_->MsgEstablishDataConnection(event); 3662d43be4eSopenharmony_ci controller.cellularDataHandler_->MsgRequestNetwork(event); 3672d43be4eSopenharmony_ci controller.cellularDataHandler_->HandleSettingSwitchChanged(event); 3682d43be4eSopenharmony_ci controller.cellularDataHandler_->HandleDBSettingIncallChanged(event); 3692d43be4eSopenharmony_ci controller.cellularDataHandler_->HandleDefaultDataSubscriptionChanged(); 3702d43be4eSopenharmony_ci controller.cellularDataHandler_->IncallDataComplete(event); 3712d43be4eSopenharmony_ci controller.cellularDataHandler_->HandleCallChanged(0); 3722d43be4eSopenharmony_ci controller.cellularDataHandler_->HandleImsCallChanged(0); 3732d43be4eSopenharmony_ci controller.cellularDataHandler_->HandleVoiceCallChanged(0); 3742d43be4eSopenharmony_ci controller.cellularDataHandler_->HandleSimEvent(event); 3752d43be4eSopenharmony_ci controller.cellularDataHandler_->HandleSimAccountLoaded(); 3762d43be4eSopenharmony_ci controller.cellularDataHandler_->HandleRadioStateChanged(event); 3772d43be4eSopenharmony_ci controller.cellularDataHandler_->HandleDsdsModeChanged(event); 3782d43be4eSopenharmony_ci controller.cellularDataHandler_->SetRilAttachApnResponse(event); 3792d43be4eSopenharmony_ci controller.cellularDataHandler_->GetDefaultConfiguration(); 3802d43be4eSopenharmony_ci controller.cellularDataHandler_->HandleRadioNrStateChanged(event); 3812d43be4eSopenharmony_ci controller.cellularDataHandler_->HandleRadioNrFrequencyChanged(event); 3822d43be4eSopenharmony_ci controller.cellularDataHandler_->HandleDBSettingEnableChanged(event); 3832d43be4eSopenharmony_ci controller.cellularDataHandler_->HandleDBSettingRoamingChanged(event); 3842d43be4eSopenharmony_ci controller.cellularDataHandler_->SetDataPermittedResponse(event); 3852d43be4eSopenharmony_ci controller.cellularDataHandler_->OnRilAdapterHostDied(event); 3862d43be4eSopenharmony_ci controller.cellularDataHandler_->OnCleanAllDataConnectionsDone(event); 3872d43be4eSopenharmony_ci controller.cellularDataHandler_->HandleFactoryReset(event); 3882d43be4eSopenharmony_ci controller.cellularDataHandler_->PsDataRatChanged(event); 3892d43be4eSopenharmony_ci sptr<ApnHolder> apnHolder = controller.cellularDataHandler_->apnManager_->FindApnHolderById(1); 3902d43be4eSopenharmony_ci ASSERT_FALSE(controller.cellularDataHandler_->HasAnyHigherPriorityConnection(apnHolder)); 3912d43be4eSopenharmony_ci controller.cellularDataHandler_->UnRegisterDataSettingObserver(); 3922d43be4eSopenharmony_ci controller.cellularDataHandler_->RemoveAllEvents(); 3932d43be4eSopenharmony_ci sleep(SLEEP_TIME_SECONDS); 3942d43be4eSopenharmony_ci} 3952d43be4eSopenharmony_ci 3962d43be4eSopenharmony_ci/** 3972d43be4eSopenharmony_ci * @tc.number Telephony_CellularDataHandler_006 3982d43be4eSopenharmony_ci * @tc.name test error branch 3992d43be4eSopenharmony_ci * @tc.desc Function test 4002d43be4eSopenharmony_ci */ 4012d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_CellularDataHandler_006, Function | MediumTest | Level3) 4022d43be4eSopenharmony_ci{ 4032d43be4eSopenharmony_ci EventFwk::MatchingSkills matchingSkills; 4042d43be4eSopenharmony_ci matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED); 4052d43be4eSopenharmony_ci EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills); 4062d43be4eSopenharmony_ci CellularDataHandler cellularDataHandler { subscriberInfo, 0 }; 4072d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 4082d43be4eSopenharmony_ci event = nullptr; 4092d43be4eSopenharmony_ci cellularDataHandler.apnManager_ = std::make_unique<ApnManager>().release(); 4102d43be4eSopenharmony_ci sptr<ApnHolder> apnHolder; 4112d43be4eSopenharmony_ci std::string str = ""; 4122d43be4eSopenharmony_ci ASSERT_EQ(ApnProfileState::PROFILE_STATE_IDLE, cellularDataHandler.GetCellularDataState()); 4132d43be4eSopenharmony_ci cellularDataHandler.CheckForCompatibleDataConnection(apnHolder); 4142d43be4eSopenharmony_ci cellularDataHandler.PsRadioEmergencyStateOpen(event); 4152d43be4eSopenharmony_ci cellularDataHandler.PsRadioEmergencyStateClose(event); 4162d43be4eSopenharmony_ci cellularDataHandler.IsNeedDoRecovery(true); 4172d43be4eSopenharmony_ci cellularDataHandler.HandleSortConnection(); 4182d43be4eSopenharmony_ci ASSERT_EQ(cellularDataHandler.IsSingleConnectionEnabled(1), true); 4192d43be4eSopenharmony_ci ASSERT_EQ(cellularDataHandler.GetDataConnIpType(), str); 4202d43be4eSopenharmony_ci ASSERT_EQ(cellularDataHandler.GetDataRecoveryState(), -1); 4212d43be4eSopenharmony_ci ASSERT_FALSE(cellularDataHandler.IsGsm()); 4222d43be4eSopenharmony_ci ASSERT_FALSE(cellularDataHandler.IsCdma()); 4232d43be4eSopenharmony_ci cellularDataHandler.lastCallState_ = 0; 4242d43be4eSopenharmony_ci cellularDataHandler.HandleCallChanged(0); 4252d43be4eSopenharmony_ci cellularDataHandler.dataSwitchSettings_ = nullptr; 4262d43be4eSopenharmony_ci ASSERT_NE(cellularDataHandler.SetIntelligenceSwitchEnable(true), TELEPHONY_ERR_SUCCESS); 4272d43be4eSopenharmony_ci cellularDataHandler.RemoveAllEvents(); 4282d43be4eSopenharmony_ci sleep(SLEEP_TIME_SECONDS); 4292d43be4eSopenharmony_ci} 4302d43be4eSopenharmony_ci 4312d43be4eSopenharmony_ci/** 4322d43be4eSopenharmony_ci * @tc.number Telephony_CellularDataHandler_007 4332d43be4eSopenharmony_ci * @tc.name test error branch 4342d43be4eSopenharmony_ci * @tc.desc Function test 4352d43be4eSopenharmony_ci */ 4362d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_CellularDataHandler_007, Function | MediumTest | Level1) 4372d43be4eSopenharmony_ci{ 4382d43be4eSopenharmony_ci CellularDataController controller { 0 }; 4392d43be4eSopenharmony_ci controller.Init(); 4402d43be4eSopenharmony_ci ASSERT_FALSE(controller.cellularDataHandler_ == nullptr); 4412d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 4422d43be4eSopenharmony_ci sptr<ApnHolder> apnHolder = controller.cellularDataHandler_->apnManager_->FindApnHolderById(1); 4432d43be4eSopenharmony_ci std::string str = ""; 4442d43be4eSopenharmony_ci controller.cellularDataHandler_->CheckForCompatibleDataConnection(apnHolder); 4452d43be4eSopenharmony_ci controller.cellularDataHandler_->HandleUpdateNetInfo(event); 4462d43be4eSopenharmony_ci controller.cellularDataHandler_->PsRadioEmergencyStateOpen(event); 4472d43be4eSopenharmony_ci controller.cellularDataHandler_->PsRadioEmergencyStateClose(event); 4482d43be4eSopenharmony_ci controller.cellularDataHandler_->IsNeedDoRecovery(true); 4492d43be4eSopenharmony_ci controller.cellularDataHandler_->CreateIncallDataStateMachine(1); 4502d43be4eSopenharmony_ci controller.cellularDataHandler_->HandleSettingSwitchChanged(event); 4512d43be4eSopenharmony_ci ASSERT_TRUE(controller.cellularDataHandler_->SetDataPermittedForMms(true)); 4522d43be4eSopenharmony_ci controller.cellularDataHandler_->IncallDataComplete(event); 4532d43be4eSopenharmony_ci controller.cellularDataHandler_->HandleImsCallChanged(0); 4542d43be4eSopenharmony_ci controller.cellularDataHandler_->HandleSortConnection(); 4552d43be4eSopenharmony_ci ASSERT_EQ(controller.cellularDataHandler_->IsSingleConnectionEnabled(1), false); 4562d43be4eSopenharmony_ci ASSERT_EQ(controller.cellularDataHandler_->GetDataConnIpType(), str); 4572d43be4eSopenharmony_ci ASSERT_NE(controller.cellularDataHandler_->GetDataRecoveryState(), -1); 4582d43be4eSopenharmony_ci ASSERT_FALSE(controller.cellularDataHandler_->IsGsm()); 4592d43be4eSopenharmony_ci ASSERT_FALSE(controller.cellularDataHandler_->IsCdma()); 4602d43be4eSopenharmony_ci ASSERT_EQ(controller.cellularDataHandler_->SetIntelligenceSwitchEnable(true), TELEPHONY_ERR_SUCCESS); 4612d43be4eSopenharmony_ci controller.cellularDataHandler_->ClearConnectionIfRequired(); 4622d43be4eSopenharmony_ci controller.cellularDataHandler_->RemoveAllEvents(); 4632d43be4eSopenharmony_ci sleep(SLEEP_TIME_SECONDS); 4642d43be4eSopenharmony_ci} 4652d43be4eSopenharmony_ci 4662d43be4eSopenharmony_ci/** 4672d43be4eSopenharmony_ci * @tc.number Telephony_CellularDataHandler_008 4682d43be4eSopenharmony_ci * @tc.name test error branch 4692d43be4eSopenharmony_ci * @tc.desc Function test 4702d43be4eSopenharmony_ci */ 4712d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_CellularDataHandler_008, Function | MediumTest | Level1) 4722d43be4eSopenharmony_ci{ 4732d43be4eSopenharmony_ci CellularDataController controller{0}; 4742d43be4eSopenharmony_ci controller.Init(); 4752d43be4eSopenharmony_ci ASSERT_FALSE(controller.cellularDataHandler_ == nullptr); 4762d43be4eSopenharmony_ci ASSERT_FALSE(controller.cellularDataHandler_->dataSwitchSettings_->IsUserDataRoamingOn()); 4772d43be4eSopenharmony_ci int32_t result = controller.SetCellularDataRoamingEnabled(true); 4782d43be4eSopenharmony_ci std::cout << "SetCellularDataRoamingEnabled result: " << result << std::endl; 4792d43be4eSopenharmony_ci ASSERT_NE(result, TELEPHONY_ERR_SUCCESS); 4802d43be4eSopenharmony_ci ASSERT_FALSE(controller.cellularDataHandler_->dataSwitchSettings_->IsUserDataRoamingOn()); 4812d43be4eSopenharmony_ci 4822d43be4eSopenharmony_ci controller.cellularDataHandler_->dataSwitchSettings_->SetUserDataOn(false); 4832d43be4eSopenharmony_ci ASSERT_FALSE(controller.cellularDataHandler_->dataSwitchSettings_->IsUserDataOn()); 4842d43be4eSopenharmony_ci controller.cellularDataHandler_->ResetDataFlowType(); 4852d43be4eSopenharmony_ci controller.cellularDataHandler_->dataSwitchSettings_->SetUserDataOn(true); 4862d43be4eSopenharmony_ci controller.cellularDataHandler_->ResetDataFlowType(); 4872d43be4eSopenharmony_ci ASSERT_TRUE(controller.cellularDataHandler_->dataSwitchSettings_->IsUserDataOn()); 4882d43be4eSopenharmony_ci} 4892d43be4eSopenharmony_ci 4902d43be4eSopenharmony_ci/** 4912d43be4eSopenharmony_ci * @tc.number Telephony_CellularDataHandler_009 4922d43be4eSopenharmony_ci * @tc.name test error branch 4932d43be4eSopenharmony_ci * @tc.desc Function test 4942d43be4eSopenharmony_ci */ 4952d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_CellularDataHandler_009, Function | MediumTest | Level1) 4962d43be4eSopenharmony_ci{ 4972d43be4eSopenharmony_ci CellularDataController controller{0}; 4982d43be4eSopenharmony_ci controller.Init(); 4992d43be4eSopenharmony_ci ASSERT_FALSE(controller.cellularDataHandler_ == nullptr); 5002d43be4eSopenharmony_ci NetRequest request { 1, "simId1" }; 5012d43be4eSopenharmony_ci 5022d43be4eSopenharmony_ci std::shared_ptr<StateMachineTest> machine = std::make_shared<StateMachineTest>(); 5032d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> stateMachine = machine->CreateCellularDataConnect(0); 5042d43be4eSopenharmony_ci sptr<ApnHolder> apn = controller.cellularDataHandler_->apnManager_->FindApnHolderById(1); 5052d43be4eSopenharmony_ci ASSERT_FALSE(apn == nullptr); 5062d43be4eSopenharmony_ci apn->SetCellularDataStateMachine(stateMachine); 5072d43be4eSopenharmony_ci DisConnectionReason reason = controller.cellularDataHandler_->GetDisConnectionReason(); 5082d43be4eSopenharmony_ci ASSERT_FALSE(apn->GetCellularDataStateMachine() == nullptr); 5092d43be4eSopenharmony_ci ASSERT_EQ(apn->GetApnState(), PROFILE_STATE_IDLE); 5102d43be4eSopenharmony_ci controller.cellularDataHandler_->ClearConnection(apn, reason); 5112d43be4eSopenharmony_ci ASSERT_FALSE(apn->GetCellularDataStateMachine() == nullptr); 5122d43be4eSopenharmony_ci apn->SetApnState(PROFILE_STATE_DISCONNECTING); 5132d43be4eSopenharmony_ci controller.cellularDataHandler_->ClearConnection(apn, reason); 5142d43be4eSopenharmony_ci ASSERT_FALSE(apn->GetCellularDataStateMachine() == nullptr); 5152d43be4eSopenharmony_ci 5162d43be4eSopenharmony_ci apn->SetApnState(PROFILE_STATE_CONNECTED); 5172d43be4eSopenharmony_ci controller.cellularDataHandler_->ClearConnection(apn, reason); 5182d43be4eSopenharmony_ci ASSERT_TRUE(apn->GetCellularDataStateMachine() == nullptr); 5192d43be4eSopenharmony_ci ASSERT_EQ(apn->GetApnState(), PROFILE_STATE_DISCONNECTING); 5202d43be4eSopenharmony_ci 5212d43be4eSopenharmony_ci apn->SetApnState(PROFILE_STATE_CONNECTED); 5222d43be4eSopenharmony_ci controller.cellularDataHandler_->ClearAllConnections(reason); 5232d43be4eSopenharmony_ci apn->SetApnState(PROFILE_STATE_CONNECTING); 5242d43be4eSopenharmony_ci controller.cellularDataHandler_->ClearAllConnections(reason); 5252d43be4eSopenharmony_ci ASSERT_EQ(apn->GetApnState(), PROFILE_STATE_CONNECTING); 5262d43be4eSopenharmony_ci} 5272d43be4eSopenharmony_ci 5282d43be4eSopenharmony_ci/** 5292d43be4eSopenharmony_ci * @tc.number Telephony_CellularDataHandler_010 5302d43be4eSopenharmony_ci * @tc.name test error branch 5312d43be4eSopenharmony_ci * @tc.desc Function test 5322d43be4eSopenharmony_ci */ 5332d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_CellularDataHandler_010, Function | MediumTest | Level1) 5342d43be4eSopenharmony_ci{ 5352d43be4eSopenharmony_ci CellularDataController controller{0}; 5362d43be4eSopenharmony_ci controller.Init(); 5372d43be4eSopenharmony_ci sptr<ApnHolder> apn = controller.cellularDataHandler_->apnManager_->FindApnHolderById(1); 5382d43be4eSopenharmony_ci std::shared_ptr<StateMachineTest> machine = std::make_shared<StateMachineTest>(); 5392d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> stateMachine = machine->CreateCellularDataConnect(0); 5402d43be4eSopenharmony_ci 5412d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 5422d43be4eSopenharmony_ci controller.cellularDataHandler_->RoamingStateOff(event); 5432d43be4eSopenharmony_ci controller.cellularDataHandler_->PsRadioEmergencyStateOpen(event); 5442d43be4eSopenharmony_ci apn->SetApnState(PROFILE_STATE_CONNECTED); 5452d43be4eSopenharmony_ci ASSERT_EQ(controller.cellularDataHandler_->GetCellularDataState(), PROFILE_STATE_CONNECTED); 5462d43be4eSopenharmony_ci controller.cellularDataHandler_->RoamingStateOff(event); 5472d43be4eSopenharmony_ci controller.cellularDataHandler_->PsRadioEmergencyStateOpen(event); 5482d43be4eSopenharmony_ci controller.cellularDataHandler_->PsRadioEmergencyStateClose(event); 5492d43be4eSopenharmony_ci apn->SetApnState(PROFILE_STATE_IDLE); 5502d43be4eSopenharmony_ci ASSERT_EQ(controller.cellularDataHandler_->GetCellularDataState(), PROFILE_STATE_IDLE); 5512d43be4eSopenharmony_ci controller.cellularDataHandler_->PsRadioEmergencyStateOpen(event); 5522d43be4eSopenharmony_ci controller.cellularDataHandler_->PsRadioEmergencyStateClose(event); 5532d43be4eSopenharmony_ci apn->SetApnState(PROFILE_STATE_DISCONNECTING); 5542d43be4eSopenharmony_ci ASSERT_EQ(controller.cellularDataHandler_->GetCellularDataState(), PROFILE_STATE_CONNECTED); 5552d43be4eSopenharmony_ci controller.cellularDataHandler_->PsRadioEmergencyStateOpen(event); 5562d43be4eSopenharmony_ci controller.cellularDataHandler_->PsRadioEmergencyStateClose(event); 5572d43be4eSopenharmony_ci 5582d43be4eSopenharmony_ci sptr<ApnHolder> apn2 = controller.cellularDataHandler_->apnManager_->FindApnHolderById(2); 5592d43be4eSopenharmony_ci ASSERT_FALSE(apn2 == nullptr); 5602d43be4eSopenharmony_ci sptr<ApnHolder> apn3 = controller.cellularDataHandler_->apnManager_->FindApnHolderById(3); 5612d43be4eSopenharmony_ci ASSERT_FALSE(apn3 == nullptr); 5622d43be4eSopenharmony_ci apn->dataCallEnabled_ = true; 5632d43be4eSopenharmony_ci apn2->dataCallEnabled_ = true; 5642d43be4eSopenharmony_ci apn3->dataCallEnabled_ = true; 5652d43be4eSopenharmony_ci apn->SetApnState(PROFILE_STATE_IDLE); 5662d43be4eSopenharmony_ci apn2->SetApnState(PROFILE_STATE_IDLE); 5672d43be4eSopenharmony_ci apn3->SetApnState(PROFILE_STATE_FAILED); 5682d43be4eSopenharmony_ci apn3->SetCellularDataStateMachine(stateMachine); 5692d43be4eSopenharmony_ci ASSERT_EQ(controller.cellularDataHandler_->GetCellularDataState(), PROFILE_STATE_IDLE); 5702d43be4eSopenharmony_ci controller.cellularDataHandler_->PsRadioEmergencyStateClose(event); 5712d43be4eSopenharmony_ci ASSERT_EQ(apn3->GetApnState(), PROFILE_STATE_DISCONNECTING); 5722d43be4eSopenharmony_ci ASSERT_TRUE(apn3->GetCellularDataStateMachine() == nullptr); 5732d43be4eSopenharmony_ci 5742d43be4eSopenharmony_ci ASSERT_EQ(controller.cellularDataHandler_->GetCellularDataState("default"), PROFILE_STATE_IDLE); 5752d43be4eSopenharmony_ci} 5762d43be4eSopenharmony_ci 5772d43be4eSopenharmony_ci/** 5782d43be4eSopenharmony_ci * @tc.number Telephony_CellularDataHandler_011 5792d43be4eSopenharmony_ci * @tc.name test error branch 5802d43be4eSopenharmony_ci * @tc.desc Function test 5812d43be4eSopenharmony_ci */ 5822d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_CellularDataHandler_011, Function | MediumTest | Level1) 5832d43be4eSopenharmony_ci{ 5842d43be4eSopenharmony_ci CellularDataController controller { 0 }; 5852d43be4eSopenharmony_ci controller.Init(); 5862d43be4eSopenharmony_ci controller.cellularDataHandler_->SendEstablishDataConnectionEvent(0); 5872d43be4eSopenharmony_ci#ifdef OHOS_BUILD_ENABLE_TELEPHONY_EXT 5882d43be4eSopenharmony_ci int32_t reqType = TYPE_REQUEST_NET; 5892d43be4eSopenharmony_ci bool isMmsType = false; 5902d43be4eSopenharmony_ci controller.cellularDataHandler_->IsSimRequestNetOnVSimEnabled(reqType, isMmsType); 5912d43be4eSopenharmony_ci isMmsType = true; 5922d43be4eSopenharmony_ci controller.cellularDataHandler_->IsSimRequestNetOnVSimEnabled(reqType, isMmsType); 5932d43be4eSopenharmony_ci reqType = 0; 5942d43be4eSopenharmony_ci EXPECT_FALSE(controller.cellularDataHandler_->IsSimRequestNetOnVSimEnabled(reqType, isMmsType)); 5952d43be4eSopenharmony_ci#endif 5962d43be4eSopenharmony_ci} 5972d43be4eSopenharmony_ci 5982d43be4eSopenharmony_ci/** 5992d43be4eSopenharmony_ci * @tc.number Telephony_CellularDataHandler_012 6002d43be4eSopenharmony_ci * @tc.name test error branch 6012d43be4eSopenharmony_ci * @tc.desc Function test 6022d43be4eSopenharmony_ci */ 6032d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_CellularDataHandler_012, Function | MediumTest | Level1) 6042d43be4eSopenharmony_ci{ 6052d43be4eSopenharmony_ci CellularDataController controller { 0 }; 6062d43be4eSopenharmony_ci controller.Init(); 6072d43be4eSopenharmony_ci sptr<ApnHolder> apnHolder = controller.cellularDataHandler_->apnManager_->FindApnHolderById(1); 6082d43be4eSopenharmony_ci sptr<ApnItem> apnItem = ApnItem::MakeDefaultApn(DATA_CONTEXT_ROLE_DEFAULT); 6092d43be4eSopenharmony_ci apnHolder->SetCurrentApn(apnItem); 6102d43be4eSopenharmony_ci auto handler = controller.cellularDataHandler_; 6112d43be4eSopenharmony_ci handler->RetryOrClearConnection(nullptr, DisConnectionReason::REASON_CLEAR_CONNECTION, nullptr); 6122d43be4eSopenharmony_ci ASSERT_FALSE(handler->HasInnerEvent(CellularDataEventCode::MSG_RETRY_TO_SETUP_DATACALL)); 6132d43be4eSopenharmony_ci handler->RetryOrClearConnection(apnHolder, DisConnectionReason::REASON_CLEAR_CONNECTION, nullptr); 6142d43be4eSopenharmony_ci ASSERT_FALSE(handler->HasInnerEvent(CellularDataEventCode::MSG_RETRY_TO_SETUP_DATACALL)); 6152d43be4eSopenharmony_ci auto resultInfo = std::make_shared<SetupDataCallResultInfo>(); 6162d43be4eSopenharmony_ci handler->RetryOrClearConnection(apnHolder, DisConnectionReason::REASON_CLEAR_CONNECTION, resultInfo); 6172d43be4eSopenharmony_ci ASSERT_FALSE(handler->HasInnerEvent(CellularDataEventCode::MSG_RETRY_TO_SETUP_DATACALL)); 6182d43be4eSopenharmony_ci handler->RetryOrClearConnection(apnHolder, DisConnectionReason::REASON_RETRY_CONNECTION, resultInfo); 6192d43be4eSopenharmony_ci ASSERT_TRUE(handler->HasInnerEvent(CellularDataEventCode::MSG_RETRY_TO_SETUP_DATACALL)); 6202d43be4eSopenharmony_ci handler->RetryOrClearConnection(apnHolder, DisConnectionReason::REASON_PERMANENT_REJECT, resultInfo); 6212d43be4eSopenharmony_ci ASSERT_TRUE(handler->HasInnerEvent(CellularDataEventCode::MSG_RETRY_TO_SETUP_DATACALL)); 6222d43be4eSopenharmony_ci} 6232d43be4eSopenharmony_ci 6242d43be4eSopenharmony_ci/** 6252d43be4eSopenharmony_ci * @tc.number Telephony_CellularDataHandler_013 6262d43be4eSopenharmony_ci * @tc.name test error branch 6272d43be4eSopenharmony_ci * @tc.desc Function test 6282d43be4eSopenharmony_ci */ 6292d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_CellularDataHandler_013, Function | MediumTest | Level1) 6302d43be4eSopenharmony_ci{ 6312d43be4eSopenharmony_ci CellularDataController controller { 0 }; 6322d43be4eSopenharmony_ci controller.Init(); 6332d43be4eSopenharmony_ci sptr<ApnHolder> apnHolder = controller.cellularDataHandler_->apnManager_->FindApnHolderById(1); 6342d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 6352d43be4eSopenharmony_ci controller.cellularDataHandler_->RetryToSetupDatacall(event); 6362d43be4eSopenharmony_ci ASSERT_FALSE(controller.cellularDataHandler_->HasInnerEvent(CellularDataEventCode::MSG_ESTABLISH_DATA_CONNECTION)); 6372d43be4eSopenharmony_ci auto event2 = AppExecFwk::InnerEvent::Get(-1); 6382d43be4eSopenharmony_ci controller.cellularDataHandler_->RetryToSetupDatacall(event2); 6392d43be4eSopenharmony_ci ASSERT_FALSE(controller.cellularDataHandler_->HasInnerEvent(CellularDataEventCode::MSG_ESTABLISH_DATA_CONNECTION)); 6402d43be4eSopenharmony_ci apnHolder->SetApnState(PROFILE_STATE_IDLE); 6412d43be4eSopenharmony_ci auto event3 = AppExecFwk::InnerEvent::Get(1); 6422d43be4eSopenharmony_ci controller.cellularDataHandler_->RetryToSetupDatacall(event3); 6432d43be4eSopenharmony_ci ASSERT_FALSE(controller.cellularDataHandler_->HasInnerEvent(CellularDataEventCode::MSG_ESTABLISH_DATA_CONNECTION)); 6442d43be4eSopenharmony_ci apnHolder->SetApnState(PROFILE_STATE_RETRYING); 6452d43be4eSopenharmony_ci auto event4 = AppExecFwk::InnerEvent::Get(1); 6462d43be4eSopenharmony_ci controller.cellularDataHandler_->RetryToSetupDatacall(event4); 6472d43be4eSopenharmony_ci ASSERT_EQ(apnHolder->GetApnState(), PROFILE_STATE_RETRYING); 6482d43be4eSopenharmony_ci controller.cellularDataHandler_->RemoveAllEvents(); 6492d43be4eSopenharmony_ci sleep(SLEEP_TIME_SECONDS); 6502d43be4eSopenharmony_ci} 6512d43be4eSopenharmony_ci 6522d43be4eSopenharmony_ci/** 6532d43be4eSopenharmony_ci * @tc.number Telephony_CellularDataService_001 6542d43be4eSopenharmony_ci * @tc.name test error branch 6552d43be4eSopenharmony_ci * @tc.desc Function test 6562d43be4eSopenharmony_ci */ 6572d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_CellularDataService_001, Function | MediumTest | Level3) 6582d43be4eSopenharmony_ci{ 6592d43be4eSopenharmony_ci DataAccessToken token; 6602d43be4eSopenharmony_ci CellularDataService service; 6612d43be4eSopenharmony_ci std::vector<std::u16string> strV; 6622d43be4eSopenharmony_ci ASSERT_EQ(TELEPHONY_ERR_FAIL, service.Dump(INVALID_FD, strV)); 6632d43be4eSopenharmony_ci service.state_ = ServiceRunningState::STATE_RUNNING; 6642d43be4eSopenharmony_ci service.OnStart(); 6652d43be4eSopenharmony_ci service.InitModule(); 6662d43be4eSopenharmony_ci bool dataEnabled = false; 6672d43be4eSopenharmony_ci bool dataRoamingEnabled = false; 6682d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.IsCellularDataEnabled(dataEnabled)); 6692d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.EnableCellularData(false)); 6702d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.EnableCellularData(true)); 6712d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.GetCellularDataState()); 6722d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.IsCellularDataRoamingEnabled(INVALID_SLOTID, dataRoamingEnabled)); 6732d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.EnableCellularDataRoaming(INVALID_SLOTID, false)); 6742d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.IsCellularDataRoamingEnabled(DEFAULT_SIM_SLOT_ID, dataRoamingEnabled)); 6752d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.EnableCellularDataRoaming(DEFAULT_SIM_SLOT_ID, true)); 6762d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.HandleApnChanged(INVALID_SLOTID)); 6772d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.HandleApnChanged(DEFAULT_SIM_SLOT_ID)); 6782d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.GetDefaultCellularDataSlotId()); 6792d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.SetDefaultCellularDataSlotId(INVALID_SLOTID)); 6802d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.SetDefaultCellularDataSlotId(DEFAULT_SIM_SLOT_ID)); 6812d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.GetCellularDataFlowType()); 6822d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.HasInternetCapability(INVALID_SLOTID, 0)); 6832d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.HasInternetCapability(DEFAULT_SIM_SLOT_ID, 0)); 6842d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.ClearCellularDataConnections(INVALID_SLOTID)); 6852d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.ClearCellularDataConnections(DEFAULT_SIM_SLOT_ID)); 6862d43be4eSopenharmony_ci DisConnectionReason reason = DisConnectionReason::REASON_NORMAL; 6872d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.ClearAllConnections(INVALID_SLOTID, reason)); 6882d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.ClearAllConnections(DEFAULT_SIM_SLOT_ID, reason)); 6892d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.ChangeConnectionForDsds(INVALID_SLOTID, false)); 6902d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.ChangeConnectionForDsds(DEFAULT_SIM_SLOT_ID, false)); 6912d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.ChangeConnectionForDsds(DEFAULT_SIM_SLOT_ID, true)); 6922d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.StrategySwitch(INVALID_SLOTID, false)); 6932d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.StrategySwitch(DEFAULT_SIM_SLOT_ID, false)); 6942d43be4eSopenharmony_ci NetRequest request; 6952d43be4eSopenharmony_ci request.ident = "simId12"; 6962d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.RequestNet(request)); 6972d43be4eSopenharmony_ci request.ident = "simId2"; 6982d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.ReleaseNet(request)); 6992d43be4eSopenharmony_ci ASSERT_FALSE(service.GetCellularDataController(DEFAULT_SIM_SLOT_ID) != nullptr); 7002d43be4eSopenharmony_ci ASSERT_FALSE(service.GetCellularDataController(INVALID_SLOTID) != nullptr); 7012d43be4eSopenharmony_ci ASSERT_FALSE(service.GetCellularDataController(INVALID_SLOTID_TWO) != nullptr); 7022d43be4eSopenharmony_ci} 7032d43be4eSopenharmony_ci 7042d43be4eSopenharmony_ci/** 7052d43be4eSopenharmony_ci * @tc.number Telephony_CellularDataService_002 7062d43be4eSopenharmony_ci * @tc.name test error branch 7072d43be4eSopenharmony_ci * @tc.desc Function test 7082d43be4eSopenharmony_ci */ 7092d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_CellularDataService_002, Function | MediumTest | Level3) 7102d43be4eSopenharmony_ci{ 7112d43be4eSopenharmony_ci CellularDataService service; 7122d43be4eSopenharmony_ci std::vector<std::u16string> strV; 7132d43be4eSopenharmony_ci ASSERT_EQ(TELEPHONY_ERR_FAIL, service.Dump(INVALID_FD, strV)); 7142d43be4eSopenharmony_ci service.state_ = ServiceRunningState::STATE_RUNNING; 7152d43be4eSopenharmony_ci service.OnStart(); 7162d43be4eSopenharmony_ci service.InitModule(); 7172d43be4eSopenharmony_ci bool dataEnabled = false; 7182d43be4eSopenharmony_ci bool dataRoamingEnabled = false; 7192d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.IsCellularDataEnabled(dataEnabled)); 7202d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.EnableIntelligenceSwitch(false)); 7212d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.EnableIntelligenceSwitch(true)); 7222d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.EnableCellularData(false)); 7232d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.GetCellularDataState()); 7242d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.IsCellularDataRoamingEnabled(INVALID_SLOTID, dataRoamingEnabled)); 7252d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.EnableCellularDataRoaming(INVALID_SLOTID, false)); 7262d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.HandleApnChanged(INVALID_SLOTID)); 7272d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.GetDefaultCellularDataSlotId()); 7282d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.SetDefaultCellularDataSlotId(INVALID_SLOTID)); 7292d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.GetCellularDataFlowType()); 7302d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.HasInternetCapability(INVALID_SLOTID, 0)); 7312d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.ClearCellularDataConnections(INVALID_SLOTID)); 7322d43be4eSopenharmony_ci DisConnectionReason reason = DisConnectionReason::REASON_NORMAL; 7332d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.ClearAllConnections(INVALID_SLOTID, reason)); 7342d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.ChangeConnectionForDsds(INVALID_SLOTID, false)); 7352d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.StrategySwitch(INVALID_SLOTID, false)); 7362d43be4eSopenharmony_ci ASSERT_FALSE(service.GetCellularDataController(INVALID_SLOTID) != nullptr); 7372d43be4eSopenharmony_ci ASSERT_FALSE(service.GetCellularDataController(INVALID_SLOTID_TWO) != nullptr); 7382d43be4eSopenharmony_ci ASSERT_EQ(CELLULAR_DATA_INVALID_PARAM, service.GetApnState(DEFAULT_SIM_SLOT_ID, std::string())); 7392d43be4eSopenharmony_ci ASSERT_EQ(CELLULAR_DATA_INVALID_PARAM, service.GetApnState(INVALID_SLOTID, std::string())); 7402d43be4eSopenharmony_ci ASSERT_EQ(service.GetDataRecoveryState(), 0); 7412d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.InitCellularDataController(2)); 7422d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.InitCellularDataController(INVALID_SLOTID)); 7432d43be4eSopenharmony_ci service.GetFlowDataInfoDump(); 7442d43be4eSopenharmony_ci service.OnStop(); 7452d43be4eSopenharmony_ci} 7462d43be4eSopenharmony_ci 7472d43be4eSopenharmony_ci/** 7482d43be4eSopenharmony_ci * @tc.number Telephony_CellularDataService_003 7492d43be4eSopenharmony_ci * @tc.name test error branch 7502d43be4eSopenharmony_ci * @tc.desc Function test 7512d43be4eSopenharmony_ci */ 7522d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_CellularDataService_003, Function | MediumTest | Level3) 7532d43be4eSopenharmony_ci{ 7542d43be4eSopenharmony_ci DataAccessToken token; 7552d43be4eSopenharmony_ci CellularDataService service; 7562d43be4eSopenharmony_ci std::vector<std::u16string> strV; 7572d43be4eSopenharmony_ci ASSERT_EQ(TELEPHONY_ERR_FAIL, service.Dump(INVALID_FD, strV)); 7582d43be4eSopenharmony_ci service.state_ = ServiceRunningState::STATE_RUNNING; 7592d43be4eSopenharmony_ci service.OnStart(); 7602d43be4eSopenharmony_ci service.InitModule(); 7612d43be4eSopenharmony_ci service.cellularDataControllers_.clear(); 7622d43be4eSopenharmony_ci bool dataEnabled = false; 7632d43be4eSopenharmony_ci bool dataRoamingEnabled = false; 7642d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.IsCellularDataEnabled(dataEnabled)); 7652d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.EnableCellularData(false)); 7662d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.EnableCellularData(true)); 7672d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.EnableCellularDataRoaming(INVALID_SLOTID, false)); 7682d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.IsCellularDataRoamingEnabled(DEFAULT_SIM_SLOT_ID, dataRoamingEnabled)); 7692d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.EnableCellularDataRoaming(DEFAULT_SIM_SLOT_ID, true)); 7702d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.GetCellularDataState()); 7712d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.IsCellularDataRoamingEnabled(INVALID_SLOTID, dataRoamingEnabled)); 7722d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.HandleApnChanged(INVALID_SLOTID)); 7732d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.HandleApnChanged(DEFAULT_SIM_SLOT_ID)); 7742d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.SetDefaultCellularDataSlotId(INVALID_SLOTID)); 7752d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.SetDefaultCellularDataSlotId(DEFAULT_SIM_SLOT_ID)); 7762d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.GetCellularDataFlowType()); 7772d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.HasInternetCapability(INVALID_SLOTID, 0)); 7782d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.HasInternetCapability(DEFAULT_SIM_SLOT_ID, 0)); 7792d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.GetDefaultCellularDataSlotId()); 7802d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.StrategySwitch(INVALID_SLOTID, false)); 7812d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.StrategySwitch(DEFAULT_SIM_SLOT_ID, false)); 7822d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.ClearCellularDataConnections(INVALID_SLOTID)); 7832d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.ClearCellularDataConnections(DEFAULT_SIM_SLOT_ID)); 7842d43be4eSopenharmony_ci DisConnectionReason reason = DisConnectionReason::REASON_NORMAL; 7852d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.ClearAllConnections(INVALID_SLOTID, reason)); 7862d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.ClearAllConnections(DEFAULT_SIM_SLOT_ID, reason)); 7872d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.ChangeConnectionForDsds(INVALID_SLOTID, false)); 7882d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.ChangeConnectionForDsds(DEFAULT_SIM_SLOT_ID, false)); 7892d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.ChangeConnectionForDsds(DEFAULT_SIM_SLOT_ID, true)); 7902d43be4eSopenharmony_ci NetRequest request; 7912d43be4eSopenharmony_ci request.ident = "simId12"; 7922d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.RequestNet(request)); 7932d43be4eSopenharmony_ci request.ident = "simId2"; 7942d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.ReleaseNet(request)); 7952d43be4eSopenharmony_ci ASSERT_FALSE(service.GetCellularDataController(DEFAULT_SIM_SLOT_ID) != nullptr); 7962d43be4eSopenharmony_ci ASSERT_FALSE(service.GetCellularDataController(INVALID_SLOTID) != nullptr); 7972d43be4eSopenharmony_ci ASSERT_FALSE(service.GetCellularDataController(INVALID_SLOTID_TWO) != nullptr); 7982d43be4eSopenharmony_ci} 7992d43be4eSopenharmony_ci 8002d43be4eSopenharmony_ci/** 8012d43be4eSopenharmony_ci * @tc.number Telephony_CellularDataService_004 8022d43be4eSopenharmony_ci * @tc.name test error branch 8032d43be4eSopenharmony_ci * @tc.desc Function test 8042d43be4eSopenharmony_ci */ 8052d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_CellularDataService_004, Function | MediumTest | Level3) 8062d43be4eSopenharmony_ci{ 8072d43be4eSopenharmony_ci DataAccessToken token; 8082d43be4eSopenharmony_ci CellularDataService service; 8092d43be4eSopenharmony_ci std::vector<std::u16string> strV; 8102d43be4eSopenharmony_ci ASSERT_EQ(TELEPHONY_ERR_FAIL, service.Dump(INVALID_FD, strV)); 8112d43be4eSopenharmony_ci service.state_ = ServiceRunningState::STATE_RUNNING; 8122d43be4eSopenharmony_ci service.OnStart(); 8132d43be4eSopenharmony_ci service.InitModule(); 8142d43be4eSopenharmony_ci service.GetFlowDataInfoDump(); 8152d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.EnableIntelligenceSwitch(false)); 8162d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.EnableIntelligenceSwitch(true)); 8172d43be4eSopenharmony_ci ASSERT_EQ(CELLULAR_DATA_INVALID_PARAM, service.GetApnState(DEFAULT_SIM_SLOT_ID, std::string())); 8182d43be4eSopenharmony_ci ASSERT_EQ(CELLULAR_DATA_INVALID_PARAM, service.GetApnState(INVALID_SLOTID, std::string())); 8192d43be4eSopenharmony_ci ASSERT_EQ(service.GetDataRecoveryState(), 0); 8202d43be4eSopenharmony_ci ASSERT_EQ(TELEPHONY_ERR_SUCCESS, service.InitCellularDataController(2)); 8212d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.InitCellularDataController(INVALID_SLOTID)); 8222d43be4eSopenharmony_ci ApnItem::Attribute apnAttr; 8232d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.GetDataConnApnAttr(INVALID_SLOTID, apnAttr)); 8242d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.GetDataConnApnAttr(DEFAULT_SIM_SLOT_ID, apnAttr)); 8252d43be4eSopenharmony_ci std::string ipType; 8262d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.GetDataConnIpType(INVALID_SLOTID, ipType)); 8272d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.GetDataConnIpType(DEFAULT_SIM_SLOT_ID, ipType)); 8282d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.IsNeedDoRecovery(INVALID_SLOTID, true)); 8292d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.IsNeedDoRecovery(DEFAULT_SIM_SLOT_ID, true)); 8302d43be4eSopenharmony_ci} 8312d43be4eSopenharmony_ci 8322d43be4eSopenharmony_ci/** 8332d43be4eSopenharmony_ci * @tc.number Telephony_CellularDataService_005 8342d43be4eSopenharmony_ci * @tc.name test error branch 8352d43be4eSopenharmony_ci * @tc.desc Function test 8362d43be4eSopenharmony_ci */ 8372d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_CellularDataService_005, Function | MediumTest | Level3) 8382d43be4eSopenharmony_ci{ 8392d43be4eSopenharmony_ci DataAccessToken token; 8402d43be4eSopenharmony_ci CellularDataService service; 8412d43be4eSopenharmony_ci std::vector<std::u16string> strV; 8422d43be4eSopenharmony_ci ASSERT_EQ(TELEPHONY_ERR_FAIL, service.Dump(INVALID_FD, strV)); 8432d43be4eSopenharmony_ci service.state_ = ServiceRunningState::STATE_RUNNING; 8442d43be4eSopenharmony_ci service.OnStart(); 8452d43be4eSopenharmony_ci service.InitModule(); 8462d43be4eSopenharmony_ci service.cellularDataControllers_.clear(); 8472d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.EnableIntelligenceSwitch(false)); 8482d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.EnableIntelligenceSwitch(true)); 8492d43be4eSopenharmony_ci ASSERT_EQ(CELLULAR_DATA_INVALID_PARAM, service.GetApnState(DEFAULT_SIM_SLOT_ID, std::string())); 8502d43be4eSopenharmony_ci ASSERT_EQ(CELLULAR_DATA_INVALID_PARAM, service.GetApnState(INVALID_SLOTID, std::string())); 8512d43be4eSopenharmony_ci ASSERT_EQ(service.GetDataRecoveryState(), 0); 8522d43be4eSopenharmony_ci ASSERT_EQ(TELEPHONY_ERR_SUCCESS, service.InitCellularDataController(2)); 8532d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.InitCellularDataController(INVALID_SLOTID)); 8542d43be4eSopenharmony_ci service.GetFlowDataInfoDump(); 8552d43be4eSopenharmony_ci ApnItem::Attribute apnAttr; 8562d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.GetDataConnApnAttr(INVALID_SLOTID, apnAttr)); 8572d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.GetDataConnApnAttr(DEFAULT_SIM_SLOT_ID, apnAttr)); 8582d43be4eSopenharmony_ci std::string ipType; 8592d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.GetDataConnIpType(INVALID_SLOTID, ipType)); 8602d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.GetDataConnIpType(DEFAULT_SIM_SLOT_ID, ipType)); 8612d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.IsNeedDoRecovery(INVALID_SLOTID, true)); 8622d43be4eSopenharmony_ci ASSERT_NE(TELEPHONY_ERR_SUCCESS, service.IsNeedDoRecovery(DEFAULT_SIM_SLOT_ID, true)); 8632d43be4eSopenharmony_ci} 8642d43be4eSopenharmony_ci 8652d43be4eSopenharmony_ci/** 8662d43be4eSopenharmony_ci * @tc.number CellularDataController_001 8672d43be4eSopenharmony_ci * @tc.name test error branch 8682d43be4eSopenharmony_ci * @tc.desc Function test 8692d43be4eSopenharmony_ci */ 8702d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_CellularDataController_001, Function | MediumTest | Level3) 8712d43be4eSopenharmony_ci{ 8722d43be4eSopenharmony_ci CellularDataController controller { 0 }; 8732d43be4eSopenharmony_ci controller.RegisterEvents(); 8742d43be4eSopenharmony_ci controller.Init(); 8752d43be4eSopenharmony_ci controller.cellularDataHandler_ = nullptr; 8762d43be4eSopenharmony_ci NetRequest request; 8772d43be4eSopenharmony_ci ASSERT_FALSE(controller.ReleaseNet(request)); 8782d43be4eSopenharmony_ci ASSERT_FALSE(controller.RequestNet(request)); 8792d43be4eSopenharmony_ci ASSERT_NE(controller.SetCellularDataEnable(true), TELEPHONY_ERR_SUCCESS); 8802d43be4eSopenharmony_ci if (controller.systemAbilityListener_ != nullptr) { 8812d43be4eSopenharmony_ci controller.systemAbilityListener_->OnAddSystemAbility(COMM_NET_CONN_MANAGER_SYS_ABILITY_ID, "test"); 8822d43be4eSopenharmony_ci controller.systemAbilityListener_->OnAddSystemAbility(COMM_NET_POLICY_MANAGER_SYS_ABILITY_ID, "test"); 8832d43be4eSopenharmony_ci controller.systemAbilityListener_->OnAddSystemAbility(COMMON_EVENT_SERVICE_ID, "test"); 8842d43be4eSopenharmony_ci controller.systemAbilityListener_->OnAddSystemAbility(DISTRIBUTED_KV_DATA_SERVICE_ABILITY_ID, "test"); 8852d43be4eSopenharmony_ci controller.systemAbilityListener_->OnAddSystemAbility(0, "test"); 8862d43be4eSopenharmony_ci controller.systemAbilityListener_->OnRemoveSystemAbility(COMM_NET_CONN_MANAGER_SYS_ABILITY_ID, "test"); 8872d43be4eSopenharmony_ci controller.systemAbilityListener_->OnRemoveSystemAbility(COMM_NET_POLICY_MANAGER_SYS_ABILITY_ID, "test"); 8882d43be4eSopenharmony_ci controller.systemAbilityListener_->OnRemoveSystemAbility(COMMON_EVENT_SERVICE_ID, "test"); 8892d43be4eSopenharmony_ci controller.systemAbilityListener_->OnRemoveSystemAbility(DISTRIBUTED_KV_DATA_SERVICE_ABILITY_ID, "test"); 8902d43be4eSopenharmony_ci controller.systemAbilityListener_->OnRemoveSystemAbility(0, "test"); 8912d43be4eSopenharmony_ci } 8922d43be4eSopenharmony_ci bool dataEnabled = false; 8932d43be4eSopenharmony_ci controller.IsCellularDataEnabled(dataEnabled); 8942d43be4eSopenharmony_ci ASSERT_FALSE(dataEnabled); 8952d43be4eSopenharmony_ci controller.SetPolicyDataOn(true); 8962d43be4eSopenharmony_ci ASSERT_NE(controller.SetCellularDataRoamingEnabled(true), TELEPHONY_ERR_SUCCESS); 8972d43be4eSopenharmony_ci EXPECT_EQ(ApnProfileState::PROFILE_STATE_FAILED, controller.GetCellularDataState()); 8982d43be4eSopenharmony_ci EXPECT_EQ(ApnProfileState::PROFILE_STATE_FAILED, controller.GetCellularDataState("")); 8992d43be4eSopenharmony_ci bool dataRoamingEnabled = false; 9002d43be4eSopenharmony_ci controller.IsCellularDataRoamingEnabled(dataRoamingEnabled); 9012d43be4eSopenharmony_ci ASSERT_FALSE(dataRoamingEnabled); 9022d43be4eSopenharmony_ci ASSERT_FALSE(controller.HandleApnChanged()); 9032d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 9042d43be4eSopenharmony_ci controller.ProcessEvent(event); 9052d43be4eSopenharmony_ci event = nullptr; 9062d43be4eSopenharmony_ci controller.ProcessEvent(event); 9072d43be4eSopenharmony_ci controller.RegisterEvents(); 9082d43be4eSopenharmony_ci ASSERT_FALSE(controller.IsRestrictedMode()); 9092d43be4eSopenharmony_ci ASSERT_EQ(DisConnectionReason::REASON_NORMAL, controller.GetDisConnectionReason()); 9102d43be4eSopenharmony_ci controller.HasInternetCapability(0); 9112d43be4eSopenharmony_ci DisConnectionReason reason = DisConnectionReason::REASON_NORMAL; 9122d43be4eSopenharmony_ci ASSERT_FALSE(controller.ClearAllConnections(reason)); 9132d43be4eSopenharmony_ci ASSERT_FALSE(controller.ChangeConnectionForDsds(false)); 9142d43be4eSopenharmony_ci controller.UnRegisterEvents(); 9152d43be4eSopenharmony_ci ASSERT_FALSE(controller.EstablishAllApnsIfConnectable()); 9162d43be4eSopenharmony_ci ASSERT_FALSE(controller.HandleApnChanged()); 9172d43be4eSopenharmony_ci ASSERT_FALSE(controller.GetCellularDataFlowType()); 9182d43be4eSopenharmony_ci} 9192d43be4eSopenharmony_ci 9202d43be4eSopenharmony_ci/** 9212d43be4eSopenharmony_ci * @tc.number CellularDataController_002 9222d43be4eSopenharmony_ci * @tc.name test error branch 9232d43be4eSopenharmony_ci * @tc.desc Function test 9242d43be4eSopenharmony_ci */ 9252d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_CellularDataController_002, Function | MediumTest | Level3) 9262d43be4eSopenharmony_ci{ 9272d43be4eSopenharmony_ci CellularDataController controller { 0 }; 9282d43be4eSopenharmony_ci controller.RegisterEvents(); 9292d43be4eSopenharmony_ci controller.Init(); 9302d43be4eSopenharmony_ci NetRequest request; 9312d43be4eSopenharmony_ci controller.ReleaseNet(request); 9322d43be4eSopenharmony_ci controller.RequestNet(request); 9332d43be4eSopenharmony_ci controller.SetCellularDataEnable(true); 9342d43be4eSopenharmony_ci controller.SetPolicyDataOn(true); 9352d43be4eSopenharmony_ci ASSERT_TRUE(controller.HandleApnChanged()); 9362d43be4eSopenharmony_ci bool dataEnabled = false; 9372d43be4eSopenharmony_ci controller.IsCellularDataEnabled(dataEnabled); 9382d43be4eSopenharmony_ci ASSERT_TRUE(dataEnabled); 9392d43be4eSopenharmony_ci ASSERT_NE(controller.SetCellularDataRoamingEnabled(true), TELEPHONY_ERR_SUCCESS); 9402d43be4eSopenharmony_ci ASSERT_NE(ApnProfileState::PROFILE_STATE_FAILED, controller.GetCellularDataState()); 9412d43be4eSopenharmony_ci ASSERT_NE(ApnProfileState::PROFILE_STATE_FAILED, controller.GetCellularDataState("")); 9422d43be4eSopenharmony_ci if (controller.systemAbilityListener_ != nullptr) { 9432d43be4eSopenharmony_ci controller.systemAbilityListener_->OnAddSystemAbility(COMM_NET_CONN_MANAGER_SYS_ABILITY_ID, "test"); 9442d43be4eSopenharmony_ci controller.systemAbilityListener_->OnAddSystemAbility(COMM_NET_POLICY_MANAGER_SYS_ABILITY_ID, "test"); 9452d43be4eSopenharmony_ci controller.systemAbilityListener_->OnAddSystemAbility(COMMON_EVENT_SERVICE_ID, "test"); 9462d43be4eSopenharmony_ci controller.systemAbilityListener_->OnAddSystemAbility(DISTRIBUTED_KV_DATA_SERVICE_ABILITY_ID, "test"); 9472d43be4eSopenharmony_ci controller.systemAbilityListener_->OnAddSystemAbility(0, "test"); 9482d43be4eSopenharmony_ci controller.systemAbilityListener_->OnRemoveSystemAbility(COMM_NET_CONN_MANAGER_SYS_ABILITY_ID, "test"); 9492d43be4eSopenharmony_ci controller.systemAbilityListener_->OnRemoveSystemAbility(COMM_NET_POLICY_MANAGER_SYS_ABILITY_ID, "test"); 9502d43be4eSopenharmony_ci controller.systemAbilityListener_->OnRemoveSystemAbility(COMMON_EVENT_SERVICE_ID, "test"); 9512d43be4eSopenharmony_ci controller.systemAbilityListener_->OnRemoveSystemAbility(DISTRIBUTED_KV_DATA_SERVICE_ABILITY_ID, "test"); 9522d43be4eSopenharmony_ci controller.systemAbilityListener_->OnRemoveSystemAbility(0, "test"); 9532d43be4eSopenharmony_ci } 9542d43be4eSopenharmony_ci bool dataRoamingEnabled = false; 9552d43be4eSopenharmony_ci controller.IsCellularDataRoamingEnabled(dataRoamingEnabled); 9562d43be4eSopenharmony_ci ASSERT_FALSE(dataRoamingEnabled); 9572d43be4eSopenharmony_ci ASSERT_TRUE(controller.HandleApnChanged()); 9582d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 9592d43be4eSopenharmony_ci controller.ProcessEvent(event); 9602d43be4eSopenharmony_ci event = nullptr; 9612d43be4eSopenharmony_ci controller.ProcessEvent(event); 9622d43be4eSopenharmony_ci controller.RegisterEvents(); 9632d43be4eSopenharmony_ci ASSERT_FALSE(controller.IsRestrictedMode()); 9642d43be4eSopenharmony_ci ASSERT_EQ(DisConnectionReason::REASON_NORMAL, controller.GetDisConnectionReason()); 9652d43be4eSopenharmony_ci controller.HasInternetCapability(0); 9662d43be4eSopenharmony_ci DisConnectionReason reason = DisConnectionReason::REASON_NORMAL; 9672d43be4eSopenharmony_ci ASSERT_TRUE(controller.ClearAllConnections(reason)); 9682d43be4eSopenharmony_ci ASSERT_TRUE(controller.EstablishAllApnsIfConnectable()); 9692d43be4eSopenharmony_ci controller.ChangeConnectionForDsds(false); 9702d43be4eSopenharmony_ci ASSERT_FALSE(controller.GetCellularDataFlowType()); 9712d43be4eSopenharmony_ci controller.UnRegisterEvents(); 9722d43be4eSopenharmony_ci if (controller.cellularDataHandler_ != nullptr) { 9732d43be4eSopenharmony_ci controller.cellularDataHandler_->UnRegisterDataSettingObserver(); 9742d43be4eSopenharmony_ci controller.cellularDataHandler_->RemoveAllEvents(); 9752d43be4eSopenharmony_ci sleep(SLEEP_TIME_SECONDS); 9762d43be4eSopenharmony_ci } 9772d43be4eSopenharmony_ci} 9782d43be4eSopenharmony_ci 9792d43be4eSopenharmony_ci/** 9802d43be4eSopenharmony_ci * @tc.number CellularDataController_003 9812d43be4eSopenharmony_ci * @tc.name test error branch 9822d43be4eSopenharmony_ci * @tc.desc Function test 9832d43be4eSopenharmony_ci */ 9842d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_CellularDataController_003, Function | MediumTest | Level3) 9852d43be4eSopenharmony_ci{ 9862d43be4eSopenharmony_ci CellularDataController controller { 0 }; 9872d43be4eSopenharmony_ci controller.RegisterEvents(); 9882d43be4eSopenharmony_ci controller.Init(); 9892d43be4eSopenharmony_ci ApnItem::Attribute apnAttr; 9902d43be4eSopenharmony_ci controller.GetDataConnApnAttr(apnAttr); 9912d43be4eSopenharmony_ci std::string str = ""; 9922d43be4eSopenharmony_ci ASSERT_EQ(controller.GetDataConnIpType(), str); 9932d43be4eSopenharmony_ci ASSERT_EQ(controller.GetDataRecoveryState(), 0); 9942d43be4eSopenharmony_ci controller.IsNeedDoRecovery(true); 9952d43be4eSopenharmony_ci controller.cellularDataHandler_ = nullptr; 9962d43be4eSopenharmony_ci controller.GetDataConnApnAttr(apnAttr); 9972d43be4eSopenharmony_ci ASSERT_EQ(controller.GetDataConnIpType(), str); 9982d43be4eSopenharmony_ci ASSERT_EQ(controller.GetDataRecoveryState(), 0); 9992d43be4eSopenharmony_ci controller.IsNeedDoRecovery(true); 10002d43be4eSopenharmony_ci} 10012d43be4eSopenharmony_ci 10022d43be4eSopenharmony_ci/** 10032d43be4eSopenharmony_ci * @tc.number CellularDataConnectionManager_001 10042d43be4eSopenharmony_ci * @tc.name test error branch 10052d43be4eSopenharmony_ci * @tc.desc Function test 10062d43be4eSopenharmony_ci */ 10072d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_CellularDataConnectionManager_001, Function | MediumTest | Level3) 10082d43be4eSopenharmony_ci{ 10092d43be4eSopenharmony_ci DataConnectionManager con { 0 }; 10102d43be4eSopenharmony_ci con.Init(); 10112d43be4eSopenharmony_ci con.connectionMonitor_ = nullptr; 10122d43be4eSopenharmony_ci con.ccmDefaultState_ = nullptr; 10132d43be4eSopenharmony_ci con.stateMachineEventHandler_ = nullptr; 10142d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> stateMachine = nullptr; 10152d43be4eSopenharmony_ci con.AddConnectionStateMachine(stateMachine); 10162d43be4eSopenharmony_ci con.RemoveConnectionStateMachine(stateMachine); 10172d43be4eSopenharmony_ci con.AddActiveConnectionByCid(stateMachine); 10182d43be4eSopenharmony_ci con.GetActiveConnectionByCid(1); 10192d43be4eSopenharmony_ci con.GetAllConnectionMachine(); 10202d43be4eSopenharmony_ci con.StartStallDetectionTimer(); 10212d43be4eSopenharmony_ci con.StopStallDetectionTimer(); 10222d43be4eSopenharmony_ci con.RegisterRadioObserver(); 10232d43be4eSopenharmony_ci con.UnRegisterRadioObserver(); 10242d43be4eSopenharmony_ci con.UpdateBandWidthsUseLte(); 10252d43be4eSopenharmony_ci con.GetActiveConnection(); 10262d43be4eSopenharmony_ci con.IsBandwidthSourceModem(); 10272d43be4eSopenharmony_ci ASSERT_EQ(-1, con.GetDataRecoveryState()); 10282d43be4eSopenharmony_ci con.IsNeedDoRecovery(true); 10292d43be4eSopenharmony_ci ASSERT_TRUE(con.GetActiveConnectionByCid(0) == nullptr); 10302d43be4eSopenharmony_ci ASSERT_TRUE(con.isNoActiveConnection()); 10312d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 10322d43be4eSopenharmony_ci event = nullptr; 10332d43be4eSopenharmony_ci CcmDefaultState ccmDefaultState { con, "CcmDefaultState" }; 10342d43be4eSopenharmony_ci ASSERT_FALSE(ccmDefaultState.StateProcess(event)); 10352d43be4eSopenharmony_ci event = AppExecFwk::InnerEvent::Get(RadioEvent::RADIO_CONNECTED); 10362d43be4eSopenharmony_ci ASSERT_TRUE(ccmDefaultState.StateProcess(event)); 10372d43be4eSopenharmony_ci event = AppExecFwk::InnerEvent::Get(RadioEvent::RADIO_DATA_CALL_LIST_CHANGED); 10382d43be4eSopenharmony_ci ASSERT_TRUE(ccmDefaultState.StateProcess(event)); 10392d43be4eSopenharmony_ci event = AppExecFwk::InnerEvent::Get(RadioEvent::RADIO_LINK_CAPABILITY_CHANGED); 10402d43be4eSopenharmony_ci ASSERT_TRUE(ccmDefaultState.StateProcess(event)); 10412d43be4eSopenharmony_ci event = AppExecFwk::InnerEvent::Get(0); 10422d43be4eSopenharmony_ci ASSERT_FALSE(ccmDefaultState.StateProcess(event)); 10432d43be4eSopenharmony_ci ccmDefaultState.RadioDataCallListChanged(event); 10442d43be4eSopenharmony_ci ccmDefaultState.UpdateNetworkInfo(event); 10452d43be4eSopenharmony_ci ccmDefaultState.RadioLinkCapabilityChanged(event); 10462d43be4eSopenharmony_ci con.GetDataFlowType(); 10472d43be4eSopenharmony_ci con.GetDefaultBandWidthsConfig(); 10482d43be4eSopenharmony_ci con.GetDefaultTcpBufferConfig(); 10492d43be4eSopenharmony_ci con.SetDataFlowType(CellDataFlowType::DATA_FLOW_TYPE_NONE); 10502d43be4eSopenharmony_ci con.UpdateCallState(0); 10512d43be4eSopenharmony_ci ASSERT_EQ("", con.GetTcpBufferByRadioTech(0)); 10522d43be4eSopenharmony_ci ASSERT_TRUE(con.GetBandwidthsByRadioTech(0).upBandwidth == DEFAULT_BANDWIDTH); 10532d43be4eSopenharmony_ci} 10542d43be4eSopenharmony_ci 10552d43be4eSopenharmony_ci/** 10562d43be4eSopenharmony_ci * @tc.number CellularDataConnectionManager_002 10572d43be4eSopenharmony_ci * @tc.name test error branch 10582d43be4eSopenharmony_ci * @tc.desc Function test 10592d43be4eSopenharmony_ci */ 10602d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_CellularDataConnectionManager_002, Function | MediumTest | Level3) 10612d43be4eSopenharmony_ci{ 10622d43be4eSopenharmony_ci DataConnectionManager con { 0 }; 10632d43be4eSopenharmony_ci con.Init(); 10642d43be4eSopenharmony_ci std::shared_ptr<StateMachineTest> machine = std::make_shared<StateMachineTest>(); 10652d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> stateMachine = machine->CreateCellularDataConnect(0); 10662d43be4eSopenharmony_ci con.AddConnectionStateMachine(stateMachine); 10672d43be4eSopenharmony_ci con.RemoveConnectionStateMachine(stateMachine); 10682d43be4eSopenharmony_ci con.AddActiveConnectionByCid(stateMachine); 10692d43be4eSopenharmony_ci con.GetActiveConnectionByCid(1); 10702d43be4eSopenharmony_ci con.GetAllConnectionMachine(); 10712d43be4eSopenharmony_ci con.StartStallDetectionTimer(); 10722d43be4eSopenharmony_ci con.StopStallDetectionTimer(); 10732d43be4eSopenharmony_ci con.RegisterRadioObserver(); 10742d43be4eSopenharmony_ci con.UnRegisterRadioObserver(); 10752d43be4eSopenharmony_ci con.uplinkUseLte_ = true; 10762d43be4eSopenharmony_ci con.UpdateBandWidthsUseLte(); 10772d43be4eSopenharmony_ci con.GetActiveConnection(); 10782d43be4eSopenharmony_ci con.IsBandwidthSourceModem(); 10792d43be4eSopenharmony_ci ASSERT_NE(-1, con.GetDataRecoveryState()); 10802d43be4eSopenharmony_ci con.IsNeedDoRecovery(true); 10812d43be4eSopenharmony_ci con.GetActiveConnectionByCid(0); 10822d43be4eSopenharmony_ci con.isNoActiveConnection(); 10832d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 10842d43be4eSopenharmony_ci CcmDefaultState ccmDefaultState { con, "CcmDefaultState" }; 10852d43be4eSopenharmony_ci ASSERT_FALSE(ccmDefaultState.StateProcess(event)); 10862d43be4eSopenharmony_ci event = AppExecFwk::InnerEvent::Get(RadioEvent::RADIO_CONNECTED); 10872d43be4eSopenharmony_ci ASSERT_TRUE(ccmDefaultState.StateProcess(event)); 10882d43be4eSopenharmony_ci event = AppExecFwk::InnerEvent::Get(RadioEvent::RADIO_DATA_CALL_LIST_CHANGED); 10892d43be4eSopenharmony_ci ASSERT_TRUE(ccmDefaultState.StateProcess(event)); 10902d43be4eSopenharmony_ci event = AppExecFwk::InnerEvent::Get(RadioEvent::RADIO_LINK_CAPABILITY_CHANGED); 10912d43be4eSopenharmony_ci ASSERT_TRUE(ccmDefaultState.StateProcess(event)); 10922d43be4eSopenharmony_ci event = AppExecFwk::InnerEvent::Get(0); 10932d43be4eSopenharmony_ci ASSERT_FALSE(ccmDefaultState.StateProcess(event)); 10942d43be4eSopenharmony_ci ccmDefaultState.RadioDataCallListChanged(event); 10952d43be4eSopenharmony_ci ccmDefaultState.UpdateNetworkInfo(event); 10962d43be4eSopenharmony_ci ccmDefaultState.RadioLinkCapabilityChanged(event); 10972d43be4eSopenharmony_ci con.GetDataFlowType(); 10982d43be4eSopenharmony_ci con.GetDefaultBandWidthsConfig(); 10992d43be4eSopenharmony_ci con.GetDefaultTcpBufferConfig(); 11002d43be4eSopenharmony_ci con.SetDataFlowType(CellDataFlowType::DATA_FLOW_TYPE_NONE); 11012d43be4eSopenharmony_ci con.UpdateCallState(0); 11022d43be4eSopenharmony_ci ASSERT_EQ("", con.GetTcpBufferByRadioTech(0)); 11032d43be4eSopenharmony_ci ASSERT_TRUE(con.GetBandwidthsByRadioTech(0).upBandwidth == DEFAULT_BANDWIDTH); 11042d43be4eSopenharmony_ci} 11052d43be4eSopenharmony_ci 11062d43be4eSopenharmony_ci/** 11072d43be4eSopenharmony_ci * @tc.number DataConnectionMonitor_001 11082d43be4eSopenharmony_ci * @tc.name test error branch 11092d43be4eSopenharmony_ci * @tc.desc Function test 11102d43be4eSopenharmony_ci */ 11112d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_DataConnectionMonitor_001, Function | MediumTest | Level3) 11122d43be4eSopenharmony_ci{ 11132d43be4eSopenharmony_ci DataConnectionManager con { 0 }; 11142d43be4eSopenharmony_ci ASSERT_FALSE(con.connectionMonitor_ == nullptr); 11152d43be4eSopenharmony_ci con.connectionMonitor_->trafficManager_ = nullptr; 11162d43be4eSopenharmony_ci con.connectionMonitor_->stallDetectionTrafficManager_ = nullptr; 11172d43be4eSopenharmony_ci con.connectionMonitor_->UpdateFlowInfo(); 11182d43be4eSopenharmony_ci con.connectionMonitor_->UpdateCallState(0); 11192d43be4eSopenharmony_ci con.connectionMonitor_->OnStallDetectionTimer(); 11202d43be4eSopenharmony_ci con.connectionMonitor_->StopStallDetectionTimer(); 11212d43be4eSopenharmony_ci con.connectionMonitor_->dataRecoveryState_ = RecoveryState::STATE_REQUEST_CONTEXT_LIST; 11222d43be4eSopenharmony_ci con.connectionMonitor_->HandleRecovery(); 11232d43be4eSopenharmony_ci con.connectionMonitor_->dataRecoveryState_ = RecoveryState::STATE_CLEANUP_CONNECTIONS; 11242d43be4eSopenharmony_ci con.connectionMonitor_->HandleRecovery(); 11252d43be4eSopenharmony_ci con.connectionMonitor_->dataRecoveryState_ = RecoveryState::STATE_REREGISTER_NETWORK; 11262d43be4eSopenharmony_ci con.connectionMonitor_->HandleRecovery(); 11272d43be4eSopenharmony_ci con.connectionMonitor_->dataRecoveryState_ = RecoveryState::STATE_RADIO_STATUS_RESTART; 11282d43be4eSopenharmony_ci con.connectionMonitor_->HandleRecovery(); 11292d43be4eSopenharmony_ci con.connectionMonitor_->EndNetStatistics(); 11302d43be4eSopenharmony_ci con.connectionMonitor_->UpdateNetTrafficState(); 11312d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 11322d43be4eSopenharmony_ci con.connectionMonitor_->SetPreferredNetworkPara(event); 11332d43be4eSopenharmony_ci con.connectionMonitor_->UpdateDataFlowType(); 11342d43be4eSopenharmony_ci con.connectionMonitor_->ProcessEvent(event); 11352d43be4eSopenharmony_ci event = nullptr; 11362d43be4eSopenharmony_ci con.connectionMonitor_->ProcessEvent(event); 11372d43be4eSopenharmony_ci ASSERT_EQ(CellDataFlowType::DATA_FLOW_TYPE_NONE, con.connectionMonitor_->GetDataFlowType()); 11382d43be4eSopenharmony_ci} 11392d43be4eSopenharmony_ci 11402d43be4eSopenharmony_ci/** 11412d43be4eSopenharmony_ci * @tc.number DataConnectionMonitor_002 11422d43be4eSopenharmony_ci * @tc.name test error branch 11432d43be4eSopenharmony_ci * @tc.desc Function test 11442d43be4eSopenharmony_ci */ 11452d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_DataConnectionMonitor_002, Function | MediumTest | Level3) 11462d43be4eSopenharmony_ci{ 11472d43be4eSopenharmony_ci DataConnectionManager con { 0 }; 11482d43be4eSopenharmony_ci ASSERT_FALSE(con.connectionMonitor_ == nullptr); 11492d43be4eSopenharmony_ci con.connectionMonitor_->UpdateFlowInfo(); 11502d43be4eSopenharmony_ci con.connectionMonitor_->UpdateCallState(0); 11512d43be4eSopenharmony_ci con.connectionMonitor_->OnStallDetectionTimer(); 11522d43be4eSopenharmony_ci con.connectionMonitor_->StopStallDetectionTimer(); 11532d43be4eSopenharmony_ci con.connectionMonitor_->dataRecoveryState_ = RecoveryState::STATE_REQUEST_CONTEXT_LIST; 11542d43be4eSopenharmony_ci con.connectionMonitor_->HandleRecovery(); 11552d43be4eSopenharmony_ci con.connectionMonitor_->dataRecoveryState_ = RecoveryState::STATE_CLEANUP_CONNECTIONS; 11562d43be4eSopenharmony_ci con.connectionMonitor_->HandleRecovery(); 11572d43be4eSopenharmony_ci con.connectionMonitor_->dataRecoveryState_ = RecoveryState::STATE_REREGISTER_NETWORK; 11582d43be4eSopenharmony_ci con.connectionMonitor_->HandleRecovery(); 11592d43be4eSopenharmony_ci con.connectionMonitor_->dataRecoveryState_ = RecoveryState::STATE_RADIO_STATUS_RESTART; 11602d43be4eSopenharmony_ci con.connectionMonitor_->HandleRecovery(); 11612d43be4eSopenharmony_ci con.connectionMonitor_->EndNetStatistics(); 11622d43be4eSopenharmony_ci con.connectionMonitor_->UpdateNetTrafficState(); 11632d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 11642d43be4eSopenharmony_ci con.connectionMonitor_->SetPreferredNetworkPara(event); 11652d43be4eSopenharmony_ci con.connectionMonitor_->UpdateDataFlowType(); 11662d43be4eSopenharmony_ci con.connectionMonitor_->ProcessEvent(event); 11672d43be4eSopenharmony_ci event = nullptr; 11682d43be4eSopenharmony_ci con.connectionMonitor_->ProcessEvent(event); 11692d43be4eSopenharmony_ci ASSERT_EQ(CellDataFlowType::DATA_FLOW_TYPE_NONE, con.connectionMonitor_->GetDataFlowType()); 11702d43be4eSopenharmony_ci} 11712d43be4eSopenharmony_ci 11722d43be4eSopenharmony_ci/** 11732d43be4eSopenharmony_ci * @tc.number CellularDataUtils_001 11742d43be4eSopenharmony_ci * @tc.name test error branch 11752d43be4eSopenharmony_ci * @tc.desc Function test 11762d43be4eSopenharmony_ci */ 11772d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_CellularDataUtils_001, Function | MediumTest | Level3) 11782d43be4eSopenharmony_ci{ 11792d43be4eSopenharmony_ci ASSERT_EQ("unknown", 11802d43be4eSopenharmony_ci CellularDataUtils::ConvertRadioTechToRadioName(static_cast<int32_t>(RadioTech::RADIO_TECHNOLOGY_UNKNOWN))); 11812d43be4eSopenharmony_ci ASSERT_EQ( 11822d43be4eSopenharmony_ci "EDGE", CellularDataUtils::ConvertRadioTechToRadioName(static_cast<int32_t>(RadioTech::RADIO_TECHNOLOGY_GSM))); 11832d43be4eSopenharmony_ci ASSERT_EQ("1xRTT", 11842d43be4eSopenharmony_ci CellularDataUtils::ConvertRadioTechToRadioName(static_cast<int32_t>(RadioTech::RADIO_TECHNOLOGY_1XRTT))); 11852d43be4eSopenharmony_ci ASSERT_EQ("UMTS", 11862d43be4eSopenharmony_ci CellularDataUtils::ConvertRadioTechToRadioName(static_cast<int32_t>(RadioTech::RADIO_TECHNOLOGY_WCDMA))); 11872d43be4eSopenharmony_ci ASSERT_EQ( 11882d43be4eSopenharmony_ci "HSPA", CellularDataUtils::ConvertRadioTechToRadioName(static_cast<int32_t>(RadioTech::RADIO_TECHNOLOGY_HSPA))); 11892d43be4eSopenharmony_ci ASSERT_EQ("HSPAP", 11902d43be4eSopenharmony_ci CellularDataUtils::ConvertRadioTechToRadioName(static_cast<int32_t>(RadioTech::RADIO_TECHNOLOGY_HSPAP))); 11912d43be4eSopenharmony_ci ASSERT_EQ("TD-SCDMA", 11922d43be4eSopenharmony_ci CellularDataUtils::ConvertRadioTechToRadioName(static_cast<int32_t>(RadioTech::RADIO_TECHNOLOGY_TD_SCDMA))); 11932d43be4eSopenharmony_ci ASSERT_EQ( 11942d43be4eSopenharmony_ci "EVDO", CellularDataUtils::ConvertRadioTechToRadioName(static_cast<int32_t>(RadioTech::RADIO_TECHNOLOGY_EVDO))); 11952d43be4eSopenharmony_ci ASSERT_EQ("eHRPD", 11962d43be4eSopenharmony_ci CellularDataUtils::ConvertRadioTechToRadioName(static_cast<int32_t>(RadioTech::RADIO_TECHNOLOGY_EHRPD))); 11972d43be4eSopenharmony_ci ASSERT_EQ( 11982d43be4eSopenharmony_ci "LTE", CellularDataUtils::ConvertRadioTechToRadioName(static_cast<int32_t>(RadioTech::RADIO_TECHNOLOGY_LTE))); 11992d43be4eSopenharmony_ci ASSERT_EQ("LTE_CA", 12002d43be4eSopenharmony_ci CellularDataUtils::ConvertRadioTechToRadioName(static_cast<int32_t>(RadioTech::RADIO_TECHNOLOGY_LTE_CA))); 12012d43be4eSopenharmony_ci ASSERT_EQ("IWAN", 12022d43be4eSopenharmony_ci CellularDataUtils::ConvertRadioTechToRadioName(static_cast<int32_t>(RadioTech::RADIO_TECHNOLOGY_IWLAN))); 12032d43be4eSopenharmony_ci ASSERT_EQ( 12042d43be4eSopenharmony_ci "NR", CellularDataUtils::ConvertRadioTechToRadioName(static_cast<int32_t>(RadioTech::RADIO_TECHNOLOGY_NR))); 12052d43be4eSopenharmony_ci ASSERT_EQ( 12062d43be4eSopenharmony_ci "unknown", CellularDataUtils::ConvertRadioTechToRadioName(static_cast<int32_t>(INVALID_SLOTID))); 12072d43be4eSopenharmony_ci ASSERT_TRUE(CellularDataUtils::Split("", "").empty()); 12082d43be4eSopenharmony_ci EXPECT_GE(DelayedSingleton<CellularDataClient>::GetInstance()->GetCellularDataFlowType(), 0); 12092d43be4eSopenharmony_ci auto recipient = 12102d43be4eSopenharmony_ci std::make_shared<CellularDataClient::CellularDataDeathRecipient>(CellularDataClient::GetInstance()); 12112d43be4eSopenharmony_ci recipient->OnRemoteDied(nullptr); 12122d43be4eSopenharmony_ci EXPECT_GE(DelayedSingleton<CellularDataClient>::GetInstance()->GetCellularDataFlowType(), 0); 12132d43be4eSopenharmony_ci} 12142d43be4eSopenharmony_ci 12152d43be4eSopenharmony_ci/** 12162d43be4eSopenharmony_ci * @tc.number Telephony_ApnHolder_001 12172d43be4eSopenharmony_ci * @tc.name test error branch 12182d43be4eSopenharmony_ci * @tc.desc Function test 12192d43be4eSopenharmony_ci */ 12202d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_ApnHolder_001, Function | MediumTest | Level3) 12212d43be4eSopenharmony_ci{ 12222d43be4eSopenharmony_ci sptr<ApnHolder> apnHolder = new ApnHolder("", 0); 12232d43be4eSopenharmony_ci apnHolder->ReleaseAllCellularData(); 12242d43be4eSopenharmony_ci apnHolder->GetNextRetryApn(); 12252d43be4eSopenharmony_ci std::vector<sptr<ApnItem>> matchedApns; 12262d43be4eSopenharmony_ci apnHolder->SetAllMatchedApns(matchedApns); 12272d43be4eSopenharmony_ci apnHolder->GetRetryDelay(0, 0, RetryScene::RETRY_SCENE_OTHERS, 0); 12282d43be4eSopenharmony_ci apnHolder->MarkCurrentApnBad(); 12292d43be4eSopenharmony_ci sptr<ApnItem> apnItem = ApnItem::MakeDefaultApn(DATA_CONTEXT_ROLE_DEFAULT); 12302d43be4eSopenharmony_ci apnHolder->SetCurrentApn(apnItem); 12312d43be4eSopenharmony_ci apnHolder->GetCurrentApn(); 12322d43be4eSopenharmony_ci apnHolder->ClearCurrentApnBad(); 12332d43be4eSopenharmony_ci EXPECT_FALSE(apnItem->IsBadApn()); 12342d43be4eSopenharmony_ci apnHolder->SetApnState(ApnProfileState::PROFILE_STATE_IDLE); 12352d43be4eSopenharmony_ci apnHolder->SetApnState(ApnProfileState::PROFILE_STATE_FAILED); 12362d43be4eSopenharmony_ci apnHolder->GetApnState(); 12372d43be4eSopenharmony_ci apnHolder->IsDataCallEnabled(); 12382d43be4eSopenharmony_ci apnHolder->GetApnType(); 12392d43be4eSopenharmony_ci apnHolder->ReleaseDataConnection(); 12402d43be4eSopenharmony_ci apnHolder->cellularDataStateMachine_ = nullptr; 12412d43be4eSopenharmony_ci apnHolder->ReleaseDataConnection(); 12422d43be4eSopenharmony_ci apnHolder->SetCellularDataStateMachine(apnHolder->cellularDataStateMachine_); 12432d43be4eSopenharmony_ci apnHolder->InitialApnRetryCount(); 12442d43be4eSopenharmony_ci apnHolder->GetCellularDataStateMachine(); 12452d43be4eSopenharmony_ci apnHolder->GetCapability(); 12462d43be4eSopenharmony_ci apnHolder->GetPriority(); 12472d43be4eSopenharmony_ci apnHolder->InitialApnRetryCount(); 12482d43be4eSopenharmony_ci NetRequest request; 12492d43be4eSopenharmony_ci request.ident = "test"; 12502d43be4eSopenharmony_ci request.capability = -1; 12512d43be4eSopenharmony_ci apnHolder->RequestCellularData(request); 12522d43be4eSopenharmony_ci apnHolder->ReleaseCellularData(request); 12532d43be4eSopenharmony_ci apnHolder->RequestCellularData(request); 12542d43be4eSopenharmony_ci apnHolder->ReleaseCellularData(request); 12552d43be4eSopenharmony_ci ASSERT_FALSE(apnHolder->IsEmergencyType()); 12562d43be4eSopenharmony_ci ASSERT_FALSE(apnHolder->IsMmsType()); 12572d43be4eSopenharmony_ci EXPECT_GE(apnHolder->GetProfileId(DATA_CONTEXT_ROLE_DEFAULT), DATA_PROFILE_DEFAULT); 12582d43be4eSopenharmony_ci EXPECT_GE(apnHolder->GetProfileId("test"), DATA_PROFILE_DEFAULT); 12592d43be4eSopenharmony_ci} 12602d43be4eSopenharmony_ci 12612d43be4eSopenharmony_ci/** 12622d43be4eSopenharmony_ci * @tc.number Telephony_ApnHolder_002 12632d43be4eSopenharmony_ci * @tc.name test error branch 12642d43be4eSopenharmony_ci * @tc.desc Function test 12652d43be4eSopenharmony_ci */ 12662d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_ApnHolder_002, Function | MediumTest | Level3) 12672d43be4eSopenharmony_ci{ 12682d43be4eSopenharmony_ci sptr<ApnHolder> apnHolder = new ApnHolder("", 0); 12692d43be4eSopenharmony_ci std::vector<sptr<ApnItem>> newMatchedApns; 12702d43be4eSopenharmony_ci std::vector<sptr<ApnItem>> oldMatchedApns; 12712d43be4eSopenharmony_ci apnHolder->SetAllMatchedApns(oldMatchedApns); 12722d43be4eSopenharmony_ci ASSERT_FALSE(apnHolder->IsSameMatchedApns(newMatchedApns, true)); 12732d43be4eSopenharmony_ci sptr<ApnItem> apnItemFirst = ApnItem::MakeDefaultApn(DATA_CONTEXT_ROLE_DEFAULT); 12742d43be4eSopenharmony_ci newMatchedApns.push_back(apnItemFirst); 12752d43be4eSopenharmony_ci oldMatchedApns.push_back(apnItemFirst); 12762d43be4eSopenharmony_ci apnHolder->SetAllMatchedApns(oldMatchedApns); 12772d43be4eSopenharmony_ci ASSERT_TRUE(apnHolder->IsSameMatchedApns(newMatchedApns, true)); 12782d43be4eSopenharmony_ci sptr<ApnItem> apnItemSecond = ApnItem::MakeDefaultApn(DATA_CONTEXT_ROLE_DEFAULT); 12792d43be4eSopenharmony_ci newMatchedApns.push_back(apnItemSecond); 12802d43be4eSopenharmony_ci ASSERT_FALSE(apnHolder->IsSameMatchedApns(newMatchedApns, true)); 12812d43be4eSopenharmony_ci} 12822d43be4eSopenharmony_ci 12832d43be4eSopenharmony_ci/** 12842d43be4eSopenharmony_ci * @tc.number Telephony_ApnHolder_003 12852d43be4eSopenharmony_ci * @tc.name test error branch 12862d43be4eSopenharmony_ci * @tc.desc Function test 12872d43be4eSopenharmony_ci */ 12882d43be4eSopenharmony_ciHWTEST_F(BranchTest, Telephony_ApnHolder_003, Function | MediumTest | Level3) 12892d43be4eSopenharmony_ci{ 12902d43be4eSopenharmony_ci sptr<ApnItem> newApnItem; 12912d43be4eSopenharmony_ci sptr<ApnItem> oldApnItem; 12922d43be4eSopenharmony_ci ASSERT_FALSE(ApnHolder::IsSameApnItem(newApnItem, oldApnItem, true)); 12932d43be4eSopenharmony_ci oldApnItem = ApnItem::MakeDefaultApn(DATA_CONTEXT_ROLE_DEFAULT); 12942d43be4eSopenharmony_ci ASSERT_FALSE(ApnHolder::IsSameApnItem(newApnItem, oldApnItem, true)); 12952d43be4eSopenharmony_ci newApnItem = ApnItem::MakeDefaultApn(DATA_CONTEXT_ROLE_DEFAULT); 12962d43be4eSopenharmony_ci oldApnItem = ApnItem::MakeDefaultApn(DATA_CONTEXT_ROLE_DEFAULT); 12972d43be4eSopenharmony_ci ASSERT_TRUE(ApnHolder::IsSameApnItem(newApnItem, oldApnItem, false)); 12982d43be4eSopenharmony_ci oldApnItem->CanDealWithType(DATA_CONTEXT_ROLE_DEFAULT); 12992d43be4eSopenharmony_ci oldApnItem->GetApnTypes(); 13002d43be4eSopenharmony_ci PdpProfile apnBean; 13012d43be4eSopenharmony_ci oldApnItem->MakeApn(apnBean); 13022d43be4eSopenharmony_ci oldApnItem->MarkBadApn(false); 13032d43be4eSopenharmony_ci ASSERT_FALSE(oldApnItem->IsBadApn()); 13042d43be4eSopenharmony_ci} 13052d43be4eSopenharmony_ci 13062d43be4eSopenharmony_ci/** 13072d43be4eSopenharmony_ci * @tc.number NetworkSearchCallback_Test_01 13082d43be4eSopenharmony_ci * @tc.name TestDump 13092d43be4eSopenharmony_ci * @tc.desc Function test 13102d43be4eSopenharmony_ci */ 13112d43be4eSopenharmony_ciHWTEST_F(BranchTest, NetworkSearchCallback_Test_01, Function | MediumTest | Level3) 13122d43be4eSopenharmony_ci{ 13132d43be4eSopenharmony_ci auto networkSearchCallback = std::make_shared<NetworkSearchCallback>(); 13142d43be4eSopenharmony_ci networkSearchCallback->ClearCellularDataConnections(0); 13152d43be4eSopenharmony_ci networkSearchCallback->ClearCellularDataConnections(-1); 13162d43be4eSopenharmony_ci ASSERT_FALSE(networkSearchCallback->HasInternetCapability(0, 0)); 13172d43be4eSopenharmony_ci StateNotification::GetInstance().UpdateCellularDataConnectState(0, PROFILE_STATE_DISCONNECTING, 0); 13182d43be4eSopenharmony_ci StateNotification::GetInstance().OnUpDataFlowtype(0, CellDataFlowType::DATA_FLOW_TYPE_NONE); 13192d43be4eSopenharmony_ci StateNotification::GetInstance().OnUpDataFlowtype(1, CellDataFlowType::DATA_FLOW_TYPE_UP_DOWN); 13202d43be4eSopenharmony_ci StateNotification::GetInstance().OnUpDataFlowtype(2, CellDataFlowType::DATA_FLOW_TYPE_UP_DOWN); 13212d43be4eSopenharmony_ci ASSERT_FALSE(networkSearchCallback->HasInternetCapability(-1, -1)); 13222d43be4eSopenharmony_ci} 13232d43be4eSopenharmony_ci 13242d43be4eSopenharmony_ci/** 13252d43be4eSopenharmony_ci * @tc.number Active_Test_01 13262d43be4eSopenharmony_ci * @tc.name TestDump 13272d43be4eSopenharmony_ci * @tc.desc Function test 13282d43be4eSopenharmony_ci */ 13292d43be4eSopenharmony_ciHWTEST_F(BranchTest, Active_Test_01, Function | MediumTest | Level3) 13302d43be4eSopenharmony_ci{ 13312d43be4eSopenharmony_ci std::shared_ptr<StateMachineTest> machine = std::make_shared<StateMachineTest>(); 13322d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularMachine = machine->CreateCellularDataConnect(0); 13332d43be4eSopenharmony_ci cellularMachine->Init(); 13342d43be4eSopenharmony_ci auto active = static_cast<Active *>(cellularMachine->activeState_.GetRefPtr()); 13352d43be4eSopenharmony_ci std::weak_ptr<CellularDataStateMachine> stateMachine1; 13362d43be4eSopenharmony_ci active->stateMachine_ = stateMachine1; 13372d43be4eSopenharmony_ci active->StateBegin(); 13382d43be4eSopenharmony_ci active->StateEnd(); 13392d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 13402d43be4eSopenharmony_ci event = nullptr; 13412d43be4eSopenharmony_ci active->RefreshTcpBufferSizes(); 13422d43be4eSopenharmony_ci active->RefreshConnectionBandwidths(); 13432d43be4eSopenharmony_ci active->ProcessConnectDone(event); 13442d43be4eSopenharmony_ci ASSERT_FALSE(active->StateProcess(event)); 13452d43be4eSopenharmony_ci ASSERT_FALSE(active->ProcessDisconnectDone(event)); 13462d43be4eSopenharmony_ci ASSERT_FALSE(active->ProcessDisconnectAllDone(event)); 13472d43be4eSopenharmony_ci ASSERT_FALSE(active->ProcessLostConnection(event)); 13482d43be4eSopenharmony_ci ASSERT_FALSE(active->ProcessRilAdapterHostDied(event)); 13492d43be4eSopenharmony_ci ASSERT_FALSE(active->ProcessLinkCapabilityChanged(event)); 13502d43be4eSopenharmony_ci ASSERT_FALSE(active->ProcessNrStateChanged(event)); 13512d43be4eSopenharmony_ci ASSERT_FALSE(active->ProcessNrFrequencyChanged(event)); 13522d43be4eSopenharmony_ci ASSERT_FALSE(active->ProcessDataConnectionComplete(event)); 13532d43be4eSopenharmony_ci ASSERT_FALSE(active->ProcessDataConnectionVoiceCallStartedOrEnded(event)); 13542d43be4eSopenharmony_ci ASSERT_FALSE(active->ProcessDataConnectionRoamOn(event)); 13552d43be4eSopenharmony_ci ASSERT_FALSE(active->ProcessDataConnectionRoamOff(event)); 13562d43be4eSopenharmony_ci} 13572d43be4eSopenharmony_ci 13582d43be4eSopenharmony_ci/** 13592d43be4eSopenharmony_ci * @tc.number Activating_Test_01 13602d43be4eSopenharmony_ci * @tc.name TestDump 13612d43be4eSopenharmony_ci * @tc.desc Function test 13622d43be4eSopenharmony_ci */ 13632d43be4eSopenharmony_ciHWTEST_F(BranchTest, Activating_Test_02, Function | MediumTest | Level3) 13642d43be4eSopenharmony_ci{ 13652d43be4eSopenharmony_ci std::shared_ptr<StateMachineTest> machine = std::make_shared<StateMachineTest>(); 13662d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularMachine = machine->CreateCellularDataConnect(0); 13672d43be4eSopenharmony_ci cellularMachine->Init(); 13682d43be4eSopenharmony_ci auto activating = static_cast<Activating *>(cellularMachine->activatingState_.GetRefPtr()); 13692d43be4eSopenharmony_ci std::weak_ptr<CellularDataStateMachine> stateMachine1; 13702d43be4eSopenharmony_ci activating->stateMachine_ = stateMachine1; 13712d43be4eSopenharmony_ci activating->StateBegin(); 13722d43be4eSopenharmony_ci activating->StateEnd(); 13732d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 13742d43be4eSopenharmony_ci event = nullptr; 13752d43be4eSopenharmony_ci activating->ProcessConnectTimeout(event); 13762d43be4eSopenharmony_ci ASSERT_FALSE(activating->RilActivatePdpContextDone(event)); 13772d43be4eSopenharmony_ci ASSERT_FALSE(activating->RilErrorResponse(event)); 13782d43be4eSopenharmony_ci ASSERT_FALSE(activating->StateProcess(event)); 13792d43be4eSopenharmony_ci} 13802d43be4eSopenharmony_ci 13812d43be4eSopenharmony_ci/** 13822d43be4eSopenharmony_ci * @tc.number Inactive_Test_01 13832d43be4eSopenharmony_ci * @tc.name TestDump 13842d43be4eSopenharmony_ci * @tc.desc Function test 13852d43be4eSopenharmony_ci */ 13862d43be4eSopenharmony_ciHWTEST_F(BranchTest, Inactive_Test_01, Function | MediumTest | Level3) 13872d43be4eSopenharmony_ci{ 13882d43be4eSopenharmony_ci std::shared_ptr<StateMachineTest> machine = std::make_shared<StateMachineTest>(); 13892d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularMachine = machine->CreateCellularDataConnect(0); 13902d43be4eSopenharmony_ci cellularMachine->Init(); 13912d43be4eSopenharmony_ci auto inactive = static_cast<Inactive *>(cellularMachine->inActiveState_.GetRefPtr()); 13922d43be4eSopenharmony_ci std::weak_ptr<CellularDataStateMachine> stateMachine1; 13932d43be4eSopenharmony_ci inactive->SetStateMachine(stateMachine1); 13942d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 13952d43be4eSopenharmony_ci event = nullptr; 13962d43be4eSopenharmony_ci inactive->StateBegin(); 13972d43be4eSopenharmony_ci inactive->StateEnd(); 13982d43be4eSopenharmony_ci inactive->SetDeActiveApnTypeId(0); 13992d43be4eSopenharmony_ci ASSERT_FALSE(inactive->StateProcess(event)); 14002d43be4eSopenharmony_ci} 14012d43be4eSopenharmony_ci 14022d43be4eSopenharmony_ci/** 14032d43be4eSopenharmony_ci * @tc.number Disconnecting_Test_01 14042d43be4eSopenharmony_ci * @tc.name TestDump 14052d43be4eSopenharmony_ci * @tc.desc Function test 14062d43be4eSopenharmony_ci */ 14072d43be4eSopenharmony_ciHWTEST_F(BranchTest, Disconnecting_Test_01, Function | MediumTest | Level3) 14082d43be4eSopenharmony_ci{ 14092d43be4eSopenharmony_ci std::shared_ptr<StateMachineTest> machine = std::make_shared<StateMachineTest>(); 14102d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularMachine = machine->CreateCellularDataConnect(0); 14112d43be4eSopenharmony_ci cellularMachine->Init(); 14122d43be4eSopenharmony_ci auto disconnecting = static_cast<Disconnecting *>(cellularMachine->disconnectingState_.GetRefPtr()); 14132d43be4eSopenharmony_ci std::weak_ptr<CellularDataStateMachine> stateMachine1; 14142d43be4eSopenharmony_ci disconnecting->stateMachine_ = stateMachine1; 14152d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 14162d43be4eSopenharmony_ci event = nullptr; 14172d43be4eSopenharmony_ci disconnecting->StateBegin(); 14182d43be4eSopenharmony_ci disconnecting->StateEnd(); 14192d43be4eSopenharmony_ci disconnecting->ProcessDisconnectTimeout(event); 14202d43be4eSopenharmony_ci disconnecting->ProcessRilAdapterHostDied(event); 14212d43be4eSopenharmony_ci ASSERT_FALSE(disconnecting->StateProcess(event)); 14222d43be4eSopenharmony_ci} 14232d43be4eSopenharmony_ci 14242d43be4eSopenharmony_ci/** 14252d43be4eSopenharmony_ci * @tc.number Default_Test_01 14262d43be4eSopenharmony_ci * @tc.name TestDump 14272d43be4eSopenharmony_ci * @tc.desc Function test 14282d43be4eSopenharmony_ci */ 14292d43be4eSopenharmony_ciHWTEST_F(BranchTest, Default_Test_01, Function | MediumTest | Level3) 14302d43be4eSopenharmony_ci{ 14312d43be4eSopenharmony_ci std::shared_ptr<StateMachineTest> machine = std::make_shared<StateMachineTest>(); 14322d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularMachine = machine->CreateCellularDataConnect(0); 14332d43be4eSopenharmony_ci cellularMachine->Init(); 14342d43be4eSopenharmony_ci auto mDefault = static_cast<Default *>(cellularMachine->defaultState_.GetRefPtr()); 14352d43be4eSopenharmony_ci std::weak_ptr<CellularDataStateMachine> stateMachine1; 14362d43be4eSopenharmony_ci mDefault->stateMachine_ = stateMachine1; 14372d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 14382d43be4eSopenharmony_ci event = nullptr; 14392d43be4eSopenharmony_ci mDefault->StateBegin(); 14402d43be4eSopenharmony_ci mDefault->StateEnd(); 14412d43be4eSopenharmony_ci ASSERT_FALSE(mDefault->StateProcess(event)); 14422d43be4eSopenharmony_ci ASSERT_FALSE(mDefault->ProcessConnectDone(event)); 14432d43be4eSopenharmony_ci ASSERT_FALSE(mDefault->ProcessDisconnectDone(event)); 14442d43be4eSopenharmony_ci ASSERT_FALSE(mDefault->ProcessDisconnectAllDone(event)); 14452d43be4eSopenharmony_ci ASSERT_FALSE(mDefault->ProcessDataConnectionDrsOrRatChanged(event)); 14462d43be4eSopenharmony_ci ASSERT_FALSE(mDefault->ProcessDataConnectionRoamOn(event)); 14472d43be4eSopenharmony_ci ASSERT_FALSE(mDefault->ProcessDataConnectionRoamOff(event)); 14482d43be4eSopenharmony_ci} 14492d43be4eSopenharmony_ci 14502d43be4eSopenharmony_ci/** 14512d43be4eSopenharmony_ci * @tc.number ApnManager_Test_01 14522d43be4eSopenharmony_ci * @tc.name TestDump 14532d43be4eSopenharmony_ci * @tc.desc Function test 14542d43be4eSopenharmony_ci */ 14552d43be4eSopenharmony_ciHWTEST_F(BranchTest, ApnManager_Test_01, Function | MediumTest | Level3) 14562d43be4eSopenharmony_ci{ 14572d43be4eSopenharmony_ci auto apnManager = std::make_shared<ApnManager>(); 14582d43be4eSopenharmony_ci EXPECT_GE(apnManager->CreateAllApnItemByDatabase(0), 0); 14592d43be4eSopenharmony_ci EXPECT_EQ(apnManager->CreateAllApnItemByDatabase(0), 0); 14602d43be4eSopenharmony_ci apnManager->ResetApns(0); 14612d43be4eSopenharmony_ci std::string operatorNumeric = "46011"; 14622d43be4eSopenharmony_ci apnManager->GetCTOperator(0, operatorNumeric); 14632d43be4eSopenharmony_ci EXPECT_EQ(operatorNumeric, "46011"); 14642d43be4eSopenharmony_ci apnManager->GetApnHolder(DATA_CONTEXT_ROLE_DEFAULT); 14652d43be4eSopenharmony_ci apnManager->ClearAllApnBad(); 14662d43be4eSopenharmony_ci apnManager->FindApnNameByApnId(1); 14672d43be4eSopenharmony_ci std::shared_ptr<StateMachineTest> machine = std::make_shared<StateMachineTest>(); 14682d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularMachine = machine->CreateCellularDataConnect(0); 14692d43be4eSopenharmony_ci cellularMachine->Init(); 14702d43be4eSopenharmony_ci ASSERT_TRUE(apnManager->IsDataConnectionNotUsed(cellularMachine)); 14712d43be4eSopenharmony_ci auto helper = CellularDataRdbHelper::GetInstance(); 14722d43be4eSopenharmony_ci helper->ResetApns(0); 14732d43be4eSopenharmony_ci std::shared_ptr<DataShare::DataShareResultSet> result = nullptr; 14742d43be4eSopenharmony_ci std::vector<PdpProfile> apnVec; 14752d43be4eSopenharmony_ci helper->ReadMvnoApnResult(result, "", apnVec); 14762d43be4eSopenharmony_ci PdpProfile apnBean; 14772d43be4eSopenharmony_ci ASSERT_FALSE(helper->IsMvnoDataMatched("", apnBean)); 14782d43be4eSopenharmony_ci apnBean.mvnoType = MvnoType::ICCID; 14792d43be4eSopenharmony_ci apnBean.mvnoMatchData = "test"; 14802d43be4eSopenharmony_ci ASSERT_TRUE(helper->IsMvnoDataMatched("test", apnBean)); 14812d43be4eSopenharmony_ci apnBean.mvnoType = MvnoType::SPN; 14822d43be4eSopenharmony_ci ASSERT_TRUE(helper->IsMvnoDataMatched("test", apnBean)); 14832d43be4eSopenharmony_ci apnBean.mvnoType = MvnoType::GID1; 14842d43be4eSopenharmony_ci ASSERT_TRUE(helper->IsMvnoDataMatched("test", apnBean)); 14852d43be4eSopenharmony_ci apnBean.mvnoType = MvnoType::IMSI; 14862d43be4eSopenharmony_ci ASSERT_TRUE(helper->IsMvnoDataMatched("test", apnBean)); 14872d43be4eSopenharmony_ci apnBean.mvnoType = "error"; 14882d43be4eSopenharmony_ci ASSERT_FALSE(helper->IsMvnoDataMatched("test", apnBean)); 14892d43be4eSopenharmony_ci helper->QueryPreferApn(0, apnVec); 14902d43be4eSopenharmony_ci ASSERT_FALSE(helper->QueryPreferApn(-1, apnVec)); 14912d43be4eSopenharmony_ci} 14922d43be4eSopenharmony_ci 14932d43be4eSopenharmony_ci/** 14942d43be4eSopenharmony_ci * @tc.number IsMvnoDataMatched_Test_01 14952d43be4eSopenharmony_ci * @tc.name Test IsMvnoDataMatched 14962d43be4eSopenharmony_ci * @tc.desc Function test 14972d43be4eSopenharmony_ci */ 14982d43be4eSopenharmony_ciHWTEST_F(BranchTest, IsMvnoDataMatched_Test_01, Function | MediumTest | Level3) 14992d43be4eSopenharmony_ci{ 15002d43be4eSopenharmony_ci auto helper = CellularDataRdbHelper::GetInstance(); 15012d43be4eSopenharmony_ci PdpProfile apnBean; 15022d43be4eSopenharmony_ci ASSERT_EQ(apnBean.mvnoMatchData, ""); 15032d43be4eSopenharmony_ci ASSERT_EQ(apnBean.mvnoType, ""); 15042d43be4eSopenharmony_ci ASSERT_FALSE(helper->IsMvnoDataMatched("", apnBean)); 15052d43be4eSopenharmony_ci 15062d43be4eSopenharmony_ci apnBean.mvnoType = MvnoType::ICCID; 15072d43be4eSopenharmony_ci apnBean.mvnoMatchData = ""; 15082d43be4eSopenharmony_ci ASSERT_FALSE(helper->IsMvnoDataMatched("test", apnBean)); 15092d43be4eSopenharmony_ci 15102d43be4eSopenharmony_ci apnBean.mvnoType = MvnoType::SPN; 15112d43be4eSopenharmony_ci apnBean.mvnoMatchData = "\\"; 15122d43be4eSopenharmony_ci ASSERT_FALSE(helper->IsMvnoDataMatched("test", apnBean)); 15132d43be4eSopenharmony_ci 15142d43be4eSopenharmony_ci apnBean.mvnoType = MvnoType::IMSI; 15152d43be4eSopenharmony_ci apnBean.mvnoMatchData = ""; 15162d43be4eSopenharmony_ci ASSERT_FALSE(helper->IsMvnoDataMatched("test", apnBean)); 15172d43be4eSopenharmony_ci 15182d43be4eSopenharmony_ci apnBean.mvnoType = MvnoType::GID1; 15192d43be4eSopenharmony_ci ASSERT_TRUE(helper->IsMvnoDataMatched("test", apnBean)); 15202d43be4eSopenharmony_ci} 15212d43be4eSopenharmony_ci 15222d43be4eSopenharmony_ci/** 15232d43be4eSopenharmony_ci * @tc.number IdleState_Test_01 15242d43be4eSopenharmony_ci * @tc.name test error branch 15252d43be4eSopenharmony_ci * @tc.desc Function test 15262d43be4eSopenharmony_ci */ 15272d43be4eSopenharmony_ciHWTEST_F(BranchTest, Idle_Test_01, Function | MediumTest | Level3) 15282d43be4eSopenharmony_ci{ 15292d43be4eSopenharmony_ci std::shared_ptr<IncallStateMachineTest> incallStateMachineTest = std::make_shared<IncallStateMachineTest>(); 15302d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 15312d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 15322d43be4eSopenharmony_ci incallStateMachine->Init(TelCallStatus::CALL_STATUS_DIALING); 15332d43be4eSopenharmony_ci incallStateMachine->GetCurrentState(); 15342d43be4eSopenharmony_ci incallStateMachine->GetSlotId(); 15352d43be4eSopenharmony_ci incallStateMachine->GetCallState(); 15362d43be4eSopenharmony_ci incallStateMachine->HasAnyConnectedState(); 15372d43be4eSopenharmony_ci incallStateMachine->UpdateCallState(TelCallStatus::CALL_STATUS_ALERTING); 15382d43be4eSopenharmony_ci incallStateMachine->IsIncallDataSwitchOn(); 15392d43be4eSopenharmony_ci incallStateMachine->IsSecondaryCanActiveData(); 15402d43be4eSopenharmony_ci incallStateMachine->CanActiveDataByRadioTech(); 15412d43be4eSopenharmony_ci auto idleState = static_cast<IdleState *>(incallStateMachine->idleState_.GetRefPtr()); 15422d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 15432d43be4eSopenharmony_ci event = nullptr; 15442d43be4eSopenharmony_ci idleState->StateBegin(); 15452d43be4eSopenharmony_ci ASSERT_FALSE(idleState->StateProcess(event)); 15462d43be4eSopenharmony_ci ASSERT_TRUE(idleState->ProcessCallStarted(event)); 15472d43be4eSopenharmony_ci ASSERT_TRUE(idleState->ProcessCallEnded(event)); 15482d43be4eSopenharmony_ci ASSERT_TRUE(idleState->ProcessSettingsOn(event)); 15492d43be4eSopenharmony_ci ASSERT_TRUE(idleState->ProcessDsdsChanged(event)); 15502d43be4eSopenharmony_ci idleState->StateEnd(); 15512d43be4eSopenharmony_ci} 15522d43be4eSopenharmony_ci 15532d43be4eSopenharmony_ci/** 15542d43be4eSopenharmony_ci * @tc.number ActivatingSecondaryState_Test_01 15552d43be4eSopenharmony_ci * @tc.name test error branch 15562d43be4eSopenharmony_ci * @tc.desc Function test 15572d43be4eSopenharmony_ci */ 15582d43be4eSopenharmony_ciHWTEST_F(BranchTest, ActivatingSecondaryState_Test_01, Function | MediumTest | Level3) 15592d43be4eSopenharmony_ci{ 15602d43be4eSopenharmony_ci std::shared_ptr<IncallStateMachineTest> incallStateMachineTest = std::make_shared<IncallStateMachineTest>(); 15612d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 15622d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 15632d43be4eSopenharmony_ci incallStateMachine->Init(TelCallStatus::CALL_STATUS_DIALING); 15642d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->activatingSecondaryState_); 15652d43be4eSopenharmony_ci auto activatingSecondaryState = 15662d43be4eSopenharmony_ci static_cast<ActivatingSecondaryState *>(incallStateMachine->activatingSecondaryState_.GetRefPtr()); 15672d43be4eSopenharmony_ci auto secondaryActiveState = 15682d43be4eSopenharmony_ci static_cast<SecondaryActiveState *>(incallStateMachine->secondaryActiveState_.GetRefPtr()); 15692d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 15702d43be4eSopenharmony_ci event = nullptr; 15712d43be4eSopenharmony_ci secondaryActiveState->StateBegin(); 15722d43be4eSopenharmony_ci activatingSecondaryState->StateBegin(); 15732d43be4eSopenharmony_ci ASSERT_FALSE(activatingSecondaryState->StateProcess(event)); 15742d43be4eSopenharmony_ci ASSERT_FALSE(secondaryActiveState->StateProcess(event)); 15752d43be4eSopenharmony_ci ASSERT_TRUE(secondaryActiveState->ProcessSettingsOn(event)); 15762d43be4eSopenharmony_ci ASSERT_TRUE(secondaryActiveState->ProcessCallEnded(event)); 15772d43be4eSopenharmony_ci ASSERT_TRUE(secondaryActiveState->ProcessSettingsOff(event)); 15782d43be4eSopenharmony_ci ASSERT_TRUE(secondaryActiveState->ProcessDsdsChanged(event)); 15792d43be4eSopenharmony_ci activatingSecondaryState->StateEnd(); 15802d43be4eSopenharmony_ci secondaryActiveState->StateEnd(); 15812d43be4eSopenharmony_ci} 15822d43be4eSopenharmony_ci 15832d43be4eSopenharmony_ci/** 15842d43be4eSopenharmony_ci * @tc.number ActivatedSecondaryState_Test_01 15852d43be4eSopenharmony_ci * @tc.name test error branch 15862d43be4eSopenharmony_ci * @tc.desc Function test 15872d43be4eSopenharmony_ci */ 15882d43be4eSopenharmony_ciHWTEST_F(BranchTest, ActivatedSecondaryState_Test_01, Function | MediumTest | Level3) 15892d43be4eSopenharmony_ci{ 15902d43be4eSopenharmony_ci std::shared_ptr<IncallStateMachineTest> incallStateMachineTest = std::make_shared<IncallStateMachineTest>(); 15912d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 15922d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 15932d43be4eSopenharmony_ci incallStateMachine->Init(TelCallStatus::CALL_STATUS_DIALING); 15942d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->activatingSecondaryState_); 15952d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->activatedSecondaryState_); 15962d43be4eSopenharmony_ci auto activatedSecondaryState = 15972d43be4eSopenharmony_ci static_cast<ActivatedSecondaryState *>(incallStateMachine->activatedSecondaryState_.GetRefPtr()); 15982d43be4eSopenharmony_ci auto secondaryActiveState = 15992d43be4eSopenharmony_ci static_cast<SecondaryActiveState *>(incallStateMachine->secondaryActiveState_.GetRefPtr()); 16002d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 16012d43be4eSopenharmony_ci event = nullptr; 16022d43be4eSopenharmony_ci secondaryActiveState->StateBegin(); 16032d43be4eSopenharmony_ci activatedSecondaryState->StateBegin(); 16042d43be4eSopenharmony_ci ASSERT_FALSE(activatedSecondaryState->StateProcess(event)); 16052d43be4eSopenharmony_ci ASSERT_FALSE(secondaryActiveState->StateProcess(event)); 16062d43be4eSopenharmony_ci ASSERT_TRUE(secondaryActiveState->ProcessCallEnded(event)); 16072d43be4eSopenharmony_ci ASSERT_TRUE(secondaryActiveState->ProcessSettingsOff(event)); 16082d43be4eSopenharmony_ci activatedSecondaryState->StateEnd(); 16092d43be4eSopenharmony_ci secondaryActiveState->StateEnd(); 16102d43be4eSopenharmony_ci} 16112d43be4eSopenharmony_ci 16122d43be4eSopenharmony_ci/** 16132d43be4eSopenharmony_ci * @tc.number DeactivatingSecondaryState_Test_01 16142d43be4eSopenharmony_ci * @tc.name test error branch 16152d43be4eSopenharmony_ci * @tc.desc Function test 16162d43be4eSopenharmony_ci */ 16172d43be4eSopenharmony_ciHWTEST_F(BranchTest, DeactivatingSecondaryState_Test_01, Function | MediumTest | Level3) 16182d43be4eSopenharmony_ci{ 16192d43be4eSopenharmony_ci std::shared_ptr<IncallStateMachineTest> incallStateMachineTest = std::make_shared<IncallStateMachineTest>(); 16202d43be4eSopenharmony_ci std::shared_ptr<IncallDataStateMachine> incallStateMachine = 16212d43be4eSopenharmony_ci incallStateMachineTest->CreateIncallDataStateMachine(0); 16222d43be4eSopenharmony_ci incallStateMachine->Init(TelCallStatus::CALL_STATUS_DIALING); 16232d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->activatingSecondaryState_); 16242d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->activatedSecondaryState_); 16252d43be4eSopenharmony_ci incallStateMachine->TransitionTo(incallStateMachine->deactivatingSecondaryState_); 16262d43be4eSopenharmony_ci auto deactivatingSecondaryState = 16272d43be4eSopenharmony_ci static_cast<DeactivatingSecondaryState *>(incallStateMachine->deactivatingSecondaryState_.GetRefPtr()); 16282d43be4eSopenharmony_ci auto event = AppExecFwk::InnerEvent::Get(0); 16292d43be4eSopenharmony_ci event = nullptr; 16302d43be4eSopenharmony_ci deactivatingSecondaryState->StateBegin(); 16312d43be4eSopenharmony_ci ASSERT_FALSE(deactivatingSecondaryState->StateProcess(event)); 16322d43be4eSopenharmony_ci deactivatingSecondaryState->StateEnd(); 16332d43be4eSopenharmony_ci} 16342d43be4eSopenharmony_ci 16352d43be4eSopenharmony_ci/** 16362d43be4eSopenharmony_ci * @tc.number GetIpType_Test_01 16372d43be4eSopenharmony_ci * @tc.name TestDump 16382d43be4eSopenharmony_ci * @tc.desc Function test 16392d43be4eSopenharmony_ci */ 16402d43be4eSopenharmony_ciHWTEST_F(BranchTest, GetIpType_Test_01, Function | MediumTest | Level3) 16412d43be4eSopenharmony_ci{ 16422d43be4eSopenharmony_ci std::shared_ptr<StateMachineTest> machine = std::make_shared<StateMachineTest>(); 16432d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularMachine = machine->CreateCellularDataConnect(0); 16442d43be4eSopenharmony_ci cellularMachine->Init(); 16452d43be4eSopenharmony_ci std::string result = ""; 16462d43be4eSopenharmony_ci std::string address = ""; 16472d43be4eSopenharmony_ci std::vector<AddressInfo> ipInfoArray = CellularDataUtils::ParseIpAddr(address); 16482d43be4eSopenharmony_ci result = cellularMachine->GetIpType(ipInfoArray); 16492d43be4eSopenharmony_ci ASSERT_TRUE(result == ""); 16502d43be4eSopenharmony_ci} 16512d43be4eSopenharmony_ci 16522d43be4eSopenharmony_ci/** 16532d43be4eSopenharmony_ci * @tc.number DataSwitchSettings_Test_01 16542d43be4eSopenharmony_ci * @tc.name test error branch 16552d43be4eSopenharmony_ci * @tc.desc Function test 16562d43be4eSopenharmony_ci */ 16572d43be4eSopenharmony_ciHWTEST_F(BranchTest, DataSwitchSettings_Test_01, Function | MediumTest | Level3) 16582d43be4eSopenharmony_ci{ 16592d43be4eSopenharmony_ci std::unique_ptr<DataSwitchSettings> dataSwitchSettings = std::make_unique<DataSwitchSettings>(0); 16602d43be4eSopenharmony_ci dataSwitchSettings->LoadSwitchValue(); 16612d43be4eSopenharmony_ci bool status = true; 16622d43be4eSopenharmony_ci dataSwitchSettings->QueryUserDataStatus(status); 16632d43be4eSopenharmony_ci dataSwitchSettings->QueryUserDataRoamingStatus(status); 16642d43be4eSopenharmony_ci dataSwitchSettings->QueryIntelligenceSwitchStatus(status); 16652d43be4eSopenharmony_ci dataSwitchSettings->SetPolicyDataOn(true); 16662d43be4eSopenharmony_ci ASSERT_TRUE(dataSwitchSettings->IsPolicyDataOn()); 16672d43be4eSopenharmony_ci dataSwitchSettings->IsAllowActiveData(); 16682d43be4eSopenharmony_ci dataSwitchSettings->SetUserDataOn(true); 16692d43be4eSopenharmony_ci dataSwitchSettings->IsUserDataOn(); 16702d43be4eSopenharmony_ci dataSwitchSettings->SetCarrierDataOn(true); 16712d43be4eSopenharmony_ci ASSERT_TRUE(dataSwitchSettings->IsCarrierDataOn()); 16722d43be4eSopenharmony_ci dataSwitchSettings->SetUserDataRoamingOn(true); 16732d43be4eSopenharmony_ci dataSwitchSettings->IsUserDataRoamingOn(); 16742d43be4eSopenharmony_ci dataSwitchSettings->SetInternalDataOn(true); 16752d43be4eSopenharmony_ci ASSERT_TRUE(dataSwitchSettings->IsInternalDataOn()); 16762d43be4eSopenharmony_ci dataSwitchSettings->SetIntelliSwitchOn(true); 16772d43be4eSopenharmony_ci dataSwitchSettings->UpdateUserDataRoamingOn(false); 16782d43be4eSopenharmony_ci ASSERT_FALSE(dataSwitchSettings->IsUserDataRoamingOn()); 16792d43be4eSopenharmony_ci} 16802d43be4eSopenharmony_ci 16812d43be4eSopenharmony_ci/** 16822d43be4eSopenharmony_ci * @tc.number CellularDataStateMachine_Test_01 16832d43be4eSopenharmony_ci * @tc.name test error branch 16842d43be4eSopenharmony_ci * @tc.desc Function test 16852d43be4eSopenharmony_ci */ 16862d43be4eSopenharmony_ciHWTEST_F(BranchTest, CellularDataStateMachine_Test_01, Function | MediumTest | Level3) 16872d43be4eSopenharmony_ci{ 16882d43be4eSopenharmony_ci std::shared_ptr<StateMachineTest> machine = std::make_shared<StateMachineTest>(); 16892d43be4eSopenharmony_ci std::shared_ptr<CellularDataStateMachine> cellularMachine = machine->CreateCellularDataConnect(0); 16902d43be4eSopenharmony_ci cellularMachine->IsInactiveState(); 16912d43be4eSopenharmony_ci uint64_t capability = 1; 16922d43be4eSopenharmony_ci cellularMachine->SetCapability(capability); 16932d43be4eSopenharmony_ci cellularMachine->GetCapability(); 16942d43be4eSopenharmony_ci const int32_t cid = 1; 16952d43be4eSopenharmony_ci cellularMachine->SetCid(cid); 16962d43be4eSopenharmony_ci cellularMachine->GetSlotId(); 16972d43be4eSopenharmony_ci cellularMachine->GetApnItem(); 16982d43be4eSopenharmony_ci cellularMachine->GetCurrentState(); 16992d43be4eSopenharmony_ci const uint32_t upBandwidth = 0; 17002d43be4eSopenharmony_ci const uint32_t downBandwidth = 0; 17012d43be4eSopenharmony_ci cellularMachine->SetConnectionBandwidth(upBandwidth, downBandwidth); 17022d43be4eSopenharmony_ci const std::string tcpBuffer = ""; 17032d43be4eSopenharmony_ci cellularMachine->SetConnectionTcpBuffer(tcpBuffer); 17042d43be4eSopenharmony_ci std::string proxyIpAddress = "1234:567"; 17052d43be4eSopenharmony_ci std::string host = ""; 17062d43be4eSopenharmony_ci uint16_t port = 0; 17072d43be4eSopenharmony_ci cellularMachine->SplitProxyIpAddress(proxyIpAddress, host, port); 17082d43be4eSopenharmony_ci EXPECT_EQ(host, "1234"); 17092d43be4eSopenharmony_ci EXPECT_EQ(port, 567); 17102d43be4eSopenharmony_ci EXPECT_TRUE(cellularMachine != nullptr); 17112d43be4eSopenharmony_ci CellularDataDumpHelper dumpHelper; 17122d43be4eSopenharmony_ci std::string result = ""; 17132d43be4eSopenharmony_ci dumpHelper.ShowHelp(result); 17142d43be4eSopenharmony_ci EXPECT_GE(result.size(), 0); 17152d43be4eSopenharmony_ci} 17162d43be4eSopenharmony_ci 17172d43be4eSopenharmony_ci/** 17182d43be4eSopenharmony_ci * @tc.number CellularDataUtils_Test_01 17192d43be4eSopenharmony_ci * @tc.name test error branch 17202d43be4eSopenharmony_ci * @tc.desc Function test 17212d43be4eSopenharmony_ci */ 17222d43be4eSopenharmony_ciHWTEST_F(BranchTest, CellularDataUtils_Test_01, Function | MediumTest | Level3) 17232d43be4eSopenharmony_ci{ 17242d43be4eSopenharmony_ci CellularDataUtils::ParseNormalIpAddr(ADDRESS); 17252d43be4eSopenharmony_ci CellularDataUtils::ParseRoute(ADDRESS); 17262d43be4eSopenharmony_ci CellularDataUtils::GetPrefixLen(ADDRESS, FLAG); 17272d43be4eSopenharmony_ci auto cellularDataHiSysEvent = DelayedSingleton<CellularDataHiSysEvent>::GetInstance(); 17282d43be4eSopenharmony_ci cellularDataHiSysEvent->WriteRoamingConnectStateBehaviorEvent(1); 17292d43be4eSopenharmony_ci cellularDataHiSysEvent->SetCellularDataActivateStartTime(); 17302d43be4eSopenharmony_ci cellularDataHiSysEvent->JudgingDataActivateTimeOut(0, 1); 17312d43be4eSopenharmony_ci std::shared_ptr<DataConnectionMonitor> dataConnectionMonitor = std::make_shared<DataConnectionMonitor>(0); 17322d43be4eSopenharmony_ci dataConnectionMonitor->HandleRecovery(); 17332d43be4eSopenharmony_ci dataConnectionMonitor->GetPdpContextList(); 17342d43be4eSopenharmony_ci dataConnectionMonitor->SetRadioState(0, RadioEvent::RADIO_ON); 17352d43be4eSopenharmony_ci dataConnectionMonitor->GetPreferredNetworkPara(); 17362d43be4eSopenharmony_ci dataConnectionMonitor->GetDataFlowType(); 17372d43be4eSopenharmony_ci dataConnectionMonitor->IsNeedDoRecovery(true); 17382d43be4eSopenharmony_ci dataConnectionMonitor->IsNeedDoRecovery(false); 17392d43be4eSopenharmony_ci auto cellularDataService = DelayedSingleton<CellularDataService>::GetInstance(); 17402d43be4eSopenharmony_ci MessageParcel data; 17412d43be4eSopenharmony_ci MessageParcel reply; 17422d43be4eSopenharmony_ci EXPECT_GE(cellularDataService->OnIsCellularDataEnabled(data, reply), 0); 17432d43be4eSopenharmony_ci EXPECT_GE(cellularDataService->OnEnableCellularData(data, reply), 0); 17442d43be4eSopenharmony_ci EXPECT_GE(cellularDataService->OnGetCellularDataState(data, reply), 0); 17452d43be4eSopenharmony_ci EXPECT_GE(cellularDataService->OnIsCellularDataRoamingEnabled(data, reply), 0); 17462d43be4eSopenharmony_ci EXPECT_GE(cellularDataService->OnEnableCellularDataRoaming(data, reply), 0); 17472d43be4eSopenharmony_ci EXPECT_GE(cellularDataService->OnHandleApnChanged(data, reply), 0); 17482d43be4eSopenharmony_ci cellularDataService->OnGetDefaultCellularDataSlotId(data, reply); 17492d43be4eSopenharmony_ci EXPECT_GE(cellularDataService->OnGetDefaultCellularDataSimId(data, reply), 0); 17502d43be4eSopenharmony_ci EXPECT_GE(cellularDataService->OnSetDefaultCellularDataSlotId(data, reply), 0); 17512d43be4eSopenharmony_ci EXPECT_GE(cellularDataService->OnGetCellularDataFlowType(data, reply), 0); 17522d43be4eSopenharmony_ci EXPECT_GE(cellularDataService->OnHasInternetCapability(data, reply), 0); 17532d43be4eSopenharmony_ci EXPECT_GE(cellularDataService->OnClearCellularDataConnections(data, reply), 0); 17542d43be4eSopenharmony_ci EXPECT_GE(cellularDataService->OnRegisterSimAccountCallback(data, reply), 0); 17552d43be4eSopenharmony_ci EXPECT_GE(cellularDataService->OnUnregisterSimAccountCallback(data, reply), 0); 17562d43be4eSopenharmony_ci EXPECT_GE(cellularDataService->OnEnableIntelligenceSwitch(data, reply), 0); 17572d43be4eSopenharmony_ci EXPECT_GE(cellularDataService->OnGetDataConnApnAttr(data, reply), 0); 17582d43be4eSopenharmony_ci EXPECT_GE(cellularDataService->OnGetDataConnIpType(data, reply), 0); 17592d43be4eSopenharmony_ci EXPECT_GE(cellularDataService->OnGetApnState(data, reply), 0); 17602d43be4eSopenharmony_ci EXPECT_GE(cellularDataService->OnGetRecoveryState(data, reply), 0); 17612d43be4eSopenharmony_ci EXPECT_GE(cellularDataService->OnIsNeedDoRecovery(data, reply), 0); 17622d43be4eSopenharmony_ci EXPECT_GE(cellularDataService->OnIsNeedDoRecovery(data, reply), 0); 17632d43be4eSopenharmony_ci EXPECT_GE(cellularDataService->OnClearAllConnections(data, reply), 0); 17642d43be4eSopenharmony_ci} 17652d43be4eSopenharmony_ci 17662d43be4eSopenharmony_ci/** 17672d43be4eSopenharmony_ci * @tc.number CellularDataSettingsRdbHelper_Test_01 17682d43be4eSopenharmony_ci * @tc.name test error branch 17692d43be4eSopenharmony_ci * @tc.desc Function test 17702d43be4eSopenharmony_ci */ 17712d43be4eSopenharmony_ciHWTEST_F(BranchTest, CellularDataSettingsRdbHelper_Test_01, Function | MediumTest | Level3) 17722d43be4eSopenharmony_ci{ 17732d43be4eSopenharmony_ci auto settingHelper = CellularDataSettingsRdbHelper::GetInstance(); 17742d43be4eSopenharmony_ci if (settingHelper == nullptr) { 17752d43be4eSopenharmony_ci TELEPHONY_LOGE("settingHelper is null"); 17762d43be4eSopenharmony_ci return; 17772d43be4eSopenharmony_ci } 17782d43be4eSopenharmony_ci Uri dataEnableUri(CELLULAR_DATA_SETTING_DATA_ROAMING_URI); 17792d43be4eSopenharmony_ci settingHelper->RegisterSettingsObserver(dataEnableUri, nullptr); 17802d43be4eSopenharmony_ci settingHelper->UnRegisterSettingsObserver(dataEnableUri, nullptr); 17812d43be4eSopenharmony_ci EXPECT_TRUE(settingHelper != nullptr); 17822d43be4eSopenharmony_ci} 17832d43be4eSopenharmony_ci 17842d43be4eSopenharmony_ci/** 17852d43be4eSopenharmony_ci * @tc.number FindBestCapability_Test_01 17862d43be4eSopenharmony_ci * @tc.name test branch 17872d43be4eSopenharmony_ci * @tc.desc Function test 17882d43be4eSopenharmony_ci */ 17892d43be4eSopenharmony_ciHWTEST_F(BranchTest, FindBestCapability_Test_01, Function | MediumTest | Level3) 17902d43be4eSopenharmony_ci{ 17912d43be4eSopenharmony_ci auto apnManager = std::make_shared<ApnManager>(); 17922d43be4eSopenharmony_ci 17932d43be4eSopenharmony_ci uint64_t capabilities = 1L << NetManagerStandard::NetCap::NET_CAPABILITY_INTERNET; 17942d43be4eSopenharmony_ci auto ret = apnManager->FindBestCapability(capabilities); 17952d43be4eSopenharmony_ci EXPECT_EQ(ret, NetManagerStandard::NetCap::NET_CAPABILITY_INTERNET); 17962d43be4eSopenharmony_ci 17972d43be4eSopenharmony_ci capabilities |= 1L << NetManagerStandard::NetCap::NET_CAPABILITY_INTERNAL_DEFAULT; 17982d43be4eSopenharmony_ci ret = apnManager->FindBestCapability(capabilities); 17992d43be4eSopenharmony_ci EXPECT_EQ(ret, NetManagerStandard::NetCap::NET_CAPABILITY_INTERNAL_DEFAULT); 18002d43be4eSopenharmony_ci 18012d43be4eSopenharmony_ci capabilities |= 1L << NetManagerStandard::NetCap::NET_CAPABILITY_MMS; 18022d43be4eSopenharmony_ci ret = apnManager->FindBestCapability(capabilities); 18032d43be4eSopenharmony_ci EXPECT_EQ(ret, NetManagerStandard::NetCap::NET_CAPABILITY_MMS); 18042d43be4eSopenharmony_ci} 18052d43be4eSopenharmony_ci 18062d43be4eSopenharmony_ci/** 18072d43be4eSopenharmony_ci * @tc.number GetOverallDefaultApnState_Test_01 18082d43be4eSopenharmony_ci * @tc.name test branch 18092d43be4eSopenharmony_ci * @tc.desc Function test 18102d43be4eSopenharmony_ci */ 18112d43be4eSopenharmony_ciHWTEST_F(BranchTest, GetOverallDefaultApnState_Test_01, Function | MediumTest | Level3) 18122d43be4eSopenharmony_ci{ 18132d43be4eSopenharmony_ci auto apnManager = std::make_shared<ApnManager>(); 18142d43be4eSopenharmony_ci apnManager->InitApnHolders(); 18152d43be4eSopenharmony_ci auto &apnHolders = apnManager->apnHolders_; 18162d43be4eSopenharmony_ci for (auto &apnHolder : apnHolders) { 18172d43be4eSopenharmony_ci if (apnHolder->GetApnType() == DATA_CONTEXT_ROLE_DEFAULT) { 18182d43be4eSopenharmony_ci apnHolder->SetApnState(ApnProfileState::PROFILE_STATE_IDLE); 18192d43be4eSopenharmony_ci } 18202d43be4eSopenharmony_ci if (apnHolder->GetApnType() == DATA_CONTEXT_ROLE_INTERNAL_DEFAULT) { 18212d43be4eSopenharmony_ci apnHolder->SetApnState(ApnProfileState::PROFILE_STATE_IDLE); 18222d43be4eSopenharmony_ci } 18232d43be4eSopenharmony_ci } 18242d43be4eSopenharmony_ci auto ret = apnManager->GetOverallDefaultApnState(); 18252d43be4eSopenharmony_ci EXPECT_EQ(ret, ApnProfileState::PROFILE_STATE_IDLE); 18262d43be4eSopenharmony_ci 18272d43be4eSopenharmony_ci for (auto &apnHolder : apnHolders) { 18282d43be4eSopenharmony_ci if (apnHolder->GetApnType() == DATA_CONTEXT_ROLE_DEFAULT) { 18292d43be4eSopenharmony_ci apnHolder->SetApnState(ApnProfileState::PROFILE_STATE_CONNECTING); 18302d43be4eSopenharmony_ci } 18312d43be4eSopenharmony_ci if (apnHolder->GetApnType() == DATA_CONTEXT_ROLE_INTERNAL_DEFAULT) { 18322d43be4eSopenharmony_ci apnHolder->SetApnState(ApnProfileState::PROFILE_STATE_IDLE); 18332d43be4eSopenharmony_ci } 18342d43be4eSopenharmony_ci } 18352d43be4eSopenharmony_ci ret = apnManager->GetOverallDefaultApnState(); 18362d43be4eSopenharmony_ci EXPECT_EQ(ret, ApnProfileState::PROFILE_STATE_CONNECTING); 18372d43be4eSopenharmony_ci 18382d43be4eSopenharmony_ci for (auto &apnHolder : apnHolders) { 18392d43be4eSopenharmony_ci if (apnHolder->GetApnType() == DATA_CONTEXT_ROLE_DEFAULT) { 18402d43be4eSopenharmony_ci apnHolder->SetApnState(ApnProfileState::PROFILE_STATE_IDLE); 18412d43be4eSopenharmony_ci } 18422d43be4eSopenharmony_ci if (apnHolder->GetApnType() == DATA_CONTEXT_ROLE_INTERNAL_DEFAULT) { 18432d43be4eSopenharmony_ci apnHolder->SetApnState(ApnProfileState::PROFILE_STATE_CONNECTING); 18442d43be4eSopenharmony_ci } 18452d43be4eSopenharmony_ci } 18462d43be4eSopenharmony_ci ret = apnManager->GetOverallDefaultApnState(); 18472d43be4eSopenharmony_ci EXPECT_EQ(ret, ApnProfileState::PROFILE_STATE_CONNECTING); 18482d43be4eSopenharmony_ci} 18492d43be4eSopenharmony_ci 18502d43be4eSopenharmony_ci/** 18512d43be4eSopenharmony_ci * @tc.number ParseIpAddr_001 18522d43be4eSopenharmony_ci * @tc.name test branch 18532d43be4eSopenharmony_ci * @tc.desc Function test 18542d43be4eSopenharmony_ci */ 18552d43be4eSopenharmony_ciHWTEST_F(BranchTest, ParseIpAddr_001, Function | MediumTest | Level0) 18562d43be4eSopenharmony_ci{ 18572d43be4eSopenharmony_ci std::string address = ""; 18582d43be4eSopenharmony_ci std::vector<AddressInfo> ipInfoArray = CellularDataUtils::ParseIpAddr(address); 18592d43be4eSopenharmony_ci EXPECT_EQ(ipInfoArray.size(), 0); 18602d43be4eSopenharmony_ci} 18612d43be4eSopenharmony_ci 18622d43be4eSopenharmony_ci/** 18632d43be4eSopenharmony_ci * @tc.number ParseIpAddr_002 18642d43be4eSopenharmony_ci * @tc.name test branch 18652d43be4eSopenharmony_ci * @tc.desc Function test 18662d43be4eSopenharmony_ci */ 18672d43be4eSopenharmony_ciHWTEST_F(BranchTest, ParseIpAddr_002, Function | MediumTest | Level0) 18682d43be4eSopenharmony_ci{ 18692d43be4eSopenharmony_ci std::string address = "192.000.1.1/24"; 18702d43be4eSopenharmony_ci std::vector<AddressInfo> ipInfoArray = CellularDataUtils::ParseIpAddr(address); 18712d43be4eSopenharmony_ci EXPECT_EQ(ipInfoArray.size(), 1); 18722d43be4eSopenharmony_ci} 18732d43be4eSopenharmony_ci 18742d43be4eSopenharmony_ci/** 18752d43be4eSopenharmony_ci * @tc.number ParseIpAddr_003 18762d43be4eSopenharmony_ci * @tc.name test branch 18772d43be4eSopenharmony_ci * @tc.desc Function test 18782d43be4eSopenharmony_ci */ 18792d43be4eSopenharmony_ciHWTEST_F(BranchTest, ParseIpAddr_003, Function | MediumTest | Level0) 18802d43be4eSopenharmony_ci{ 18812d43be4eSopenharmony_ci std::string address = "192.000.1.1/24 192.000.1.2/24"; 18822d43be4eSopenharmony_ci std::vector<AddressInfo> ipInfoArray = CellularDataUtils::ParseIpAddr(address); 18832d43be4eSopenharmony_ci EXPECT_EQ(ipInfoArray.size(), 2); 18842d43be4eSopenharmony_ci} 18852d43be4eSopenharmony_ci 18862d43be4eSopenharmony_ci/** 18872d43be4eSopenharmony_ci * @tc.number ParseIpAddr_004 18882d43be4eSopenharmony_ci * @tc.name test branch 18892d43be4eSopenharmony_ci * @tc.desc Function test 18902d43be4eSopenharmony_ci */ 18912d43be4eSopenharmony_ciHWTEST_F(BranchTest, ParseIpAddr_004, Function | MediumTest | Level0) 18922d43be4eSopenharmony_ci{ 18932d43be4eSopenharmony_ci std::string address = "2001:0000:0000:0000:0000:0000:0000:0000/64"; 18942d43be4eSopenharmony_ci std::vector<AddressInfo> ipInfoArray = CellularDataUtils::ParseIpAddr(address); 18952d43be4eSopenharmony_ci EXPECT_EQ(ipInfoArray.size(), 1); 18962d43be4eSopenharmony_ci} 18972d43be4eSopenharmony_ci 18982d43be4eSopenharmony_ci/** 18992d43be4eSopenharmony_ci * @tc.number ParseIpAddr_005 19002d43be4eSopenharmony_ci * @tc.name test branch 19012d43be4eSopenharmony_ci * @tc.desc Function test 19022d43be4eSopenharmony_ci */ 19032d43be4eSopenharmony_ciHWTEST_F(BranchTest, ParseIpAddr_005, Function | MediumTest | Level0) 19042d43be4eSopenharmony_ci{ 19052d43be4eSopenharmony_ci std::string address = "2001:0000:0000:0000:0000:0000:0000:0000/64 2001:0000:0000:0000:0000:0000:0000:0000/64"; 19062d43be4eSopenharmony_ci std::vector<AddressInfo> ipInfoArray = CellularDataUtils::ParseIpAddr(address); 19072d43be4eSopenharmony_ci EXPECT_EQ(ipInfoArray.size(), 2); 19082d43be4eSopenharmony_ci} 19092d43be4eSopenharmony_ci 19102d43be4eSopenharmony_ci/** 19112d43be4eSopenharmony_ci * @tc.number GetPrefixLen_001 19122d43be4eSopenharmony_ci * @tc.name test branch 19132d43be4eSopenharmony_ci * @tc.desc Function test 19142d43be4eSopenharmony_ci */ 19152d43be4eSopenharmony_ciHWTEST_F(BranchTest, GetPrefixLen_001, Function | MediumTest | Level0) 19162d43be4eSopenharmony_ci{ 19172d43be4eSopenharmony_ci std::vector<std::string> netmask; 19182d43be4eSopenharmony_ci int32_t result = CellularDataUtils::GetPrefixLen(netmask, 0); 19192d43be4eSopenharmony_ci EXPECT_EQ(result, 0); 19202d43be4eSopenharmony_ci} 19212d43be4eSopenharmony_ci 19222d43be4eSopenharmony_ci/** 19232d43be4eSopenharmony_ci * @tc.number GetPrefixLen_002 19242d43be4eSopenharmony_ci * @tc.name test branch 19252d43be4eSopenharmony_ci * @tc.desc Function test 19262d43be4eSopenharmony_ci */ 19272d43be4eSopenharmony_ciHWTEST_F(BranchTest, GetPrefixLen_002, Function | MediumTest | Level0) 19282d43be4eSopenharmony_ci{ 19292d43be4eSopenharmony_ci std::vector<std::string> netmask = {"255", "invalid", "255"}; 19302d43be4eSopenharmony_ci int32_t result = CellularDataUtils::GetPrefixLen(netmask, 0); 19312d43be4eSopenharmony_ci EXPECT_EQ(result, 8); 19322d43be4eSopenharmony_ci} 19332d43be4eSopenharmony_ci 19342d43be4eSopenharmony_ci/** 19352d43be4eSopenharmony_ci * @tc.number GetPrefixLen_003 19362d43be4eSopenharmony_ci * @tc.name test branch 19372d43be4eSopenharmony_ci * @tc.desc Function test 19382d43be4eSopenharmony_ci */ 19392d43be4eSopenharmony_ciHWTEST_F(BranchTest, GetPrefixLen_003, Function | MediumTest | Level0) 19402d43be4eSopenharmony_ci{ 19412d43be4eSopenharmony_ci std::vector<std::string> netmask = {"255", "0", "255"}; 19422d43be4eSopenharmony_ci int32_t result = CellularDataUtils::GetPrefixLen(netmask, 0); 19432d43be4eSopenharmony_ci EXPECT_EQ(result, 8); 19442d43be4eSopenharmony_ci} 19452d43be4eSopenharmony_ci 19462d43be4eSopenharmony_ci/** 19472d43be4eSopenharmony_ci * @tc.number GetPrefixLen_004 19482d43be4eSopenharmony_ci * @tc.name test branch 19492d43be4eSopenharmony_ci * @tc.desc Function test 19502d43be4eSopenharmony_ci */ 19512d43be4eSopenharmony_ciHWTEST_F(BranchTest, GetPrefixLen_004, Function | MediumTest | Level0) 19522d43be4eSopenharmony_ci{ 19532d43be4eSopenharmony_ci std::vector<std::string> netmask = {"255", "254", "255"}; 19542d43be4eSopenharmony_ci int32_t result = CellularDataUtils::GetPrefixLen(netmask, 0); 19552d43be4eSopenharmony_ci EXPECT_EQ(result, 15); 19562d43be4eSopenharmony_ci} 19572d43be4eSopenharmony_ci 19582d43be4eSopenharmony_ci/** 19592d43be4eSopenharmony_ci * @tc.number GetPrefixLen_005 19602d43be4eSopenharmony_ci * @tc.name test branch 19612d43be4eSopenharmony_ci * @tc.desc Function test 19622d43be4eSopenharmony_ci */ 19632d43be4eSopenharmony_ciHWTEST_F(BranchTest, GetPrefixLen_005, Function | MediumTest | Level0) 19642d43be4eSopenharmony_ci{ 19652d43be4eSopenharmony_ci std::vector<std::string> netmask = {"255", "256", "255"}; 19662d43be4eSopenharmony_ci int32_t result = CellularDataUtils::GetPrefixLen(netmask, 0); 19672d43be4eSopenharmony_ci EXPECT_EQ(result, 8); 19682d43be4eSopenharmony_ci} 19692d43be4eSopenharmony_ci 19702d43be4eSopenharmony_ci/** 19712d43be4eSopenharmony_ci * @tc.number GetPrefixLen_006 19722d43be4eSopenharmony_ci * @tc.name test branch 19732d43be4eSopenharmony_ci * @tc.desc Function test 19742d43be4eSopenharmony_ci */ 19752d43be4eSopenharmony_ciHWTEST_F(BranchTest, GetPrefixLen_006, Function | MediumTest | Level0) 19762d43be4eSopenharmony_ci{ 19772d43be4eSopenharmony_ci std::vector<std::string> netmask = {"255", "254", "255"}; 19782d43be4eSopenharmony_ci int32_t result = CellularDataUtils::GetPrefixLen(netmask, 0); 19792d43be4eSopenharmony_ci EXPECT_EQ(result, 15); 19802d43be4eSopenharmony_ci} 19812d43be4eSopenharmony_ci 19822d43be4eSopenharmony_ci/** 19832d43be4eSopenharmony_ci * @tc.number GetPrefixLen_007 19842d43be4eSopenharmony_ci * @tc.name test branch 19852d43be4eSopenharmony_ci * @tc.desc Function test 19862d43be4eSopenharmony_ci */ 19872d43be4eSopenharmony_ciHWTEST_F(BranchTest, GetPrefixLen_007, Function | MediumTest | Level0) 19882d43be4eSopenharmony_ci{ 19892d43be4eSopenharmony_ci std::vector<std::string> netmask = {"255", "255", "255"}; 19902d43be4eSopenharmony_ci int32_t result = CellularDataUtils::GetPrefixLen(netmask, 0); 19912d43be4eSopenharmony_ci EXPECT_EQ(result, 24); 19922d43be4eSopenharmony_ci} 19932d43be4eSopenharmony_ci 19942d43be4eSopenharmony_ci/** 19952d43be4eSopenharmony_ci * @tc.number JudgingDataActivateTimeOut_001 19962d43be4eSopenharmony_ci * @tc.name test branch 19972d43be4eSopenharmony_ci * @tc.desc Function test 19982d43be4eSopenharmony_ci */ 19992d43be4eSopenharmony_ciHWTEST_F(BranchTest, JudgingDataActivateTimeOut_001, Function | MediumTest | Level0) 20002d43be4eSopenharmony_ci{ 20012d43be4eSopenharmony_ci auto cellularDataHiSysEvent = DelayedSingleton<CellularDataHiSysEvent>::GetInstance(); 20022d43be4eSopenharmony_ci int32_t slotId = 1; 20032d43be4eSopenharmony_ci int32_t switchState = 1; 20042d43be4eSopenharmony_ci cellularDataHiSysEvent->dataActivateStartTime_ = -1000; 20052d43be4eSopenharmony_ci cellularDataHiSysEvent->JudgingDataActivateTimeOut(slotId, switchState); 20062d43be4eSopenharmony_ci cellularDataHiSysEvent->SetCellularDataActivateStartTime(); 20072d43be4eSopenharmony_ci EXPECT_NE(cellularDataHiSysEvent->dataActivateStartTime_, -1000); 20082d43be4eSopenharmony_ci} 20092d43be4eSopenharmony_ci 20102d43be4eSopenharmony_ci/** 20112d43be4eSopenharmony_ci * @tc.number ReadMvnoApnResult_001 20122d43be4eSopenharmony_ci * @tc.name Test the function 20132d43be4eSopenharmony_ci * @tc.desc Function test 20142d43be4eSopenharmony_ci */ 20152d43be4eSopenharmony_ciHWTEST_F(BranchTest, ReadMvnoApnResult_001, TestSize.Level3) 20162d43be4eSopenharmony_ci{ 20172d43be4eSopenharmony_ci std::shared_ptr<DataShare::DataShareResultSet> result = nullptr; 20182d43be4eSopenharmony_ci std::string mvnoDataFromSim = "mvnoDataFromSim"; 20192d43be4eSopenharmony_ci std::vector<PdpProfile> apnVec; 20202d43be4eSopenharmony_ci CellularDataRdbHelper cellularDataRdbHelper; 20212d43be4eSopenharmony_ci cellularDataRdbHelper.ReadMvnoApnResult(nullptr, mvnoDataFromSim, apnVec); 20222d43be4eSopenharmony_ci ASSERT_TRUE(apnVec.empty()); 20232d43be4eSopenharmony_ci} 20242d43be4eSopenharmony_ci 20252d43be4eSopenharmony_ci/** 20262d43be4eSopenharmony_ci * @tc.number ReadMvnoApnResult_002 20272d43be4eSopenharmony_ci * @tc.name Test the function 20282d43be4eSopenharmony_ci * @tc.desc Function test 20292d43be4eSopenharmony_ci */ 20302d43be4eSopenharmony_ciHWTEST_F(BranchTest, ReadMvnoApnResult_002, TestSize.Level3) 20312d43be4eSopenharmony_ci{ 20322d43be4eSopenharmony_ci std::shared_ptr<DataShare::DataShareResultSet> result = std::make_shared<DataShare::DataShareResultSet>(); 20332d43be4eSopenharmony_ci std::string mvnoDataFromSim = "mvnoDataFromSim"; 20342d43be4eSopenharmony_ci std::vector<PdpProfile> apnVec; 20352d43be4eSopenharmony_ci CellularDataRdbHelper cellularDataRdbHelper; 20362d43be4eSopenharmony_ci cellularDataRdbHelper.ReadMvnoApnResult(nullptr, mvnoDataFromSim, apnVec); 20372d43be4eSopenharmony_ci ASSERT_TRUE(apnVec.empty()); 20382d43be4eSopenharmony_ci} 20392d43be4eSopenharmony_ci 20402d43be4eSopenharmony_ci/** 20412d43be4eSopenharmony_ci * @tc.number MakePdpProfile_001 20422d43be4eSopenharmony_ci * @tc.name Test the function 20432d43be4eSopenharmony_ci * @tc.desc Function test 20442d43be4eSopenharmony_ci */ 20452d43be4eSopenharmony_ciHWTEST_F(BranchTest, MakePdpProfile_001, TestSize.Level3) 20462d43be4eSopenharmony_ci{ 20472d43be4eSopenharmony_ci std::shared_ptr<DataShare::DataShareResultSet> result = std::make_shared<DataShare::DataShareResultSet>(); 20482d43be4eSopenharmony_ci int i = 0; 20492d43be4eSopenharmony_ci PdpProfile apnBean; 20502d43be4eSopenharmony_ci apnBean.pdpProtocol = ""; 20512d43be4eSopenharmony_ci apnBean.roamPdpProtocol = ""; 20522d43be4eSopenharmony_ci CellularDataRdbHelper cellularDataRdbHelper; 20532d43be4eSopenharmony_ci cellularDataRdbHelper.MakePdpProfile(result, i, apnBean); 20542d43be4eSopenharmony_ci ASSERT_EQ("IP", apnBean.pdpProtocol); 20552d43be4eSopenharmony_ci ASSERT_EQ("IP", apnBean.roamPdpProtocol); 20562d43be4eSopenharmony_ci} 20572d43be4eSopenharmony_ci 20582d43be4eSopenharmony_ci/** 20592d43be4eSopenharmony_ci * @tc.number MakePdpProfile_002 20602d43be4eSopenharmony_ci * @tc.name Test the function 20612d43be4eSopenharmony_ci * @tc.desc Function test 20622d43be4eSopenharmony_ci */ 20632d43be4eSopenharmony_ciHWTEST_F(BranchTest, MakePdpProfile_002, TestSize.Level3) 20642d43be4eSopenharmony_ci{ 20652d43be4eSopenharmony_ci std::shared_ptr<DataShare::DataShareResultSet> result = std::make_shared<DataShare::DataShareResultSet>(); 20662d43be4eSopenharmony_ci int i = 0; 20672d43be4eSopenharmony_ci PdpProfile apnBean; 20682d43be4eSopenharmony_ci apnBean.pdpProtocol = "ABC"; 20692d43be4eSopenharmony_ci apnBean.roamPdpProtocol = "abc"; 20702d43be4eSopenharmony_ci CellularDataRdbHelper cellularDataRdbHelper; 20712d43be4eSopenharmony_ci cellularDataRdbHelper.MakePdpProfile(result, i, apnBean); 20722d43be4eSopenharmony_ci ASSERT_EQ("ABC", apnBean.pdpProtocol); 20732d43be4eSopenharmony_ci ASSERT_EQ("abc", apnBean.roamPdpProtocol); 20742d43be4eSopenharmony_ci} 20752d43be4eSopenharmony_ci 20762d43be4eSopenharmony_ci/** 20772d43be4eSopenharmony_ci * @tc.number WriteEventCellularRequest_Test_01 20782d43be4eSopenharmony_ci * @tc.name test error branch 20792d43be4eSopenharmony_ci * @tc.desc Function test 20802d43be4eSopenharmony_ci */ 20812d43be4eSopenharmony_ciHWTEST_F(BranchTest, WriteEventCellularRequest_Test_01, TestSize.Level3) 20822d43be4eSopenharmony_ci{ 20832d43be4eSopenharmony_ci CellularDataUtils::ParseNormalIpAddr(ADDRESS); 20842d43be4eSopenharmony_ci CellularDataUtils::ParseRoute(ADDRESS); 20852d43be4eSopenharmony_ci CellularDataUtils::GetPrefixLen(ADDRESS, FLAG); 20862d43be4eSopenharmony_ci auto cellularDataHiSysEvent = DelayedSingleton<CellularDataHiSysEvent>::GetInstance(); 20872d43be4eSopenharmony_ci cellularDataHiSysEvent->WriteCellularRequestBehaviorEvent(1, "abc", 1, 1); 20882d43be4eSopenharmony_ci CellularDataController controller { 0 }; 20892d43be4eSopenharmony_ci controller.Init(); 20902d43be4eSopenharmony_ci NetRequest request; 20912d43be4eSopenharmony_ci int32_t state = 0; 20922d43be4eSopenharmony_ci ASSERT_FALSE(controller.cellularDataHandler_->WriteEventCellularRequest(request, state)); 20932d43be4eSopenharmony_ci request.capability = NetCap::NET_CAPABILITY_INTERNET; 20942d43be4eSopenharmony_ci ASSERT_FALSE(controller.cellularDataHandler_->WriteEventCellularRequest(request, state)); 20952d43be4eSopenharmony_ci request.bearTypes |= (1ULL << NetBearType::BEARER_CELLULAR); 20962d43be4eSopenharmony_ci ASSERT_TRUE(controller.cellularDataHandler_->WriteEventCellularRequest(request, state)); 20972d43be4eSopenharmony_ci request.capability = NetCap::NET_CAPABILITY_END; 20982d43be4eSopenharmony_ci ASSERT_FALSE(controller.cellularDataHandler_->WriteEventCellularRequest(request, state)); 20992d43be4eSopenharmony_ci} 21002d43be4eSopenharmony_ci 21012d43be4eSopenharmony_ci} // namespace Telephony 21022d43be4eSopenharmony_ci} // namespace OHOS 2103