1/* 2 * Copyright (C) 2024 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15#include "satellite_sms_callback.h" 16#include "sms_common.h" 17#include "telephony_errors.h" 18#include "gtest/gtest.h" 19#define private public 20#define protected public 21#include "mms_receive_manager.h" 22#include "satellite_sms_client.h" 23#include "mms_send_manager.h" 24#undef private 25#undef protected 26 27namespace OHOS { 28namespace Telephony { 29using namespace testing::ext; 30 31class MmsReceiveManagerTest : public testing::Test { 32public: 33 static void SetUpTestCase(); 34 static void TearDownTestCase(); 35 void SetUp(); 36 void TearDown(); 37}; 38void MmsReceiveManagerTest::SetUpTestCase() {} 39void MmsReceiveManagerTest::TearDownTestCase() {} 40void MmsReceiveManagerTest::SetUp() {} 41void MmsReceiveManagerTest::TearDown() {} 42 43/** 44 * @tc.number MmsReceiveManagerTest_001 45 * @tc.name MmsReceiveManagerTest_001 46 * @tc.desc Function test 47 */ 48HWTEST_F(MmsReceiveManagerTest, MmsReceiveManagerTest_001, Function | MediumTest | Level1) 49{ 50 MmsReceiveManager recvMgr(1); 51 std::u16string mmsc = u"mmsc"; 52 std::u16string data; 53 std::u16string ua = u"ua"; 54 std::u16string uaprof = u"uaprof"; 55 recvMgr.Init(); 56 EXPECT_NE(recvMgr.DownloadMms(mmsc, data, ua, uaprof), TELEPHONY_ERR_SUCCESS); 57} 58 59/** 60 * @tc.number MmsReceiveManagerTest_002 61 * @tc.name MmsReceiveManagerTest_001 62 * @tc.desc Function test 63 */ 64HWTEST_F(MmsReceiveManagerTest, MmsReceiveManagerTest_002, Function | MediumTest | Level1) 65{ 66 MmsReceiveManager recvMgr(1); 67 std::u16string mmsc = u"mmsc"; 68 std::u16string data; 69 std::u16string ua = u"ua"; 70 std::u16string uaprof = u"uaprof"; 71 recvMgr.Init(); 72 recvMgr.mmsReceiver_ = nullptr; 73 EXPECT_EQ(recvMgr.DownloadMms(mmsc, data, ua, uaprof), TELEPHONY_ERR_LOCAL_PTR_NULL); 74} 75 76/** 77 * @tc.number SatelliteSmsClient_001 78 * @tc.name SatelliteSmsClient_001 79 * @tc.desc Function test 80 */ 81HWTEST_F(MmsReceiveManagerTest, SatelliteSmsClient_001, Function | MediumTest | Level1) 82{ 83 auto &satelliteSmsClient = SatelliteSmsClient::GetInstance(); 84 EXPECT_EQ(nullptr, satelliteSmsClient.GetProxy()); 85 satelliteSmsClient.RemoveDeathRecipient(nullptr, true); 86 satelliteSmsClient.RemoveDeathRecipient(nullptr, false); 87 88 int32_t slotId = 1; 89 EXPECT_EQ(TELEPHONY_ERR_LOCAL_PTR_NULL, satelliteSmsClient.AddSendHandler(slotId, nullptr)); 90 const std::shared_ptr<TelEventHandler> sender = std::make_shared<MmsSendManager>(slotId); 91 EXPECT_EQ(TELEPHONY_SUCCESS, satelliteSmsClient.AddSendHandler(slotId, sender)); 92} 93/** 94 * @tc.number SatelliteSmsClient_002 95 * @tc.name SatelliteSmsClient_002 96 * @tc.desc Function test 97 */ 98HWTEST_F(MmsReceiveManagerTest, SatelliteSmsClient_002, Function | MediumTest | Level1) 99{ 100 auto &satelliteSmsClient = SatelliteSmsClient::GetInstance(); 101 EXPECT_EQ(nullptr, satelliteSmsClient.GetProxy()); 102 103 int32_t slotId = 1; 104 EXPECT_EQ(TELEPHONY_ERR_LOCAL_PTR_NULL, satelliteSmsClient.AddReceiveHandler(slotId, nullptr)); 105 const std::shared_ptr<TelEventHandler> receiver = std::make_shared<MmsReceiveManager>(slotId); 106 EXPECT_EQ(TELEPHONY_SUCCESS, satelliteSmsClient.AddReceiveHandler(slotId, receiver)); 107} 108 109/** 110 * @tc.number SatelliteSmsClient_003 111 * @tc.name SatelliteSmsClient_003 112 * @tc.desc Function test 113 */ 114HWTEST_F(MmsReceiveManagerTest, SatelliteSmsClient_003, Function | MediumTest | Level1) 115{ 116 auto &satelliteSmsClient = SatelliteSmsClient::GetInstance(); 117 EXPECT_EQ(nullptr, satelliteSmsClient.GetProxy()); 118 int32_t slotId = 1; 119 satelliteSmsClient.senderMap_.clear(); 120 satelliteSmsClient.receiverMap_.clear(); 121 satelliteSmsClient.senderMap_[slotId] = nullptr; 122 ASSERT_EQ(satelliteSmsClient.senderMap_.size(), 1); 123 satelliteSmsClient.ServiceOn(); 124 satelliteSmsClient.senderMap_.clear(); 125 126 satelliteSmsClient.receiverMap_[slotId] = nullptr; 127 satelliteSmsClient.ServiceOn(); 128 satelliteSmsClient.receiverMap_.clear(); 129} 130} 131} 132