mirror of
https://github.com/openharmony/telephony_cellular_data.git
synced 2026-08-25 09:04:03 -04:00
0b2d31b12c
Signed-off-by: benlau000 <liubin360@huawei.com>
1354 lines
58 KiB
C++
1354 lines
58 KiB
C++
/*
|
|
* Copyright (C) 2024 Huawei Device Co., Ltd.
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
#define private public
|
|
#define protected public
|
|
|
|
#include "gtest/gtest.h"
|
|
#include "common_event_manager.h"
|
|
#include "common_event_support.h"
|
|
#include "cellular_data_handler.h"
|
|
#include "cellular_data_controller.h"
|
|
#ifdef BASE_POWER_IMPROVEMENT
|
|
#include "cellular_data_power_save_mode_subscriber.h"
|
|
#endif
|
|
|
|
namespace OHOS {
|
|
namespace Telephony {
|
|
using namespace testing::ext;
|
|
|
|
class CellularDataHandlerTest : public testing::Test {
|
|
public:
|
|
static void SetUpTestCase() {}
|
|
static void TearDownTestCase() {}
|
|
void SetUp() {}
|
|
void TearDown() {}
|
|
};
|
|
|
|
/**
|
|
* @tc.number HandleUpdateNetInfo_001
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HandleUpdateNetInfo_001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
auto netInfo = std::make_shared<SetupDataCallResultInfo>();
|
|
auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_DATA_CALL_LIST_CHANGED, netInfo);
|
|
cellularDataHandler->HandleUpdateNetInfo(event);
|
|
EXPECT_EQ(cellularDataHandler->connectionManager_, nullptr);
|
|
EXPECT_EQ(cellularDataHandler->apnManager_, nullptr);
|
|
}
|
|
|
|
/**
|
|
* @tc.number HandleUpdateNetInfo_002
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HandleUpdateNetInfo_002, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->Init();
|
|
auto netInfo = std::make_shared<SetupDataCallResultInfo>();
|
|
auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_DATA_CALL_LIST_CHANGED);
|
|
cellularDataHandler->HandleUpdateNetInfo(event);
|
|
EXPECT_NE(cellularDataHandler->connectionManager_, nullptr);
|
|
EXPECT_NE(cellularDataHandler->apnManager_, nullptr);
|
|
EXPECT_EQ(event->GetSharedObject<SetupDataCallResultInfo>(), nullptr);
|
|
}
|
|
|
|
/**
|
|
* @tc.number HandleUpdateNetInfo_003
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HandleUpdateNetInfo_003, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->Init();
|
|
auto netInfo = std::make_shared<SetupDataCallResultInfo>();
|
|
netInfo->flag = DATA_CONTEXT_ROLE_DEFAULT_ID;
|
|
auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_DATA_CALL_LIST_CHANGED, netInfo);
|
|
cellularDataHandler->HandleUpdateNetInfo(event);
|
|
EXPECT_NE(cellularDataHandler->connectionManager_, nullptr);
|
|
EXPECT_NE(cellularDataHandler->apnManager_, nullptr);
|
|
EXPECT_NE(event->GetSharedObject<SetupDataCallResultInfo>(), nullptr);
|
|
sptr<ApnHolder> apnHolder = cellularDataHandler->apnManager_->GetApnHolder(
|
|
cellularDataHandler->apnManager_->FindApnNameByApnId(netInfo->flag));
|
|
EXPECT_NE(apnHolder, nullptr);
|
|
EXPECT_EQ(apnHolder->GetApnState(), PROFILE_STATE_IDLE);
|
|
}
|
|
|
|
/**
|
|
* @tc.number HandleUpdateNetInfo_004
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HandleUpdateNetInfo_004, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->Init();
|
|
auto netInfo = std::make_shared<SetupDataCallResultInfo>();
|
|
netInfo->flag = DATA_CONTEXT_ROLE_DEFAULT_ID;
|
|
sptr<ApnHolder> apnHolder = cellularDataHandler->apnManager_->GetApnHolder(
|
|
cellularDataHandler->apnManager_->FindApnNameByApnId(netInfo->flag));
|
|
EXPECT_NE(apnHolder, nullptr);
|
|
apnHolder->SetApnState(PROFILE_STATE_CONNECTED);
|
|
auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_DATA_CALL_LIST_CHANGED, netInfo);
|
|
cellularDataHandler->HandleUpdateNetInfo(event);
|
|
EXPECT_NE(cellularDataHandler->connectionManager_, nullptr);
|
|
EXPECT_NE(cellularDataHandler->apnManager_, nullptr);
|
|
EXPECT_NE(event->GetSharedObject<SetupDataCallResultInfo>(), nullptr);
|
|
EXPECT_EQ(apnHolder->GetApnState(), PROFILE_STATE_CONNECTED);
|
|
auto stateMachine = cellularDataHandler->connectionManager_->GetActiveConnectionByCid(netInfo->cid);
|
|
EXPECT_EQ(stateMachine, nullptr);
|
|
}
|
|
|
|
/**
|
|
* @tc.number HandleUpdateNetInfo_005
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HandleUpdateNetInfo_005, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->Init();
|
|
auto netInfo = std::make_shared<SetupDataCallResultInfo>();
|
|
netInfo->flag = DATA_CONTEXT_ROLE_DEFAULT_ID;
|
|
netInfo->cid = 100;
|
|
sptr<ApnHolder> apnHolder = cellularDataHandler->apnManager_->GetApnHolder(
|
|
cellularDataHandler->apnManager_->FindApnNameByApnId(netInfo->flag));
|
|
EXPECT_NE(apnHolder, nullptr);
|
|
apnHolder->SetApnState(PROFILE_STATE_CONNECTED);
|
|
auto connectionManager = std::make_shared<DataConnectionManager>(0);
|
|
EXPECT_NE(connectionManager, nullptr);
|
|
connectionManager->Init();
|
|
auto sm = std::make_shared<CellularDataStateMachine>(
|
|
connectionManager, std::make_shared<TelEventHandler>("CellularDataHandlerTest"));
|
|
sm->cid_ = 100;
|
|
cellularDataHandler->connectionManager_->AddActiveConnectionByCid(sm);
|
|
auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_DATA_CALL_LIST_CHANGED, netInfo);
|
|
cellularDataHandler->HandleUpdateNetInfo(event);
|
|
EXPECT_NE(cellularDataHandler->connectionManager_, nullptr);
|
|
EXPECT_NE(cellularDataHandler->apnManager_, nullptr);
|
|
EXPECT_NE(event->GetSharedObject<SetupDataCallResultInfo>(), nullptr);
|
|
EXPECT_EQ(apnHolder->GetApnState(), PROFILE_STATE_CONNECTED);
|
|
auto stateMachine = cellularDataHandler->connectionManager_->GetActiveConnectionByCid(netInfo->cid);
|
|
EXPECT_NE(stateMachine, nullptr);
|
|
}
|
|
|
|
/**
|
|
* @tc.number HandleUpdateNetInfo_006
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HandleUpdateNetInfo_006, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->Init();
|
|
auto netInfo = std::make_shared<SetupDataCallResultInfo>();
|
|
netInfo->flag = DATA_CONTEXT_ROLE_DEFAULT_ID;
|
|
netInfo->cid = 100;
|
|
sptr<ApnHolder> apnHolder = cellularDataHandler->apnManager_->GetApnHolder(
|
|
cellularDataHandler->apnManager_->FindApnNameByApnId(netInfo->flag));
|
|
EXPECT_NE(apnHolder, nullptr);
|
|
apnHolder->SetApnState(PROFILE_STATE_IDLE);
|
|
cellularDataHandler->ClearConnection(apnHolder, DisConnectionReason::REASON_CLEAR_CONNECTION);
|
|
EXPECT_NE(apnHolder->GetApnState(), PROFILE_STATE_DISCONNECTING);
|
|
}
|
|
|
|
/**
|
|
* @tc.number HandleRoamingOff_001
|
|
* @tc.name test roaming off
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HandleRoamingOff_001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
EXPECT_NE(cellularDataHandler, nullptr);
|
|
cellularDataHandler->Init();
|
|
cellularDataHandler->SetCellularDataRoamingEnabled(true);
|
|
auto event = AppExecFwk::InnerEvent::Get(0);
|
|
cellularDataHandler->RoamingStateOff(event);
|
|
}
|
|
|
|
/**
|
|
* @tc.number HandleRoamingOff_002
|
|
* @tc.name test roaming off
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HandleRoamingOff_002, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
EXPECT_NE(cellularDataHandler, nullptr);
|
|
cellularDataHandler->Init();
|
|
cellularDataHandler->SetCellularDataRoamingEnabled(false);
|
|
auto event = AppExecFwk::InnerEvent::Get(0);
|
|
cellularDataHandler->RoamingStateOff(event);
|
|
}
|
|
|
|
/**
|
|
* @tc.number HandleEstablishAllApnsIfConnectable_001
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HandleEstablishAllApnsIfConnectable_001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->Init();
|
|
AppExecFwk::InnerEvent::Pointer msgEvent =
|
|
AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_ESTABLISH_ALL_APNS_IF_CONNECTABLE);
|
|
cellularDataHandler->HandleEstablishAllApnsIfConnectable(msgEvent);
|
|
EXPECT_NE(cellularDataHandler->apnManager_, nullptr);
|
|
}
|
|
|
|
/**
|
|
* @tc.number HandleSimEvent_001
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HandleSimEvent_001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->Init();
|
|
AppExecFwk::InnerEvent::Pointer nullEvent(nullptr, nullptr);
|
|
cellularDataHandler->HandleSimEvent(nullEvent);
|
|
auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_DATA_CALL_LIST_CHANGED, 0);
|
|
cellularDataHandler->HandleSimEvent(event);
|
|
EXPECT_NE(cellularDataHandler->connectionManager_, nullptr);
|
|
EXPECT_NE(cellularDataHandler->apnManager_, nullptr);
|
|
}
|
|
|
|
/**
|
|
* @tc.number HandleSimEvent_002
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HandleSimEvent_002, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->Init();
|
|
auto event = AppExecFwk::InnerEvent::Get(RadioEvent::RADIO_SIM_STATE_CHANGE, 1);
|
|
cellularDataHandler->HandleSimEvent(event);
|
|
EXPECT_NE(cellularDataHandler->slotId_, event->GetParam());
|
|
}
|
|
|
|
/**
|
|
* @tc.number HandleSimEvent_003
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HandleSimEvent_003, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->Init();
|
|
auto event = AppExecFwk::InnerEvent::Get(RadioEvent::RADIO_SIM_STATE_CHANGE, 0);
|
|
cellularDataHandler->HandleSimEvent(event);
|
|
EXPECT_EQ(event->GetInnerEventId(), RadioEvent::RADIO_SIM_STATE_CHANGE);
|
|
}
|
|
|
|
/**
|
|
* @tc.number HandleSimEvent_004
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HandleSimEvent_004, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->Init();
|
|
auto event = AppExecFwk::InnerEvent::Get(RadioEvent::RADIO_SIM_RECORDS_LOADED, 0);
|
|
cellularDataHandler->HandleSimEvent(event);
|
|
EXPECT_EQ(event->GetInnerEventId(), RadioEvent::RADIO_SIM_RECORDS_LOADED);
|
|
}
|
|
|
|
/**
|
|
* @tc.number HandleSimEvent_005
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HandleSimEvent_005, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->Init();
|
|
auto event = AppExecFwk::InnerEvent::Get(RadioEvent::RADIO_NV_REFRESH_FINISHED, 0);
|
|
cellularDataHandler->HandleSimEvent(event);
|
|
EXPECT_EQ(event->GetInnerEventId(), RadioEvent::RADIO_NV_REFRESH_FINISHED);
|
|
}
|
|
|
|
/**
|
|
* @tc.number HandleSimEvent_006
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HandleSimEvent_006, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->Init();
|
|
auto event = AppExecFwk::InnerEvent::Get(RadioEvent::RADIO_SIM_ACCOUNT_LOADED, 0);
|
|
cellularDataHandler->HandleSimEvent(event);
|
|
EXPECT_EQ(event->GetInnerEventId(), RadioEvent::RADIO_SIM_ACCOUNT_LOADED);
|
|
}
|
|
|
|
/**
|
|
* @tc.number HandleSimEvent_007
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HandleSimEvent_007, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->Init();
|
|
auto event = AppExecFwk::InnerEvent::Get(RadioEvent::RADIO_NV_REFRESH_FINISHED, 0);
|
|
cellularDataHandler->HandleSimEvent(event);
|
|
EXPECT_EQ(event->GetInnerEventId(), RadioEvent::RADIO_NV_REFRESH_FINISHED);
|
|
}
|
|
|
|
/**
|
|
* @tc.number HandleSimEvent_008
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HandleSimEvent_008, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->Init();
|
|
auto event = AppExecFwk::InnerEvent::Get(RadioEvent::RADIO_NV_REFRESH_FINISHED, 1);
|
|
cellularDataHandler->HandleSimEvent(event);
|
|
EXPECT_EQ(event->GetInnerEventId(), RadioEvent::RADIO_NV_REFRESH_FINISHED);
|
|
}
|
|
|
|
/**
|
|
* @tc.number ClearConnectionsOnUpdateApns_001
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, ClearConnectionsOnUpdateApns_001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->ClearConnectionsOnUpdateApns(DisConnectionReason::REASON_RETRY_CONNECTION);
|
|
EXPECT_EQ(cellularDataHandler->apnManager_, nullptr);
|
|
}
|
|
|
|
/**
|
|
* @tc.number ClearConnectionsOnUpdateApns_002
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, ClearConnectionsOnUpdateApns_002, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->Init();
|
|
cellularDataHandler->ClearConnectionsOnUpdateApns(DisConnectionReason::REASON_RETRY_CONNECTION);
|
|
EXPECT_NE(cellularDataHandler->connectionManager_, nullptr);
|
|
EXPECT_NE(cellularDataHandler->apnManager_, nullptr);
|
|
cellularDataHandler->apnManager_->allApnItem_.clear();
|
|
cellularDataHandler->ClearConnectionsOnUpdateApns(DisConnectionReason::REASON_RETRY_CONNECTION);
|
|
EXPECT_NE(cellularDataHandler->apnManager_, nullptr);
|
|
std::vector<sptr<ApnItem>> allApnItem;
|
|
sptr<ApnItem> defaultApnItem = ApnItem::MakeDefaultApn(DATA_CONTEXT_ROLE_DEFAULT);
|
|
allApnItem.push_back(defaultApnItem);
|
|
cellularDataHandler->apnManager_->allApnItem_ = allApnItem;
|
|
EXPECT_NE(cellularDataHandler->apnManager_->GetRilAttachApn(), nullptr);
|
|
cellularDataHandler->ClearConnectionsOnUpdateApns(DisConnectionReason::REASON_RETRY_CONNECTION);
|
|
EXPECT_NE(cellularDataHandler->apnManager_, nullptr);
|
|
}
|
|
|
|
/**
|
|
* @tc.number SetCellularDataRoamingEnabledTest001
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, SetCellularDataRoamingEnabledTest001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
bool dataRoamingEnabled = true;
|
|
EXPECT_EQ(cellularDataHandler->SetCellularDataRoamingEnabled(dataRoamingEnabled), TELEPHONY_ERR_LOCAL_PTR_NULL);
|
|
cellularDataHandler->Init();
|
|
auto event = AppExecFwk::InnerEvent::Get(0);
|
|
cellularDataHandler->RadioPsConnectionAttached(event);
|
|
EXPECT_NE(cellularDataHandler->apnManager_, nullptr);
|
|
cellularDataHandler->RoamingStateOn(event);
|
|
cellularDataHandler->RoamingStateOff(event);
|
|
EXPECT_NE(cellularDataHandler->dataSwitchSettings_, nullptr);
|
|
cellularDataHandler->incallDataStateMachine_ = cellularDataHandler->CreateIncallDataStateMachine(0);
|
|
EXPECT_FALSE(cellularDataHandler->SetDataPermittedForMms(true));
|
|
}
|
|
|
|
/**
|
|
* @tc.number AttemptEstablishDataConnectionTest001
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, AttemptEstablishDataConnectionTest001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(1);
|
|
cellularDataHandler->Init();
|
|
std::shared_ptr<CellularDataStateMachine> cellularMachine = nullptr;
|
|
cellularDataHandler->connectionManager_->GetAllConnectionMachine().push_back(cellularMachine);
|
|
EXPECT_EQ(cellularDataHandler->FindIdleCellularDataConnection(), nullptr);
|
|
}
|
|
|
|
/**
|
|
* @tc.number AttemptEstablishDataConnectionTest002
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, AttemptEstablishDataConnectionTest002, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(1);
|
|
auto connectionManager = std::make_shared<DataConnectionManager>(0);
|
|
std::shared_ptr<CellularDataStateMachine> cellularMachine = std::make_shared<CellularDataStateMachine>(
|
|
connectionManager, nullptr);
|
|
cellularDataHandler->connectionManager_ = connectionManager;
|
|
cellularDataHandler->connectionManager_->GetAllConnectionMachine().push_back(cellularMachine);
|
|
EXPECT_EQ(cellularDataHandler->FindIdleCellularDataConnection(), nullptr);
|
|
cellularDataHandler->Init();
|
|
EXPECT_EQ(cellularDataHandler->FindIdleCellularDataConnection(), nullptr);
|
|
}
|
|
|
|
/**
|
|
* @tc.number EstablishDataConnectionTest002
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, EstablishDataConnectionTest002, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->Init();
|
|
sptr<ApnItem> apnItem = ApnItem::MakeDefaultApn(DATA_CONTEXT_ROLE_DEFAULT);
|
|
sptr<ApnHolder> apnHolder = std::make_unique<ApnHolder>("default", static_cast<int32_t>(0)).release();
|
|
apnHolder->retryPolicy_.matchedApns_.push_back(apnItem);
|
|
EXPECT_NE(apnHolder->GetNextRetryApn(), nullptr);
|
|
EXPECT_TRUE(cellularDataHandler->EstablishDataConnection(apnHolder, 0));
|
|
apnHolder->apnType_ = DATA_CONTEXT_ROLE_DUN;
|
|
EXPECT_TRUE(cellularDataHandler->EstablishDataConnection(apnHolder, 0));
|
|
apnHolder->apnType_ = DATA_CONTEXT_ROLE_MMS;
|
|
EXPECT_TRUE(cellularDataHandler->EstablishDataConnection(apnHolder, 0));
|
|
}
|
|
|
|
/**
|
|
* @tc.number DisconnectDataCompleteTest001
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, DisconnectDataCompleteTest001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->Init();
|
|
auto event = AppExecFwk::InnerEvent::Get(0);
|
|
cellularDataHandler->DisconnectDataComplete(event);
|
|
EXPECT_NE(event, nullptr);
|
|
EXPECT_NE(cellularDataHandler->apnManager_, nullptr);
|
|
EXPECT_NE(cellularDataHandler->connectionManager_, nullptr);
|
|
}
|
|
|
|
/**
|
|
* @tc.number UpdatePhysicalConnectionStateTest001
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, UpdatePhysicalConnectionStateTest001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->physicalConnectionActiveState_ = false;
|
|
cellularDataHandler->UpdatePhysicalConnectionState(false);
|
|
EXPECT_TRUE(cellularDataHandler->physicalConnectionActiveState_);
|
|
|
|
cellularDataHandler->UpdatePhysicalConnectionState(true);
|
|
EXPECT_FALSE(cellularDataHandler->physicalConnectionActiveState_);
|
|
|
|
cellularDataHandler->physicalConnectionActiveState_ = true;
|
|
cellularDataHandler->UpdatePhysicalConnectionState(false);
|
|
EXPECT_TRUE(cellularDataHandler->physicalConnectionActiveState_);
|
|
|
|
cellularDataHandler->UpdatePhysicalConnectionState(true);
|
|
EXPECT_FALSE(cellularDataHandler->physicalConnectionActiveState_);
|
|
}
|
|
|
|
/**
|
|
* @tc.number HandleScreenStateChangedTest001
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HandleScreenStateChangedTest001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->HandleScreenStateChanged(false);
|
|
EXPECT_EQ(cellularDataHandler->connectionManager_, nullptr);
|
|
cellularDataHandler->Init();
|
|
cellularDataHandler->HandleScreenStateChanged(false);
|
|
EXPECT_NE(cellularDataHandler->connectionManager_, nullptr);
|
|
}
|
|
|
|
/**
|
|
* @tc.number UpdateCellularDataConnectStateTest001
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, UpdateCellularDataConnectStateTest001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->Init();
|
|
cellularDataHandler->incallDataStateMachine_ = cellularDataHandler->CreateIncallDataStateMachine(0);
|
|
AppExecFwk::InnerEvent::Pointer event(nullptr, nullptr);
|
|
cellularDataHandler->IncallDataComplete(event);
|
|
EXPECT_EQ(cellularDataHandler->incallDataStateMachine_, nullptr);
|
|
cellularDataHandler->UpdateCellularDataConnectState("default");
|
|
EXPECT_EQ(cellularDataHandler->apnManager_->GetOverallDefaultApnState(), 0);
|
|
cellularDataHandler->UpdateCellularDataConnectState("internal_default");
|
|
EXPECT_EQ(cellularDataHandler->apnManager_->GetOverallDefaultApnState(), 0);
|
|
}
|
|
|
|
/**
|
|
* @tc.number HandleImsCallChangedTest001
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HandleImsCallChangedTest001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->Init();
|
|
cellularDataHandler->HandleImsCallChanged(1);
|
|
EXPECT_EQ(cellularDataHandler->incallDataStateMachine_, nullptr);
|
|
cellularDataHandler->HandleImsCallChanged(4);
|
|
EXPECT_NE(cellularDataHandler->incallDataStateMachine_, nullptr);
|
|
cellularDataHandler->HandleImsCallChanged(2);
|
|
EXPECT_NE(cellularDataHandler->incallDataStateMachine_->GetCallState(), 8);
|
|
cellularDataHandler->HandleImsCallChanged(4);
|
|
EXPECT_EQ(cellularDataHandler->incallDataStateMachine_->GetCallState(), 4);
|
|
cellularDataHandler->HandleImsCallChanged(6);
|
|
EXPECT_EQ(cellularDataHandler->incallDataStateMachine_->GetCallState(), 6);
|
|
cellularDataHandler->HandleImsCallChanged(8);
|
|
EXPECT_EQ(cellularDataHandler->incallDataStateMachine_->GetCallState(), 8);
|
|
}
|
|
|
|
/**
|
|
* @tc.number PsDataRatChangedTest001
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, PsDataRatChangedTest001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(1);
|
|
cellularDataHandler->Init();
|
|
AppExecFwk::InnerEvent::Pointer event(nullptr, nullptr);
|
|
cellularDataHandler->PsDataRatChanged(event);
|
|
cellularDataHandler->dataSwitchSettings_->userDataOn_ = false;
|
|
EXPECT_FALSE(cellularDataHandler->dataSwitchSettings_->IsUserDataOn());
|
|
}
|
|
|
|
/**
|
|
* @tc.number SetPolicyDataOnTest001
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, SetPolicyDataOnTest001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(1);
|
|
cellularDataHandler->Init();
|
|
cellularDataHandler->dataSwitchSettings_->policyDataOn_ = false;
|
|
cellularDataHandler->SetPolicyDataOn(true);
|
|
EXPECT_TRUE(cellularDataHandler->dataSwitchSettings_->IsUserDataOn());
|
|
cellularDataHandler->dataSwitchSettings_->policyDataOn_ = true;
|
|
cellularDataHandler->SetPolicyDataOn(false);
|
|
EXPECT_FALSE(cellularDataHandler->dataSwitchSettings_->policyDataOn_);
|
|
}
|
|
|
|
/**
|
|
* @tc.number SetRilAttachApnTest001
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, SetRilAttachApnTest001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(1);
|
|
cellularDataHandler->Init();
|
|
EXPECT_NE(cellularDataHandler->apnManager_, nullptr);
|
|
sptr<ApnItem> attachApn = ApnItem::MakeDefaultApn(DATA_CONTEXT_ROLE_DEFAULT);
|
|
cellularDataHandler->apnManager_->allApnItem_.push_back(attachApn);
|
|
cellularDataHandler->SetRilAttachApn();
|
|
}
|
|
|
|
/**
|
|
* @tc.number HasAnyHigherPriorityConnectionTest001
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HasAnyHigherPriorityConnectionTest001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(1);
|
|
cellularDataHandler->Init();
|
|
sptr<ApnHolder> sortApnHolder = std::make_unique<ApnHolder>("default", static_cast<int32_t>(0)).release();
|
|
sortApnHolder->priority_ = 1;
|
|
sortApnHolder->dataCallEnabled_ = true;
|
|
sortApnHolder->apnState_ = ApnProfileState::PROFILE_STATE_CONNECTED;
|
|
cellularDataHandler->apnManager_->sortedApnHolders_.push_back(sortApnHolder);
|
|
sptr<ApnHolder> apnHolder = std::make_unique<ApnHolder>("default", static_cast<int32_t>(0)).release();
|
|
apnHolder->priority_ = 0;
|
|
EXPECT_NE(cellularDataHandler->apnManager_, nullptr);
|
|
EXPECT_NE(cellularDataHandler->apnManager_->GetSortApnHolder().empty(), true);
|
|
EXPECT_TRUE(cellularDataHandler->HasAnyHigherPriorityConnection(apnHolder));
|
|
}
|
|
|
|
/**
|
|
* @tc.number HasAnyHigherPriorityConnectionTest002
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HasAnyHigherPriorityConnectionTest002, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(1);
|
|
cellularDataHandler->Init();
|
|
sptr<ApnHolder> sortApnHolder = std::make_unique<ApnHolder>("default", static_cast<int32_t>(0)).release();
|
|
sortApnHolder->priority_ = 1;
|
|
sortApnHolder->dataCallEnabled_ = true;
|
|
sortApnHolder->apnState_ = ApnProfileState::PROFILE_STATE_CONNECTING;
|
|
cellularDataHandler->apnManager_->sortedApnHolders_.push_back(sortApnHolder);
|
|
sptr<ApnHolder> apnHolder = std::make_unique<ApnHolder>("default", static_cast<int32_t>(0)).release();
|
|
apnHolder->priority_ = 0;
|
|
EXPECT_NE(cellularDataHandler->apnManager_, nullptr);
|
|
EXPECT_NE(cellularDataHandler->apnManager_->GetSortApnHolder().empty(), true);
|
|
EXPECT_TRUE(cellularDataHandler->HasAnyHigherPriorityConnection(apnHolder));
|
|
}
|
|
|
|
/**
|
|
* @tc.number HasAnyHigherPriorityConnectionTest003
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HasAnyHigherPriorityConnectionTest003, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(1);
|
|
cellularDataHandler->Init();
|
|
sptr<ApnHolder> sortApnHolder = std::make_unique<ApnHolder>("default", static_cast<int32_t>(0)).release();
|
|
sortApnHolder->priority_ = 1;
|
|
sortApnHolder->dataCallEnabled_ = true;
|
|
sortApnHolder->apnState_ = ApnProfileState::PROFILE_STATE_DISCONNECTING;
|
|
cellularDataHandler->apnManager_->sortedApnHolders_.push_back(sortApnHolder);
|
|
sptr<ApnHolder> apnHolder = std::make_unique<ApnHolder>("default", static_cast<int32_t>(0)).release();
|
|
apnHolder->priority_ = 0;
|
|
EXPECT_NE(cellularDataHandler->apnManager_, nullptr);
|
|
EXPECT_NE(cellularDataHandler->apnManager_->GetSortApnHolder().empty(), true);
|
|
EXPECT_TRUE(cellularDataHandler->HasAnyHigherPriorityConnection(apnHolder));
|
|
}
|
|
|
|
/**
|
|
* @tc.number HasInternetCapabilityTest001
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HasInternetCapabilityTest001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(1);
|
|
cellularDataHandler->Init();
|
|
auto connectionManager = std::make_shared<DataConnectionManager>(0);
|
|
std::shared_ptr<CellularDataStateMachine> cellularMachine = std::make_shared<CellularDataStateMachine>(
|
|
connectionManager, nullptr);
|
|
cellularMachine->capability_ = NetCap::NET_CAPABILITY_INTERNET;
|
|
cellularDataHandler->connectionManager_->cidActiveConnectionMap_[0] = cellularMachine;
|
|
EXPECT_NE(cellularDataHandler->connectionManager_->GetActiveConnectionByCid(0), nullptr);
|
|
EXPECT_TRUE(cellularDataHandler->HasInternetCapability(0));
|
|
}
|
|
|
|
/**
|
|
* @tc.number HasInternetCapabilityTest002
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HasInternetCapabilityTest002, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(1);
|
|
cellularDataHandler->Init();
|
|
auto connectionManager = std::make_shared<DataConnectionManager>(0);
|
|
std::shared_ptr<CellularDataStateMachine> cellularMachine = std::make_shared<CellularDataStateMachine>(
|
|
connectionManager, nullptr);
|
|
cellularMachine->capability_ = NetCap::NET_CAPABILITY_MMS;
|
|
cellularDataHandler->connectionManager_->cidActiveConnectionMap_[0] = cellularMachine;
|
|
EXPECT_NE(cellularDataHandler->connectionManager_->GetActiveConnectionByCid(0), nullptr);
|
|
EXPECT_FALSE(cellularDataHandler->HasInternetCapability(0));
|
|
}
|
|
|
|
/**
|
|
* @tc.number ChangeConnectionForDsdsTest001
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, ChangeConnectionForDsdsTest001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(1);
|
|
cellularDataHandler->Init();
|
|
cellularDataHandler->ChangeConnectionForDsds(true);
|
|
EXPECT_TRUE(cellularDataHandler->dataSwitchSettings_->internalDataOn_);
|
|
}
|
|
|
|
/**
|
|
* @tc.number GetDataConnApnAttrTest001
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, GetDataConnApnAttrTest001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(1);
|
|
cellularDataHandler->Init();
|
|
sptr<ApnHolder> apnHolder1 = std::make_unique<ApnHolder>("default", static_cast<int32_t>(0)).release();
|
|
apnHolder1->apnItem_ = nullptr;
|
|
apnHolder1->dataCallEnabled_ = true;
|
|
cellularDataHandler->apnManager_->apnHolders_.push_back(apnHolder1);
|
|
sptr<ApnHolder> apnHolder2 = std::make_unique<ApnHolder>("default", static_cast<int32_t>(0)).release();
|
|
sptr<ApnItem> apnItem = ApnItem::MakeDefaultApn(DATA_CONTEXT_ROLE_DEFAULT);
|
|
apnItem->attr_.isEdited_ = true;
|
|
apnHolder2->apnItem_ = apnItem;
|
|
apnHolder2->dataCallEnabled_ = true;
|
|
cellularDataHandler->apnManager_->apnHolders_.push_back(apnHolder2);
|
|
ApnItem::Attribute apnAttr;
|
|
apnAttr.isEdited_ = false;
|
|
cellularDataHandler->GetDataConnApnAttr(apnAttr);
|
|
EXPECT_TRUE(apnAttr.isEdited_);
|
|
}
|
|
|
|
/**
|
|
* @tc.number GetDataConnIpTypeTest001
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, GetDataConnIpTypeTest001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(1);
|
|
cellularDataHandler->Init();
|
|
sptr<ApnHolder> apnHolder1 = std::make_unique<ApnHolder>("default", static_cast<int32_t>(0)).release();
|
|
apnHolder1->cellularDataStateMachine_ = nullptr;
|
|
apnHolder1->dataCallEnabled_ = true;
|
|
cellularDataHandler->apnManager_->apnHolders_.push_back(apnHolder1);
|
|
sptr<ApnHolder> apnHolder2 = std::make_unique<ApnHolder>("default", static_cast<int32_t>(0)).release();
|
|
auto connectionManager = std::make_shared<DataConnectionManager>(0);
|
|
std::shared_ptr<CellularDataStateMachine> cellularMachine = std::make_shared<CellularDataStateMachine>(
|
|
connectionManager, nullptr);
|
|
cellularMachine->ipType_ = "IPV4";
|
|
apnHolder2->cellularDataStateMachine_ = cellularMachine;
|
|
apnHolder2->dataCallEnabled_ = true;
|
|
cellularDataHandler->apnManager_->apnHolders_.push_back(apnHolder2);
|
|
cellularDataHandler->GetDataConnIpType();
|
|
EXPECT_EQ(cellularDataHandler->GetDataConnIpType(), "IPV4");
|
|
}
|
|
|
|
/**
|
|
* @tc.number CheckForCompatibleDataConnectionTest001
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, CheckForCompatibleDataConnectionTest001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(1);
|
|
sptr<ApnHolder> apnHolder = std::make_unique<ApnHolder>("default", static_cast<int32_t>(0)).release();
|
|
apnHolder->apnType_ = DATA_CONTEXT_ROLE_DUN;
|
|
EXPECT_EQ(cellularDataHandler->CheckForCompatibleDataConnection(apnHolder), nullptr);
|
|
cellularDataHandler->Init();
|
|
EXPECT_EQ(cellularDataHandler->CheckForCompatibleDataConnection(apnHolder), nullptr);
|
|
}
|
|
|
|
/**
|
|
* @tc.number UpdateNetworkInfo_001
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, UpdateNetworkInfo_001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
EXPECT_EQ(cellularDataHandler->connectionManager_, nullptr);
|
|
EXPECT_FALSE(cellularDataHandler->UpdateNetworkInfo());
|
|
}
|
|
|
|
/**
|
|
* @tc.number UpdateNetworkInfo_002
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, UpdateNetworkInfo_002, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->Init();
|
|
EXPECT_NE(cellularDataHandler->connectionManager_, nullptr);
|
|
EXPECT_TRUE(cellularDataHandler->UpdateNetworkInfo());
|
|
}
|
|
|
|
/**
|
|
* @tc.number Telephony_MsgRequest
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, Telephony_MsgRequest, Function | MediumTest | Level1)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->Init();
|
|
NetRequest request1;
|
|
request1.capability = NetManagerStandard::NET_CAPABILITY_INTERNET;
|
|
|
|
EXPECT_TRUE(cellularDataHandler->RequestNet(request1));
|
|
NetRequest request2;
|
|
request2.capability = NetManagerStandard::NET_CAPABILITY_INTERNET;
|
|
EXPECT_TRUE(cellularDataHandler->RequestNet(request2));
|
|
sleep(2);
|
|
}
|
|
|
|
/**
|
|
* @tc.number Telephony_ConnectIfNeed
|
|
* @tc.name test error branch
|
|
* @tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, Telephony_ConnectIfNeed, Function | MediumTest | Level1)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->Init();
|
|
|
|
NetRequest request1;
|
|
request1.capability = NetManagerStandard::NET_CAPABILITY_INTERNET;
|
|
EXPECT_TRUE(cellularDataHandler->RequestNet(request1));
|
|
auto event1 = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_REQUEST_NETWORK, TYPE_REQUEST_NET);
|
|
auto apnHolder =
|
|
cellularDataHandler->apnManager_->FindApnHolderById(ApnManager::FindApnIdByCapability(request1.capability));
|
|
}
|
|
|
|
HWTEST_F(CellularDataHandlerTest, Telephony_CellularDataHandler_003, Function | MediumTest | Level1)
|
|
{
|
|
CellularDataController controller {0};
|
|
controller.Init();
|
|
ApnActivateReportInfo info1;
|
|
ApnActivateReportInfo info2;
|
|
EXPECT_TRUE(controller.GetDefaultActReportInfo(info1));
|
|
EXPECT_TRUE(controller.GetInternalActReportInfo(info2));
|
|
controller.cellularDataHandler_ = nullptr;
|
|
EXPECT_FALSE(controller.GetDefaultActReportInfo(info1));
|
|
EXPECT_FALSE(controller.GetInternalActReportInfo(info2));
|
|
}
|
|
|
|
HWTEST_F(CellularDataHandlerTest, DataConnCompleteUpdateStateTest001, Function | MediumTest | Level1)
|
|
{
|
|
int32_t slotId = 0;
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(slotId);
|
|
std::string apnType = DATA_CONTEXT_ROLE_MMS;
|
|
sptr<ApnHolder> apnHolder = new ApnHolder(apnType, slotId);
|
|
apnHolder->cellularDataStateMachine_ = nullptr;
|
|
auto resultInfo = std::make_shared<SetupDataCallResultInfo>();
|
|
cellularDataHandler->connectionManager_ = nullptr;
|
|
cellularDataHandler->physicalConnectionActiveState_ = true;
|
|
cellularDataHandler->incallDataStateMachine_ = nullptr;
|
|
cellularDataHandler->DataConnCompleteUpdateState(apnHolder, resultInfo);
|
|
EXPECT_FALSE(cellularDataHandler->isRilApnAttached_);
|
|
|
|
std::shared_ptr<DataConnectionManager> cdConnectionManager = nullptr;
|
|
std::shared_ptr<TelEventHandler> telEventHandler = nullptr;
|
|
apnHolder->cellularDataStateMachine_ = std::make_shared<CellularDataStateMachine>
|
|
(cdConnectionManager, std::move(telEventHandler));
|
|
apnHolder->cellularDataStateMachine_->netLinkInfo_ = new NetLinkInfo();
|
|
apnHolder->cellularDataStateMachine_->netSupplierInfo_ = nullptr;
|
|
cellularDataHandler->apnManager_ = std::make_unique<ApnManager>().release();
|
|
cellularDataHandler->apnManager_->allApnItem_.clear();
|
|
cellularDataHandler->connectionManager_ = std::make_shared<DataConnectionManager>(slotId);
|
|
cellularDataHandler->physicalConnectionActiveState_ = false;
|
|
cellularDataHandler->incallDataStateMachine_ =
|
|
cellularDataHandler->CreateIncallDataStateMachine(TelCallStatus::CALL_STATUS_DIALING);
|
|
apnHolder->apnType_ = DATA_CONTEXT_ROLE_DEFAULT;
|
|
apnHolder->apnItem_ = new ApnItem();
|
|
cellularDataHandler->DataConnCompleteUpdateState(apnHolder, resultInfo);
|
|
|
|
cellularDataHandler->apnManager_->preferId_ = 1;
|
|
cellularDataHandler->apnManager_->allApnItem_.push_back(new ApnItem());
|
|
cellularDataHandler->DataConnCompleteUpdateState(apnHolder, resultInfo);
|
|
EXPECT_FALSE(cellularDataHandler->isRilApnAttached_);
|
|
}
|
|
|
|
/**
|
|
@tc.number Telephony_CreateApnItem
|
|
@tc.name CreateApnItem
|
|
@tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, CreateApnItemTest001, Function | MediumTest | Level1)
|
|
{
|
|
int32_t slotId = 0;
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(slotId);
|
|
cellularDataHandler->apnManager_ = nullptr;
|
|
cellularDataHandler->CreateApnItem();
|
|
|
|
cellularDataHandler->Init();
|
|
EXPECT_FALSE(cellularDataHandler->apnManager_ == nullptr);
|
|
cellularDataHandler->CreateApnItem();
|
|
cellularDataHandler->SendEvent(CellularDataEventCode::MSG_RETRY_TO_CREATE_APN, 0, RETRY_DELAY_TIME);
|
|
cellularDataHandler->CreateApnItem();
|
|
EXPECT_FALSE(cellularDataHandler->HasInnerEvent(CellularDataEventCode::MSG_RETRY_TO_CREATE_APN));
|
|
}
|
|
|
|
HWTEST_F(CellularDataHandlerTest, CreateApnItemTest002, Function | MediumTest | Level1)
|
|
{
|
|
int32_t slotId = 2;
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(slotId);
|
|
|
|
cellularDataHandler->Init();
|
|
cellularDataHandler->retryCreateApnTimes_ = 3;
|
|
cellularDataHandler->CreateApnItem();
|
|
cellularDataHandler->RemoveEvent(CellularDataEventCode::MSG_RETRY_TO_CREATE_APN);
|
|
cellularDataHandler->retryCreateApnTimes_ = 2;
|
|
cellularDataHandler->CreateApnItem();
|
|
EXPECT_NE(cellularDataHandler->apnManager_, nullptr);
|
|
}
|
|
|
|
/**
|
|
@tc.number Telephony_IsCellularDataEnabled
|
|
@tc.name IsCellularDataEnabled
|
|
@tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, IsCellularDataEnabledTest001, Function | MediumTest | Level1)
|
|
{
|
|
int32_t slotId = 0;
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(slotId);
|
|
bool isDataEnabled = false;
|
|
EXPECT_NE(cellularDataHandler->IsCellularDataEnabled(isDataEnabled), TELEPHONY_ERR_SUCCESS);
|
|
|
|
cellularDataHandler->Init();
|
|
cellularDataHandler->dataSwitchSettings_->lastQryRet_ = -1;
|
|
EXPECT_EQ(cellularDataHandler->IsCellularDataEnabled(isDataEnabled), TELEPHONY_ERR_SUCCESS);
|
|
cellularDataHandler->dataSwitchSettings_->lastQryRet_ = TELEPHONY_ERR_SUCCESS;
|
|
EXPECT_EQ(cellularDataHandler->IsCellularDataEnabled(isDataEnabled), TELEPHONY_ERR_SUCCESS);
|
|
}
|
|
|
|
/**
|
|
@tc.number Telephony_CheckApnActivate
|
|
@tc.name CheckApnActivate001
|
|
@tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, CheckApnActivate001, Function | MediumTest | Level1)
|
|
{
|
|
int32_t slotId = 0;
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(slotId);
|
|
cellularDataHandler->Init();
|
|
cellularDataHandler->SetApnActivateStart(DATA_CONTEXT_ROLE_DEFAULT);
|
|
cellularDataHandler->SetApnActivateStart(DATA_CONTEXT_ROLE_INTERNAL_DEFAULT);
|
|
auto resultInfo1 = std::make_shared<SetupDataCallResultInfo>();
|
|
resultInfo1->flag = DATA_CONTEXT_ROLE_INTERNAL_DEFAULT_ID;
|
|
resultInfo1->reason = 0;
|
|
cellularDataHandler->SetApnActivateEnd(resultInfo1);
|
|
auto resultInfo2 = std::make_shared<SetupDataCallResultInfo>();
|
|
resultInfo2->flag = DATA_CONTEXT_ROLE_INTERNAL_DEFAULT_ID;
|
|
resultInfo2->reason = 1;
|
|
cellularDataHandler->SetApnActivateEnd(resultInfo2);
|
|
auto resultInfo3 = std::make_shared<SetupDataCallResultInfo>();
|
|
resultInfo3->flag = DATA_CONTEXT_ROLE_DEFAULT_ID;
|
|
resultInfo3->reason = 2;
|
|
cellularDataHandler->SetApnActivateEnd(resultInfo3);
|
|
auto resultInfo4 = std::make_shared<SetupDataCallResultInfo>();
|
|
resultInfo4->flag = DATA_CONTEXT_ROLE_DEFAULT_ID;
|
|
resultInfo4->reason = 2;
|
|
cellularDataHandler->SetApnActivateEnd(resultInfo4);
|
|
cellularDataHandler->GetApnActReportInfo(DATA_CONTEXT_ROLE_DEFAULT_ID);
|
|
cellularDataHandler->GetApnActReportInfo(DATA_CONTEXT_ROLE_INTERNAL_DEFAULT_ID);
|
|
int32_t listLen = 4;
|
|
EXPECT_EQ(cellularDataHandler->apnActivateChrList_.size(), listLen);
|
|
}
|
|
|
|
/**
|
|
@tc.number Telephony_CheckApnActivate002
|
|
@tc.name CheckApnActivate002
|
|
@tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, CheckApnActivate002, Function | MediumTest | Level1)
|
|
{
|
|
int32_t slotId = 0;
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(slotId);
|
|
cellularDataHandler->Init();
|
|
ApnActivateInfo info1;
|
|
info1.reason = 0;
|
|
info1.actSuccTime = 0;
|
|
info1.apnId = 1;
|
|
info1.duration = 0;
|
|
cellularDataHandler->apnActivateChrList_.push_back(info1);
|
|
cellularDataHandler->EraseApnActivateList();
|
|
EXPECT_EQ(cellularDataHandler->apnActivateChrList_.size(), 0);
|
|
}
|
|
|
|
/**
|
|
@tc.number Telephony_CheckMultiApnState
|
|
@tc.name CheckMultiApnState001
|
|
@tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, CheckMultiApnState001, Function | MediumTest | Level1)
|
|
{
|
|
int32_t slotId = 0;
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(slotId);
|
|
cellularDataHandler->Init();
|
|
sptr<ApnManager> apnManager = cellularDataHandler->apnManager_;
|
|
if (apnManager == nullptr) {
|
|
EXPECT_EQ(apnManager, nullptr);
|
|
} else {
|
|
sptr<ApnHolder> defaultApnHolder = apnManager->GetApnHolder(DATA_CONTEXT_ROLE_DEFAULT);
|
|
bool result = cellularDataHandler->CheckMultiApnState(defaultApnHolder);
|
|
EXPECT_EQ(result, false);
|
|
sptr<ApnHolder> bipApnHolder = apnManager->GetApnHolder(DATA_CONTEXT_ROLE_BIP);
|
|
result = cellularDataHandler->CheckMultiApnState(bipApnHolder);
|
|
EXPECT_EQ(result, false);
|
|
}
|
|
}
|
|
|
|
/**
|
|
@tc.number Telephony_CheckMultiApnState
|
|
@tc.name CheckMultiApnState002
|
|
@tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, CheckMultiApnState002, Function | MediumTest | Level1)
|
|
{
|
|
int32_t slotId = 0;
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(slotId);
|
|
cellularDataHandler->Init();
|
|
sptr<ApnManager> apnManager = cellularDataHandler->apnManager_;
|
|
if (apnManager == nullptr) {
|
|
EXPECT_EQ(apnManager, nullptr);
|
|
} else {
|
|
sptr<ApnHolder> defaultApnHolder = apnManager->GetApnHolder(DATA_CONTEXT_ROLE_DEFAULT);
|
|
sptr<ApnHolder> bipApnHolder = apnManager->GetApnHolder(DATA_CONTEXT_ROLE_BIP);
|
|
bipApnHolder->SetApnState(PROFILE_STATE_DISCONNECTING);
|
|
bool result = cellularDataHandler->CheckMultiApnState(defaultApnHolder);
|
|
EXPECT_EQ(result, true);
|
|
bipApnHolder->SetApnState(PROFILE_STATE_CONNECTED);
|
|
result = cellularDataHandler->CheckMultiApnState(defaultApnHolder);
|
|
EXPECT_EQ(result, true);
|
|
bipApnHolder->SetApnState(PROFILE_STATE_CONNECTING);
|
|
result = cellularDataHandler->CheckMultiApnState(defaultApnHolder);
|
|
EXPECT_EQ(result, true);
|
|
bipApnHolder->SetApnState(PROFILE_STATE_IDLE);
|
|
result = cellularDataHandler->CheckMultiApnState(defaultApnHolder);
|
|
EXPECT_EQ(result, false);
|
|
cellularDataHandler->apnManager_ = nullptr;
|
|
result = cellularDataHandler->CheckMultiApnState(defaultApnHolder);
|
|
EXPECT_EQ(result, false);
|
|
}
|
|
}
|
|
|
|
/**
|
|
@tc.number Telephony_CheckMultiApnState
|
|
@tc.name CheckMultiApnState003
|
|
@tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, CheckMultiApnState003, Function | MediumTest | Level1)
|
|
{
|
|
int32_t slotId = 0;
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(slotId);
|
|
cellularDataHandler->Init();
|
|
sptr<ApnManager> apnManager = cellularDataHandler->apnManager_;
|
|
if (apnManager == nullptr) {
|
|
EXPECT_EQ(apnManager, nullptr);
|
|
} else {
|
|
sptr<ApnHolder> defaultApnHolder = apnManager->GetApnHolder(DATA_CONTEXT_ROLE_DEFAULT);
|
|
cellularDataHandler->apnManager_ = nullptr;
|
|
bool result = cellularDataHandler->CheckMultiApnState(defaultApnHolder);
|
|
EXPECT_EQ(result, false);
|
|
}
|
|
}
|
|
|
|
/**
|
|
@tc.number Telephony_CheckMultiApnState
|
|
@tc.name CheckMultiApnState004
|
|
@tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, CheckMultiApnState004, Function | MediumTest | Level1)
|
|
{
|
|
int32_t slotId = 0;
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(slotId);
|
|
cellularDataHandler->Init();
|
|
sptr<ApnManager> apnManager = cellularDataHandler->apnManager_;
|
|
if (apnManager == nullptr) {
|
|
EXPECT_EQ(apnManager, nullptr);
|
|
} else {
|
|
sptr<ApnHolder> defaultApnHolder = apnManager->GetApnHolder(DATA_CONTEXT_ROLE_DEFAULT);
|
|
bool result = cellularDataHandler->CheckMultiApnState(defaultApnHolder);
|
|
EXPECT_EQ(result, false);
|
|
sptr<ApnHolder> dunApnHolder = apnManager->GetApnHolder(DATA_CONTEXT_ROLE_DUN);
|
|
result = cellularDataHandler->CheckMultiApnState(dunApnHolder);
|
|
EXPECT_EQ(result, false);
|
|
}
|
|
}
|
|
|
|
/**
|
|
@tc.number Telephony_CheckMultiApnState
|
|
@tc.name CheckMultiApnState005
|
|
@tc.desc Function test
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, CheckMultiApnState005, Function | MediumTest | Level1)
|
|
{
|
|
int32_t slotId = 0;
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(slotId);
|
|
cellularDataHandler->Init();
|
|
sptr<ApnManager> apnManager = cellularDataHandler->apnManager_;
|
|
if (apnManager == nullptr) {
|
|
EXPECT_EQ(apnManager, nullptr);
|
|
} else {
|
|
sptr<ApnHolder> defaultApnHolder = apnManager->GetApnHolder(DATA_CONTEXT_ROLE_DEFAULT);
|
|
sptr<ApnHolder> dunApnHolder = apnManager->GetApnHolder(DATA_CONTEXT_ROLE_DUN);
|
|
dunApnHolder->SetApnState(PROFILE_STATE_DISCONNECTING);
|
|
bool result = cellularDataHandler->CheckMultiApnState(defaultApnHolder);
|
|
EXPECT_EQ(result, true);
|
|
dunApnHolder->SetApnState(PROFILE_STATE_CONNECTED);
|
|
result = cellularDataHandler->CheckMultiApnState(defaultApnHolder);
|
|
EXPECT_EQ(result, true);
|
|
dunApnHolder->SetApnState(PROFILE_STATE_CONNECTING);
|
|
result = cellularDataHandler->CheckMultiApnState(defaultApnHolder);
|
|
EXPECT_EQ(result, true);
|
|
dunApnHolder->SetApnState(PROFILE_STATE_IDLE);
|
|
result = cellularDataHandler->CheckMultiApnState(defaultApnHolder);
|
|
EXPECT_EQ(result, false);
|
|
cellularDataHandler->apnManager_ = nullptr;
|
|
result = cellularDataHandler->CheckMultiApnState(defaultApnHolder);
|
|
EXPECT_EQ(result, false);
|
|
}
|
|
}
|
|
|
|
HWTEST_F(CellularDataHandlerTest, HandleRetryLoadSimAccount001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
auto event0 = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_RETRY_TO_LOAD_SIM_ACCOUNT);
|
|
auto event1 = AppExecFwk::InnerEvent::Get(RadioEvent::RADIO_SIM_ACCOUNT_LOADED);
|
|
|
|
// false false
|
|
cellularDataHandler->isSimAccountLoaded_ = false;
|
|
cellularDataHandler->HandleRetryLoadSimAccount(event0);
|
|
EXPECT_FALSE(cellularDataHandler->isSimAccountLoaded_);
|
|
|
|
// true false
|
|
cellularDataHandler->SendEvent(event0, 5000);
|
|
cellularDataHandler->HandleRetryLoadSimAccount(event0);
|
|
EXPECT_TRUE(cellularDataHandler->HasInnerEvent(CellularDataEventCode::MSG_RETRY_TO_LOAD_SIM_ACCOUNT));
|
|
cellularDataHandler->RemoveEvent(CellularDataEventCode::MSG_RETRY_TO_LOAD_SIM_ACCOUNT);
|
|
|
|
// false true
|
|
cellularDataHandler->isSimAccountLoaded_ = false;
|
|
cellularDataHandler->SendEvent(event1, 5000);
|
|
cellularDataHandler->HandleRetryLoadSimAccount(event0);
|
|
EXPECT_TRUE(cellularDataHandler->HasInnerEvent(RadioEvent::RADIO_SIM_ACCOUNT_LOADED));
|
|
cellularDataHandler->RemoveEvent(RadioEvent::RADIO_SIM_ACCOUNT_LOADED);
|
|
|
|
// true true
|
|
cellularDataHandler->isSimAccountLoaded_ = true;
|
|
cellularDataHandler->SendEvent(event1, 5000);
|
|
cellularDataHandler->HandleRetryLoadSimAccount(event0);
|
|
EXPECT_FALSE(cellularDataHandler->HasInnerEvent(CellularDataEventCode::MSG_RETRY_TO_LOAD_SIM_ACCOUNT));
|
|
cellularDataHandler->RemoveEvent(RadioEvent::RADIO_SIM_ACCOUNT_LOADED);
|
|
}
|
|
|
|
/**
|
|
* @tc.number OnDataShareReady_001
|
|
* @tc.name Test OnDataShareReady - isSimAccountLoaded_ is false, no RADIO_SIM_ACCOUNT_LOADED event
|
|
* @tc.desc Branch coverage test: should start load sim account timer
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, OnDataShareReady_001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->isSimAccountLoaded_ = false;
|
|
cellularDataHandler->RemoveEvent(RadioEvent::RADIO_SIM_ACCOUNT_LOADED);
|
|
cellularDataHandler->OnDataShareReady();
|
|
EXPECT_TRUE(cellularDataHandler->HasInnerEvent(CellularDataEventCode::MSG_RETRY_TO_LOAD_SIM_ACCOUNT));
|
|
cellularDataHandler->StopLoadSimAccountTimer();
|
|
}
|
|
|
|
/**
|
|
* @tc.number OnDataShareReady_002
|
|
* @tc.name Test OnDataShareReady - isSimAccountLoaded_ is true
|
|
* @tc.desc Branch coverage test: should not start load sim account timer
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, OnDataShareReady_002, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->isSimAccountLoaded_ = true;
|
|
cellularDataHandler->RemoveEvent(RadioEvent::RADIO_SIM_ACCOUNT_LOADED);
|
|
cellularDataHandler->OnDataShareReady();
|
|
EXPECT_FALSE(cellularDataHandler->HasInnerEvent(CellularDataEventCode::MSG_RETRY_TO_LOAD_SIM_ACCOUNT));
|
|
}
|
|
|
|
/**
|
|
* @tc.number OnDataShareReady_003
|
|
* @tc.name Test OnDataShareReady - has RADIO_SIM_ACCOUNT_LOADED event
|
|
* @tc.desc Branch coverage test: should not start load sim account timer
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, OnDataShareReady_003, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->isSimAccountLoaded_ = false;
|
|
auto event = AppExecFwk::InnerEvent::Get(RadioEvent::RADIO_SIM_ACCOUNT_LOADED);
|
|
cellularDataHandler->SendEvent(event, 5000);
|
|
cellularDataHandler->OnDataShareReady();
|
|
EXPECT_FALSE(cellularDataHandler->HasInnerEvent(CellularDataEventCode::MSG_RETRY_TO_LOAD_SIM_ACCOUNT));
|
|
cellularDataHandler->RemoveEvent(RadioEvent::RADIO_SIM_ACCOUNT_LOADED);
|
|
}
|
|
|
|
/**
|
|
* @tc.number StartLoadSimAccountTimer_001
|
|
* @tc.name Test StartLoadSimAccountTimer - times <= 0
|
|
* @tc.desc Branch coverage test: should return early
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, StartLoadSimAccountTimer_001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->StartLoadSimAccountTimer(0);
|
|
EXPECT_FALSE(cellularDataHandler->HasInnerEvent(CellularDataEventCode::MSG_RETRY_TO_LOAD_SIM_ACCOUNT));
|
|
cellularDataHandler->StartLoadSimAccountTimer(-1);
|
|
EXPECT_FALSE(cellularDataHandler->HasInnerEvent(CellularDataEventCode::MSG_RETRY_TO_LOAD_SIM_ACCOUNT));
|
|
}
|
|
|
|
/**
|
|
* @tc.number StartLoadSimAccountTimer_002
|
|
* @tc.name Test StartLoadSimAccountTimer - times > 0, no existing event
|
|
* @tc.desc Branch coverage test: should send event
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, StartLoadSimAccountTimer_002, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->StopLoadSimAccountTimer();
|
|
cellularDataHandler->StartLoadSimAccountTimer(1);
|
|
EXPECT_TRUE(cellularDataHandler->HasInnerEvent(CellularDataEventCode::MSG_RETRY_TO_LOAD_SIM_ACCOUNT));
|
|
cellularDataHandler->StopLoadSimAccountTimer();
|
|
}
|
|
|
|
/**
|
|
* @tc.number StartLoadSimAccountTimer_003
|
|
* @tc.name Test StartLoadSimAccountTimer - times > 0, has existing event
|
|
* @tc.desc Branch coverage test: should not send duplicate event
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, StartLoadSimAccountTimer_003, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->StartLoadSimAccountTimer(1);
|
|
EXPECT_TRUE(cellularDataHandler->HasInnerEvent(CellularDataEventCode::MSG_RETRY_TO_LOAD_SIM_ACCOUNT));
|
|
cellularDataHandler->StartLoadSimAccountTimer(2);
|
|
EXPECT_TRUE(cellularDataHandler->HasInnerEvent(CellularDataEventCode::MSG_RETRY_TO_LOAD_SIM_ACCOUNT));
|
|
cellularDataHandler->StopLoadSimAccountTimer();
|
|
}
|
|
|
|
/**
|
|
* @tc.number HandleRetryLoadSimAccount_002
|
|
* @tc.name Test HandleRetryLoadSimAccount - event is nullptr
|
|
* @tc.desc Branch coverage test: should return early
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HandleRetryLoadSimAccount_002, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->isSimAccountLoaded_ = false;
|
|
auto event = AppExecFwk::InnerEvent::Get(0);
|
|
event = nullptr;
|
|
cellularDataHandler->HandleRetryLoadSimAccount(event);
|
|
EXPECT_FALSE(cellularDataHandler->isSimAccountLoaded_);
|
|
}
|
|
|
|
/**
|
|
* @tc.number HandleRetryLoadSimAccount_003
|
|
* @tc.name Test HandleRetryLoadSimAccount - simId <= INVALID_SIM_ID with retry times
|
|
* @tc.desc Branch coverage test: should retry with times - 1
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HandleRetryLoadSimAccount_003, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(-1);
|
|
auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_RETRY_TO_LOAD_SIM_ACCOUNT, 2);
|
|
cellularDataHandler->isSimAccountLoaded_ = false;
|
|
cellularDataHandler->RemoveEvent(RadioEvent::RADIO_SIM_ACCOUNT_LOADED);
|
|
cellularDataHandler->HandleRetryLoadSimAccount(event);
|
|
EXPECT_FALSE(cellularDataHandler->isSimAccountLoaded_);
|
|
}
|
|
|
|
/**
|
|
* @tc.number HandleRetryLoadSimAccount_004
|
|
* @tc.name Test HandleRetryLoadSimAccount - simId > INVALID_SIM_ID, isSimAccountLoaded_ is true
|
|
* @tc.desc Branch coverage test: should not call HandleSimAccountLoaded
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HandleRetryLoadSimAccount_004, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(-1);
|
|
auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_RETRY_TO_LOAD_SIM_ACCOUNT);
|
|
cellularDataHandler->isSimAccountLoaded_ = true;
|
|
cellularDataHandler->RemoveEvent(RadioEvent::RADIO_SIM_ACCOUNT_LOADED);
|
|
cellularDataHandler->HandleRetryLoadSimAccount(event);
|
|
EXPECT_TRUE(cellularDataHandler->isSimAccountLoaded_);
|
|
}
|
|
|
|
/**
|
|
* @tc.number HandleRetryLoadSimAccount_005
|
|
* @tc.name Test HandleRetryLoadSimAccount - simId > INVALID_SIM_ID, has RADIO_SIM_ACCOUNT_LOADED event
|
|
* @tc.desc Branch coverage test: should not call HandleSimAccountLoaded
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HandleRetryLoadSimAccount_005, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(-1);
|
|
auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_RETRY_TO_LOAD_SIM_ACCOUNT);
|
|
auto simEvent = AppExecFwk::InnerEvent::Get(RadioEvent::RADIO_SIM_ACCOUNT_LOADED);
|
|
cellularDataHandler->isSimAccountLoaded_ = false;
|
|
cellularDataHandler->SendEvent(simEvent, 5000);
|
|
cellularDataHandler->HandleRetryLoadSimAccount(event);
|
|
EXPECT_FALSE(cellularDataHandler->isSimAccountLoaded_);
|
|
cellularDataHandler->RemoveEvent(RadioEvent::RADIO_SIM_ACCOUNT_LOADED);
|
|
}
|
|
|
|
/**
|
|
* @tc.number HandleRetryLoadSimAccount_006
|
|
* @tc.name Test HandleRetryLoadSimAccount - simId > INVALID_SIM_ID, has RADIO_SIM_ACCOUNT_LOADED event
|
|
* @tc.desc Branch coverage test: should not call HandleSimAccountLoaded
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, HandleRetryLoadSimAccount_006, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(-1);
|
|
auto event = AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_RETRY_TO_LOAD_SIM_ACCOUNT);
|
|
auto simEvent = AppExecFwk::InnerEvent::Get(RadioEvent::RADIO_SIM_ACCOUNT_LOADED);
|
|
cellularDataHandler->isSimAccountLoaded_ = true;
|
|
cellularDataHandler->SendEvent(simEvent, 5000);
|
|
cellularDataHandler->HandleRetryLoadSimAccount(event);
|
|
EXPECT_TRUE(cellularDataHandler->isSimAccountLoaded_);
|
|
cellularDataHandler->RemoveEvent(RadioEvent::RADIO_SIM_ACCOUNT_LOADED);
|
|
}
|
|
|
|
/**
|
|
* @tc.number StopLoadSimAccountTimer_001
|
|
* @tc.name Test StopLoadSimAccountTimer - remove event
|
|
* @tc.desc Branch coverage test: should remove MSG_RETRY_TO_LOAD_SIM_ACCOUNT event
|
|
*/
|
|
HWTEST_F(CellularDataHandlerTest, StopLoadSimAccountTimer_001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->StartLoadSimAccountTimer(1);
|
|
EXPECT_TRUE(cellularDataHandler->HasInnerEvent(CellularDataEventCode::MSG_RETRY_TO_LOAD_SIM_ACCOUNT));
|
|
cellularDataHandler->StopLoadSimAccountTimer();
|
|
EXPECT_FALSE(cellularDataHandler->HasInnerEvent(CellularDataEventCode::MSG_RETRY_TO_LOAD_SIM_ACCOUNT));
|
|
}
|
|
|
|
HWTEST_F(CellularDataHandlerTest, MsgRequestNetwork001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->apnManager_ = sptr<ApnManager>::MakeSptr();
|
|
cellularDataHandler->apnManager_->InitApnHolders();
|
|
std::unique_ptr<NetRequest> netRequest = std::make_unique<NetRequest>();
|
|
netRequest->capability = NetManagerStandard::NetCap::NET_CAPABILITY_INTERNET;
|
|
sptr<ApnHolder> apnHolder = cellularDataHandler->apnManager_->FindApnHolderById(DATA_CONTEXT_ROLE_DEFAULT_ID);
|
|
ASSERT_NE(apnHolder, nullptr);
|
|
apnHolder->dataCallEnabled_ = true;
|
|
AppExecFwk::InnerEvent::Pointer event =
|
|
AppExecFwk::InnerEvent::Get(CellularDataEventCode::MSG_REQUEST_NETWORK, netRequest, TYPE_RELEASE_NET);
|
|
cellularDataHandler->MsgRequestNetwork(event);
|
|
EXPECT_FALSE(apnHolder->dataCallEnabled_);
|
|
}
|
|
|
|
HWTEST_F(CellularDataHandlerTest, IsBlockSetRilAttachApn_001, Function | MediumTest | Level3)
|
|
{
|
|
auto cellularDataHandler = std::make_shared<CellularDataHandler>(0);
|
|
cellularDataHandler->Init();
|
|
cellularDataHandler->lastNumeric_ = "00101";
|
|
EXPECT_FALSE(cellularDataHandler->IsBlockSetRilAttachApn());
|
|
|
|
cellularDataHandler->lastNumeric_ = "99999";
|
|
EXPECT_FALSE(cellularDataHandler->IsBlockSetRilAttachApn());
|
|
}
|
|
|
|
} // namespace Telephony
|
|
} // namespace OHOS
|