* Copyright (C) 2023-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 "cdma_sms_receive_handler.h"
#include "cdma_sms_message.h"
#include "cdma_sms_transport_message.h"
#include "core_service_client.h"
#include "gtest/gtest.h"
#include "i_sms_service_interface.h"
#include "if_system_ability_manager.h"
#include "iservice_registry.h"
#include "radio_event.h"
#include "sms_mms_gtest.h"
#include "sms_mms_test_helper.h"
#include "sms_service.h"
#include "sms_service_manager_client.h"
#include "string_utils.h"
#include "telephony_log_wrapper.h"
#include "sms_cb_data.h"
#undef private
#undef protected
#define INVALID_SLOTID (-1)
namespace OHOS {
namespace Telephony {
namespace {
sptr<ISmsServiceInterface> g_telephonyService = nullptr;
}
using namespace testing::ext;
class MMSCdmaReceiverHandlerTest : public testing::Test {
public:
static void SetUpTestCase();
static void TearDownTestCase();
void SetUp();
void TearDown();
};
constexpr uint32_t EVENT_RELEASE_DATA_SHARE_HELPER = 10000;
void MMSCdmaReceiverHandlerTest::TearDownTestCase()
{
DelayedSingleton<SmsPersistHelper>::GetInstance()->RemoveEvent(EVENT_RELEASE_DATA_SHARE_HELPER);
}
void MMSCdmaReceiverHandlerTest::SetUp() {}
void MMSCdmaReceiverHandlerTest::TearDown() {}
void MMSCdmaReceiverHandlerTest::SetUpTestCase() {}
* @tc.number CdmaSmsMessage_001
* @tc.name Test HandleAck
* @tc.desc Function test
*/
HWTEST_F(MMSCdmaReceiverHandlerTest, CdmaSmsMessage_001, Function | MediumTest | Level1)
{
std::shared_ptr<CdmaSmsReceiveHandler> smsReceiveHandler = std::make_shared<CdmaSmsReceiveHandler>(INVALID_SLOTID);
smsReceiveHandler->Init();
std::string pdu = StringUtils::HexToString("16D131D98C56B3DD7039584C36A3D56C375C0E169301");
std::shared_ptr<SmsBaseMessage> smsBaseMessage = nullptr;
EXPECT_EQ(AckIncomeCause::SMS_ACK_UNKNOWN_ERROR, smsReceiveHandler->HandleAck(smsBaseMessage));
smsBaseMessage = GsmSmsMessage::CreateMessage(pdu);
EXPECT_EQ(nullptr, smsBaseMessage);
}
* @tc.number CdmaSmsMessage_002
* @tc.name Test HandleRemainDataShare
* @tc.desc Function test
*/
HWTEST_F(MMSCdmaReceiverHandlerTest, CdmaSmsMessage_002, Function | MediumTest | Level1)
{
std::shared_ptr<CdmaSmsReceiveHandler> smsReceiveHandler = std::make_shared<CdmaSmsReceiveHandler>(INVALID_SLOTID);
smsReceiveHandler->Init();
std::string pdu = StringUtils::HexToString("16D131D98C56B3DD7039584C36A3D56C375C0E169301");
std::shared_ptr<SmsBaseMessage> smsBaseMessage = nullptr;
smsReceiveHandler->HandleRemainDataShare(smsBaseMessage);
smsBaseMessage = GsmSmsMessage::CreateMessage(pdu);
EXPECT_EQ(nullptr, smsBaseMessage);
}
* @tc.number CdmaSmsMessage_003
* @tc.name Test HandleRemainDataShare
* @tc.desc Function test
*/
HWTEST_F(MMSCdmaReceiverHandlerTest, CdmaSmsMessage_003, Function | MediumTest | Level1)
{
std::shared_ptr<CdmaSmsReceiveHandler> smsReceiveHandler = std::make_shared<CdmaSmsReceiveHandler>(INVALID_SLOTID);
smsReceiveHandler->Init();
std::string pdu = "PDU";
std::shared_ptr<SmsBaseMessage> smsBaseMessage = nullptr;
smsReceiveHandler->HandleRemainDataShare(smsBaseMessage);
smsBaseMessage = GsmSmsMessage::CreateMessage(pdu);
EXPECT_EQ(nullptr, smsBaseMessage);
}
* @tc.number CdmaSmsMessage_004
* @tc.name Test GetDB
* @tc.desc Function test
*/
HWTEST_F(MMSCdmaReceiverHandlerTest, CdmaSmsMessage_004, Function | MediumTest | Level1)
{
std::shared_ptr<CdmaSmsReceiveHandler> smsReceiveHandler = std::make_shared<CdmaSmsReceiveHandler>(INVALID_SLOTID);
smsReceiveHandler->Init();
std::string pdu = "PDU";
const std::shared_ptr<SmsBaseMessage> smsBaseMessage = GsmSmsMessage::CreateMessage(pdu);
SmsCbData::CbData sendData;
bool isEmergency = false;
smsReceiveHandler->GetCBData(smsBaseMessage, sendData, isEmergency);
EXPECT_FALSE(isEmergency);
}
}
}