1/* 2 * Copyright (C) 2022 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#define private public 16#define protected public 17 18#include "gtest/gtest.h" 19#include "config_request.h" 20#include "call_manager_inner_type.h" 21#include "ims_call_client.h" 22#include "cellular_call_service.h" 23#include "ims_feature.h" 24 25namespace OHOS { 26namespace Telephony { 27using namespace testing::ext; 28class ConfigRequestTest : public testing::Test { 29public: 30 static void SetUpTestCase(); 31 static void TearDownTestCase(); 32 void SetUp(); 33 void TearDown(); 34}; 35void ConfigRequestTest::SetUpTestCase() {} 36 37void ConfigRequestTest::TearDownTestCase() {} 38 39void ConfigRequestTest::SetUp() {} 40 41void ConfigRequestTest::TearDown() {} 42 43/** 44 * @tc.number Telephony_ConfigRequestTest_0001 45 * @tc.name Test EmergencyUtilsTest SetImsSwitchStatusRequest 46 * @tc.desc Function test 47 */ 48HWTEST_F(ConfigRequestTest, ConfigRequestTest_0001, Function | MediumTest | Level1) 49{ 50 ConfigRequest configRequest; 51 DelayedSingleton<ImsCallClient>::GetInstance()->UnInit(); 52 int32_t slotId = 0; 53 bool active = true; 54 EXPECT_EQ(configRequest.SetImsSwitchStatusRequest(slotId, active), CALL_ERR_RESOURCE_UNAVAILABLE); 55} 56 57/** 58 * @tc.number Telephony_ConfigRequestTest_0002 59 * @tc.name Test EmergencyUtilsTest SetVoNRSwitchStatusRequest 60 * @tc.desc Function test 61 */ 62HWTEST_F(ConfigRequestTest, ConfigRequestTest_0002, Function | MediumTest | Level1) 63{ 64 ConfigRequest configRequest; 65 int32_t slotId = 0; 66 int32_t state = 0; 67 EXPECT_EQ(configRequest.SetVoNRSwitchStatusRequest(slotId, state), CALL_ERR_RESOURCE_UNAVAILABLE); 68 69 DelayedSingleton<CellularCallService>::GetInstance()->Init(); 70 EXPECT_NE(configRequest.SetVoNRSwitchStatusRequest(slotId, state), TELEPHONY_SUCCESS); 71} 72 73/** 74 * @tc.number Telephony_ConfigRequestTest_0003 75 * @tc.name Test EmergencyUtilsTest SetVoNRSwitchStatusRequest 76 * @tc.desc Function test 77 */ 78HWTEST_F(ConfigRequestTest, ConfigRequestTest_0003, Function | MediumTest | Level1) 79{ 80 ConfigRequest configRequest; 81 int32_t slotId = 0; 82 configRequest.GetImsSwitchStatusRequest(slotId); 83 84 DelayedSingleton<ImsCallClient>::GetInstance()->UnInit(); 85 EXPECT_EQ(configRequest.GetImsSwitchStatusRequest(slotId), CALL_ERR_RESOURCE_UNAVAILABLE); 86} 87 88/** 89 * @tc.number Telephony_ConfigRequestTest_0004 90 * @tc.name Test EmergencyUtilsTest SetVoNRSwitchStatusRequest 91 * @tc.desc Function test 92 */ 93HWTEST_F(ConfigRequestTest, ConfigRequestTest_0004, Function | MediumTest | Level1) 94{ 95 ConfigRequest configRequest; 96 std::string value; 97 int32_t intValue = 1; 98 configRequest.SetImsConfigRequest(ImsConfigItem::ITEM_VIDEO_QUALITY, value); 99 configRequest.SetImsConfigRequest(ImsConfigItem::ITEM_VIDEO_QUALITY, intValue); 100 configRequest.SetImsFeatureValueRequest(FeatureType::TYPE_VOICE_OVER_LTE, intValue); 101 102 DelayedSingleton<ImsCallClient>::GetInstance()->UnInit(); 103 EXPECT_EQ(configRequest.SetImsConfigRequest(ImsConfigItem::ITEM_VIDEO_QUALITY, value), 104 CALL_ERR_RESOURCE_UNAVAILABLE); 105 EXPECT_EQ(configRequest.SetImsConfigRequest(ImsConfigItem::ITEM_VIDEO_QUALITY, intValue), 106 CALL_ERR_RESOURCE_UNAVAILABLE); 107 EXPECT_EQ(configRequest.GetImsFeatureValueRequest(FeatureType::TYPE_VOICE_OVER_LTE, intValue), 108 CALL_ERR_RESOURCE_UNAVAILABLE); 109} 110 111/** 112 * @tc.number Telephony_ConfigRequestTest_0005 113 * @tc.name Test EmergencyUtilsTest SetVoNRSwitchStatusRequest 114 * @tc.desc Function test 115 */ 116HWTEST_F(ConfigRequestTest, ConfigRequestTest_0005, Function | MediumTest | Level1) 117{ 118 ConfigRequest configRequest; 119 ImsConfigItem item = ITEM_VIDEO_QUALITY; 120 configRequest.GetImsConfigRequest(item); 121 122 DelayedSingleton<ImsCallClient>::GetInstance()->UnInit(); 123 EXPECT_EQ(configRequest.GetImsConfigRequest(item), CALL_ERR_RESOURCE_UNAVAILABLE); 124 125 int32_t slotId = 0; 126 ImsCapabilityList imsCapList; 127 EXPECT_EQ(configRequest.UpdateImsCapabilities(slotId, imsCapList), CALL_ERR_RESOURCE_UNAVAILABLE); 128} 129 130/** 131 * @tc.number Telephony_ConfigRequestTest_0006 132 * @tc.name Test EmergencyUtilsTest SetVoNRSwitchStatusRequest 133 * @tc.desc Function test 134 */ 135HWTEST_F(ConfigRequestTest, ConfigRequestTest_0006, Function | MediumTest | Level1) 136{ 137 ConfigRequest configRequest; 138 int32_t slotId = 0; 139 int32_t mute = 1; 140 configRequest.SetMuteRequest(slotId, mute); 141 configRequest.GetMuteRequest(slotId); 142 143 DelayedSingleton<ImsCallClient>::GetInstance()->UnInit(); 144 DelayedSingleton<CellularCallService>::GetInstance()->Init(); 145 EXPECT_NE(configRequest.SetMuteRequest(slotId, mute), TELEPHONY_SUCCESS); 146 EXPECT_NE(configRequest.GetMuteRequest(slotId), TELEPHONY_SUCCESS); 147} 148 149/** 150 * @tc.number Telephony_ConfigRequestTest_0007 151 * @tc.name Test EmergencyUtilsTest SetVoNRSwitchStatusRequest 152 * @tc.desc Function test 153 */ 154HWTEST_F(ConfigRequestTest, ConfigRequestTest_0007, Function | MediumTest | Level1) 155{ 156 ConfigRequest configRequest; 157 int32_t slotId = -1; 158 std::vector<EmergencyCall> eccVec; 159 DelayedSingleton<CellularCallService>::GetInstance()->Init(); 160 EXPECT_EQ(configRequest.GetEmergencyCallListRequest(slotId), CALL_ERR_RESOURCE_UNAVAILABLE); 161 EXPECT_EQ(configRequest.SetEmergencyCallListRequest(slotId, eccVec), CALL_ERR_RESOURCE_UNAVAILABLE); 162} 163} // namespace Telephony 164} // namespace OHOS