1e5d0e473Sopenharmony_ci/* 2e5d0e473Sopenharmony_ci * Copyright (C) 2022 Huawei Device Co., Ltd. 3e5d0e473Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4e5d0e473Sopenharmony_ci * you may not use this file except in compliance with the License. 5e5d0e473Sopenharmony_ci * You may obtain a copy of the License at 6e5d0e473Sopenharmony_ci * 7e5d0e473Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8e5d0e473Sopenharmony_ci * 9e5d0e473Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10e5d0e473Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11e5d0e473Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12e5d0e473Sopenharmony_ci * See the License for the specific language governing permissions and 13e5d0e473Sopenharmony_ci * limitations under the License. 14e5d0e473Sopenharmony_ci */ 15e5d0e473Sopenharmony_ci 16e5d0e473Sopenharmony_ci#define private public 17e5d0e473Sopenharmony_ci#define protected public 18e5d0e473Sopenharmony_ci 19e5d0e473Sopenharmony_ci#include "gtest/gtest.h" 20e5d0e473Sopenharmony_ci#include "data_request.h" 21e5d0e473Sopenharmony_ci#include "mms_apn_info.h" 22e5d0e473Sopenharmony_ci#include "mms_receive.h" 23e5d0e473Sopenharmony_ci#include "mms_receive_manager.h" 24e5d0e473Sopenharmony_ci#include "mms_sender.h" 25e5d0e473Sopenharmony_ci#include "mms_send_manager.h" 26e5d0e473Sopenharmony_ci#include "mms_network_client.h" 27e5d0e473Sopenharmony_ci 28e5d0e473Sopenharmony_cinamespace OHOS { 29e5d0e473Sopenharmony_cinamespace Telephony { 30e5d0e473Sopenharmony_ciusing namespace testing::ext; 31e5d0e473Sopenharmony_ciclass MmsReceiveGtest : public testing::Test { 32e5d0e473Sopenharmony_cipublic: 33e5d0e473Sopenharmony_ci static void SetUpTestCase(); 34e5d0e473Sopenharmony_ci static void TearDownTestCase(); 35e5d0e473Sopenharmony_ci void SetUp(); 36e5d0e473Sopenharmony_ci void TearDown(); 37e5d0e473Sopenharmony_ci}; 38e5d0e473Sopenharmony_civoid MmsReceiveGtest::SetUpTestCase() {} 39e5d0e473Sopenharmony_ci 40e5d0e473Sopenharmony_civoid MmsReceiveGtest::TearDownTestCase() {} 41e5d0e473Sopenharmony_ci 42e5d0e473Sopenharmony_civoid MmsReceiveGtest::SetUp() {} 43e5d0e473Sopenharmony_ci 44e5d0e473Sopenharmony_civoid MmsReceiveGtest::TearDown() {} 45e5d0e473Sopenharmony_ci/** 46e5d0e473Sopenharmony_ci * @tc.number Telephony_MmsReceiveManagerTest_0001 47e5d0e473Sopenharmony_ci * @tc.name Test MmsReceiveManager 48e5d0e473Sopenharmony_ci * @tc.desc Function test 49e5d0e473Sopenharmony_ci */ 50e5d0e473Sopenharmony_ciHWTEST_F(MmsReceiveGtest, MmsReceiveManagerTest_0001, Function | MediumTest | Level1) 51e5d0e473Sopenharmony_ci{ 52e5d0e473Sopenharmony_ci int32_t slotId = 0; 53e5d0e473Sopenharmony_ci auto mmsReceiverManager = std::make_shared<MmsReceiveManager>(slotId); 54e5d0e473Sopenharmony_ci ASSERT_NE(mmsReceiverManager, nullptr); 55e5d0e473Sopenharmony_ci std::u16string mmsc = u""; 56e5d0e473Sopenharmony_ci std::u16string data = u""; 57e5d0e473Sopenharmony_ci std::u16string ua = u""; 58e5d0e473Sopenharmony_ci std::u16string uaprof = u""; 59e5d0e473Sopenharmony_ci int32_t stata = mmsReceiverManager->DownloadMms(mmsc, data, ua, uaprof); 60e5d0e473Sopenharmony_ci EXPECT_EQ(stata, TELEPHONY_ERR_LOCAL_PTR_NULL); 61e5d0e473Sopenharmony_ci 62e5d0e473Sopenharmony_ci mmsReceiverManager->Init(); 63e5d0e473Sopenharmony_ci stata = mmsReceiverManager->DownloadMms(mmsc, data, ua, uaprof); 64e5d0e473Sopenharmony_ci EXPECT_EQ(stata, TELEPHONY_ERR_MMS_FAIL_DATA_NETWORK_ERROR); 65e5d0e473Sopenharmony_ci} 66e5d0e473Sopenharmony_ci 67e5d0e473Sopenharmony_ci/** 68e5d0e473Sopenharmony_ci * @tc.number Telephony_MmsSendManagerTest_0001 69e5d0e473Sopenharmony_ci * @tc.name Test MmsSendManager 70e5d0e473Sopenharmony_ci * @tc.desc Function test 71e5d0e473Sopenharmony_ci */ 72e5d0e473Sopenharmony_ciHWTEST_F(MmsReceiveGtest, MmsSendManagerTest_0001, Function | MediumTest | Level1) 73e5d0e473Sopenharmony_ci{ 74e5d0e473Sopenharmony_ci int32_t slotId = 0; 75e5d0e473Sopenharmony_ci auto mmsSendManager = std::make_shared<MmsSendManager>(slotId); 76e5d0e473Sopenharmony_ci ASSERT_NE(nullptr, mmsSendManager); 77e5d0e473Sopenharmony_ci mmsSendManager->Init(); 78e5d0e473Sopenharmony_ci std::u16string mmsc = u""; 79e5d0e473Sopenharmony_ci std::u16string data = u""; 80e5d0e473Sopenharmony_ci std::u16string ua = u""; 81e5d0e473Sopenharmony_ci std::u16string uaprof = u""; 82e5d0e473Sopenharmony_ci int32_t stata = mmsSendManager->SendMms(mmsc, data, ua, uaprof); 83e5d0e473Sopenharmony_ci EXPECT_EQ(stata, TELEPHONY_ERR_MMS_FAIL_DATA_NETWORK_ERROR); 84e5d0e473Sopenharmony_ci} 85e5d0e473Sopenharmony_ci 86e5d0e473Sopenharmony_ci/** 87e5d0e473Sopenharmony_ci * @tc.number Telephony_DataRequestTest_0001 88e5d0e473Sopenharmony_ci * @tc.name Test DataRequest 89e5d0e473Sopenharmony_ci * @tc.desc Function test 90e5d0e473Sopenharmony_ci */ 91e5d0e473Sopenharmony_ciHWTEST_F(MmsReceiveGtest, DataRequestTest_0001, Function | MediumTest | Level1) 92e5d0e473Sopenharmony_ci{ 93e5d0e473Sopenharmony_ci int32_t slotId = 0; 94e5d0e473Sopenharmony_ci auto dataRequest = std::make_shared<DataRequest>(slotId); 95e5d0e473Sopenharmony_ci ASSERT_NE(nullptr, dataRequest); 96e5d0e473Sopenharmony_ci std::string method; 97e5d0e473Sopenharmony_ci auto netMgr = std::make_shared<MmsNetworkManager>(); 98e5d0e473Sopenharmony_ci ASSERT_NE(nullptr, netMgr); 99e5d0e473Sopenharmony_ci std::string contentUrl; 100e5d0e473Sopenharmony_ci std::string pduDir; 101e5d0e473Sopenharmony_ci int32_t stata = dataRequest->HttpRequest(slotId, method, netMgr, contentUrl, pduDir, "ua", "uaprof"); 102e5d0e473Sopenharmony_ci EXPECT_NE(stata, TELEPHONY_ERR_MMS_FAIL_DATA_NETWORK_ERROR); 103e5d0e473Sopenharmony_ci} 104e5d0e473Sopenharmony_ci 105e5d0e473Sopenharmony_ci/** 106e5d0e473Sopenharmony_ci * @tc.number Telephony_MmsApnInfoTest_0001 107e5d0e473Sopenharmony_ci * @tc.name Test MmsApnInfo 108e5d0e473Sopenharmony_ci * @tc.desc Function test 109e5d0e473Sopenharmony_ci */ 110e5d0e473Sopenharmony_ciHWTEST_F(MmsReceiveGtest, MmsApnInfoTest_0001, Function | MediumTest | Level1) 111e5d0e473Sopenharmony_ci{ 112e5d0e473Sopenharmony_ci int32_t slotId = 0; 113e5d0e473Sopenharmony_ci auto mmsApnInfo = std::make_shared<MmsApnInfo>(slotId); 114e5d0e473Sopenharmony_ci ASSERT_NE(nullptr, mmsApnInfo); 115e5d0e473Sopenharmony_ci std::string apn = "mms,mms,mms,mms"; 116e5d0e473Sopenharmony_ci EXPECT_TRUE(mmsApnInfo->SplitAndMatchApnTypes(apn)); 117e5d0e473Sopenharmony_ci apn = ""; 118e5d0e473Sopenharmony_ci EXPECT_FALSE(mmsApnInfo->SplitAndMatchApnTypes(apn)); 119e5d0e473Sopenharmony_ci} 120e5d0e473Sopenharmony_ci 121e5d0e473Sopenharmony_ci/** 122e5d0e473Sopenharmony_ci * @tc.number Telephony_MmsNetworkClientTest_0002 123e5d0e473Sopenharmony_ci * @tc.name Test MmsNetworkClient 124e5d0e473Sopenharmony_ci * @tc.desc Function test 125e5d0e473Sopenharmony_ci */ 126e5d0e473Sopenharmony_ciHWTEST_F(MmsReceiveGtest, MmsNetworkClientTest_0001, Function | MediumTest | Level1) 127e5d0e473Sopenharmony_ci{ 128e5d0e473Sopenharmony_ci int32_t slotId = 0; 129e5d0e473Sopenharmony_ci auto mmsNetworkClient = std::make_shared<MmsNetworkClient>(slotId); 130e5d0e473Sopenharmony_ci ASSERT_NE(nullptr, mmsNetworkClient); 131e5d0e473Sopenharmony_ci std::string str; 132e5d0e473Sopenharmony_ci mmsNetworkClient->GetCoverUrl(str); 133e5d0e473Sopenharmony_ci EXPECT_EQ(str, ""); 134e5d0e473Sopenharmony_ci str = "str"; 135e5d0e473Sopenharmony_ci mmsNetworkClient->GetCoverUrl(str); 136e5d0e473Sopenharmony_ci EXPECT_EQ(str, "str"); 137e5d0e473Sopenharmony_ci} 138e5d0e473Sopenharmony_ci 139e5d0e473Sopenharmony_ci/** 140e5d0e473Sopenharmony_ci * @tc.number Telephony_MmsReceiveTest_0001 141e5d0e473Sopenharmony_ci * @tc.name Test MmsReceive 142e5d0e473Sopenharmony_ci * @tc.desc Function test 143e5d0e473Sopenharmony_ci */ 144e5d0e473Sopenharmony_ciHWTEST_F(MmsReceiveGtest, MmsMmsReceiveTest_0001, Function | MediumTest | Level1) 145e5d0e473Sopenharmony_ci{ 146e5d0e473Sopenharmony_ci int32_t slotId = 0; 147e5d0e473Sopenharmony_ci auto mmsReceive = std::make_shared<MmsReceive>(slotId); 148e5d0e473Sopenharmony_ci ASSERT_NE(nullptr, mmsReceive); 149e5d0e473Sopenharmony_ci std::string method; 150e5d0e473Sopenharmony_ci std::string url; 151e5d0e473Sopenharmony_ci std::string data; 152e5d0e473Sopenharmony_ci std::string uaprof; 153e5d0e473Sopenharmony_ci int32_t ret = mmsReceive->ExecuteDownloadMms(method, url, data, uaprof); 154e5d0e473Sopenharmony_ci EXPECT_EQ(ret, TELEPHONY_ERR_MMS_FAIL_DATA_NETWORK_ERROR); 155e5d0e473Sopenharmony_ci} 156e5d0e473Sopenharmony_ci 157e5d0e473Sopenharmony_ci/** 158e5d0e473Sopenharmony_ci * @tc.number Telephony_MmsSenderTest_0001 159e5d0e473Sopenharmony_ci * @tc.name Test MmsSender 160e5d0e473Sopenharmony_ci * @tc.desc Function test 161e5d0e473Sopenharmony_ci */ 162e5d0e473Sopenharmony_ciHWTEST_F(MmsReceiveGtest, MmsSenderTest_0001, Function | MediumTest | Level1) 163e5d0e473Sopenharmony_ci{ 164e5d0e473Sopenharmony_ci int32_t slotId = 0; 165e5d0e473Sopenharmony_ci auto mmsSender = std::make_shared<MmsSender>(slotId); 166e5d0e473Sopenharmony_ci ASSERT_NE(nullptr, mmsSender); 167e5d0e473Sopenharmony_ci std::string method; 168e5d0e473Sopenharmony_ci std::string url; 169e5d0e473Sopenharmony_ci std::string data; 170e5d0e473Sopenharmony_ci std::string uaprof; 171e5d0e473Sopenharmony_ci int32_t ret = mmsSender->ExecuteSendMms(method, url, data, uaprof); 172e5d0e473Sopenharmony_ci EXPECT_EQ(ret, TELEPHONY_ERR_MMS_FAIL_DATA_NETWORK_ERROR); 173e5d0e473Sopenharmony_ci} 174e5d0e473Sopenharmony_ci} // namespace Telephony 175e5d0e473Sopenharmony_ci} // namespace OHOS 176