1d95e75fdSopenharmony_ci/* 2d95e75fdSopenharmony_ci * Copyright (C) 2022 Huawei Device Co., Ltd. 3d95e75fdSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4d95e75fdSopenharmony_ci * you may not use this file except in compliance with the License. 5d95e75fdSopenharmony_ci * You may obtain a copy of the License at 6d95e75fdSopenharmony_ci * 7d95e75fdSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8d95e75fdSopenharmony_ci * 9d95e75fdSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10d95e75fdSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11d95e75fdSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12d95e75fdSopenharmony_ci * See the License for the specific language governing permissions and 13d95e75fdSopenharmony_ci * limitations under the License. 14d95e75fdSopenharmony_ci */ 15d95e75fdSopenharmony_ci#define private public 16d95e75fdSopenharmony_ci#define protected public 17d95e75fdSopenharmony_ci 18d95e75fdSopenharmony_ci#include "gtest/gtest.h" 19d95e75fdSopenharmony_ci#include "config_request.h" 20d95e75fdSopenharmony_ci#include "call_manager_inner_type.h" 21d95e75fdSopenharmony_ci#include "ims_call_client.h" 22d95e75fdSopenharmony_ci#include "cellular_call_service.h" 23d95e75fdSopenharmony_ci#include "ims_feature.h" 24d95e75fdSopenharmony_ci 25d95e75fdSopenharmony_cinamespace OHOS { 26d95e75fdSopenharmony_cinamespace Telephony { 27d95e75fdSopenharmony_ciusing namespace testing::ext; 28d95e75fdSopenharmony_ciclass ConfigRequestTest : public testing::Test { 29d95e75fdSopenharmony_cipublic: 30d95e75fdSopenharmony_ci static void SetUpTestCase(); 31d95e75fdSopenharmony_ci static void TearDownTestCase(); 32d95e75fdSopenharmony_ci void SetUp(); 33d95e75fdSopenharmony_ci void TearDown(); 34d95e75fdSopenharmony_ci}; 35d95e75fdSopenharmony_civoid ConfigRequestTest::SetUpTestCase() {} 36d95e75fdSopenharmony_ci 37d95e75fdSopenharmony_civoid ConfigRequestTest::TearDownTestCase() {} 38d95e75fdSopenharmony_ci 39d95e75fdSopenharmony_civoid ConfigRequestTest::SetUp() {} 40d95e75fdSopenharmony_ci 41d95e75fdSopenharmony_civoid ConfigRequestTest::TearDown() {} 42d95e75fdSopenharmony_ci 43d95e75fdSopenharmony_ci/** 44d95e75fdSopenharmony_ci * @tc.number Telephony_ConfigRequestTest_0001 45d95e75fdSopenharmony_ci * @tc.name Test EmergencyUtilsTest SetImsSwitchStatusRequest 46d95e75fdSopenharmony_ci * @tc.desc Function test 47d95e75fdSopenharmony_ci */ 48d95e75fdSopenharmony_ciHWTEST_F(ConfigRequestTest, ConfigRequestTest_0001, Function | MediumTest | Level1) 49d95e75fdSopenharmony_ci{ 50d95e75fdSopenharmony_ci ConfigRequest configRequest; 51d95e75fdSopenharmony_ci DelayedSingleton<ImsCallClient>::GetInstance()->UnInit(); 52d95e75fdSopenharmony_ci int32_t slotId = 0; 53d95e75fdSopenharmony_ci bool active = true; 54d95e75fdSopenharmony_ci EXPECT_EQ(configRequest.SetImsSwitchStatusRequest(slotId, active), CALL_ERR_RESOURCE_UNAVAILABLE); 55d95e75fdSopenharmony_ci} 56d95e75fdSopenharmony_ci 57d95e75fdSopenharmony_ci/** 58d95e75fdSopenharmony_ci * @tc.number Telephony_ConfigRequestTest_0002 59d95e75fdSopenharmony_ci * @tc.name Test EmergencyUtilsTest SetVoNRSwitchStatusRequest 60d95e75fdSopenharmony_ci * @tc.desc Function test 61d95e75fdSopenharmony_ci */ 62d95e75fdSopenharmony_ciHWTEST_F(ConfigRequestTest, ConfigRequestTest_0002, Function | MediumTest | Level1) 63d95e75fdSopenharmony_ci{ 64d95e75fdSopenharmony_ci ConfigRequest configRequest; 65d95e75fdSopenharmony_ci int32_t slotId = 0; 66d95e75fdSopenharmony_ci int32_t state = 0; 67d95e75fdSopenharmony_ci EXPECT_EQ(configRequest.SetVoNRSwitchStatusRequest(slotId, state), CALL_ERR_RESOURCE_UNAVAILABLE); 68d95e75fdSopenharmony_ci 69d95e75fdSopenharmony_ci DelayedSingleton<CellularCallService>::GetInstance()->Init(); 70d95e75fdSopenharmony_ci EXPECT_NE(configRequest.SetVoNRSwitchStatusRequest(slotId, state), TELEPHONY_SUCCESS); 71d95e75fdSopenharmony_ci} 72d95e75fdSopenharmony_ci 73d95e75fdSopenharmony_ci/** 74d95e75fdSopenharmony_ci * @tc.number Telephony_ConfigRequestTest_0003 75d95e75fdSopenharmony_ci * @tc.name Test EmergencyUtilsTest SetVoNRSwitchStatusRequest 76d95e75fdSopenharmony_ci * @tc.desc Function test 77d95e75fdSopenharmony_ci */ 78d95e75fdSopenharmony_ciHWTEST_F(ConfigRequestTest, ConfigRequestTest_0003, Function | MediumTest | Level1) 79d95e75fdSopenharmony_ci{ 80d95e75fdSopenharmony_ci ConfigRequest configRequest; 81d95e75fdSopenharmony_ci int32_t slotId = 0; 82d95e75fdSopenharmony_ci configRequest.GetImsSwitchStatusRequest(slotId); 83d95e75fdSopenharmony_ci 84d95e75fdSopenharmony_ci DelayedSingleton<ImsCallClient>::GetInstance()->UnInit(); 85d95e75fdSopenharmony_ci EXPECT_EQ(configRequest.GetImsSwitchStatusRequest(slotId), CALL_ERR_RESOURCE_UNAVAILABLE); 86d95e75fdSopenharmony_ci} 87d95e75fdSopenharmony_ci 88d95e75fdSopenharmony_ci/** 89d95e75fdSopenharmony_ci * @tc.number Telephony_ConfigRequestTest_0004 90d95e75fdSopenharmony_ci * @tc.name Test EmergencyUtilsTest SetVoNRSwitchStatusRequest 91d95e75fdSopenharmony_ci * @tc.desc Function test 92d95e75fdSopenharmony_ci */ 93d95e75fdSopenharmony_ciHWTEST_F(ConfigRequestTest, ConfigRequestTest_0004, Function | MediumTest | Level1) 94d95e75fdSopenharmony_ci{ 95d95e75fdSopenharmony_ci ConfigRequest configRequest; 96d95e75fdSopenharmony_ci std::string value; 97d95e75fdSopenharmony_ci int32_t intValue = 1; 98d95e75fdSopenharmony_ci configRequest.SetImsConfigRequest(ImsConfigItem::ITEM_VIDEO_QUALITY, value); 99d95e75fdSopenharmony_ci configRequest.SetImsConfigRequest(ImsConfigItem::ITEM_VIDEO_QUALITY, intValue); 100d95e75fdSopenharmony_ci configRequest.SetImsFeatureValueRequest(FeatureType::TYPE_VOICE_OVER_LTE, intValue); 101d95e75fdSopenharmony_ci 102d95e75fdSopenharmony_ci DelayedSingleton<ImsCallClient>::GetInstance()->UnInit(); 103d95e75fdSopenharmony_ci EXPECT_EQ(configRequest.SetImsConfigRequest(ImsConfigItem::ITEM_VIDEO_QUALITY, value), 104d95e75fdSopenharmony_ci CALL_ERR_RESOURCE_UNAVAILABLE); 105d95e75fdSopenharmony_ci EXPECT_EQ(configRequest.SetImsConfigRequest(ImsConfigItem::ITEM_VIDEO_QUALITY, intValue), 106d95e75fdSopenharmony_ci CALL_ERR_RESOURCE_UNAVAILABLE); 107d95e75fdSopenharmony_ci EXPECT_EQ(configRequest.GetImsFeatureValueRequest(FeatureType::TYPE_VOICE_OVER_LTE, intValue), 108d95e75fdSopenharmony_ci CALL_ERR_RESOURCE_UNAVAILABLE); 109d95e75fdSopenharmony_ci} 110d95e75fdSopenharmony_ci 111d95e75fdSopenharmony_ci/** 112d95e75fdSopenharmony_ci * @tc.number Telephony_ConfigRequestTest_0005 113d95e75fdSopenharmony_ci * @tc.name Test EmergencyUtilsTest SetVoNRSwitchStatusRequest 114d95e75fdSopenharmony_ci * @tc.desc Function test 115d95e75fdSopenharmony_ci */ 116d95e75fdSopenharmony_ciHWTEST_F(ConfigRequestTest, ConfigRequestTest_0005, Function | MediumTest | Level1) 117d95e75fdSopenharmony_ci{ 118d95e75fdSopenharmony_ci ConfigRequest configRequest; 119d95e75fdSopenharmony_ci ImsConfigItem item = ITEM_VIDEO_QUALITY; 120d95e75fdSopenharmony_ci configRequest.GetImsConfigRequest(item); 121d95e75fdSopenharmony_ci 122d95e75fdSopenharmony_ci DelayedSingleton<ImsCallClient>::GetInstance()->UnInit(); 123d95e75fdSopenharmony_ci EXPECT_EQ(configRequest.GetImsConfigRequest(item), CALL_ERR_RESOURCE_UNAVAILABLE); 124d95e75fdSopenharmony_ci 125d95e75fdSopenharmony_ci int32_t slotId = 0; 126d95e75fdSopenharmony_ci ImsCapabilityList imsCapList; 127d95e75fdSopenharmony_ci EXPECT_EQ(configRequest.UpdateImsCapabilities(slotId, imsCapList), CALL_ERR_RESOURCE_UNAVAILABLE); 128d95e75fdSopenharmony_ci} 129d95e75fdSopenharmony_ci 130d95e75fdSopenharmony_ci/** 131d95e75fdSopenharmony_ci * @tc.number Telephony_ConfigRequestTest_0006 132d95e75fdSopenharmony_ci * @tc.name Test EmergencyUtilsTest SetVoNRSwitchStatusRequest 133d95e75fdSopenharmony_ci * @tc.desc Function test 134d95e75fdSopenharmony_ci */ 135d95e75fdSopenharmony_ciHWTEST_F(ConfigRequestTest, ConfigRequestTest_0006, Function | MediumTest | Level1) 136d95e75fdSopenharmony_ci{ 137d95e75fdSopenharmony_ci ConfigRequest configRequest; 138d95e75fdSopenharmony_ci int32_t slotId = 0; 139d95e75fdSopenharmony_ci int32_t mute = 1; 140d95e75fdSopenharmony_ci configRequest.SetMuteRequest(slotId, mute); 141d95e75fdSopenharmony_ci configRequest.GetMuteRequest(slotId); 142d95e75fdSopenharmony_ci 143d95e75fdSopenharmony_ci DelayedSingleton<ImsCallClient>::GetInstance()->UnInit(); 144d95e75fdSopenharmony_ci DelayedSingleton<CellularCallService>::GetInstance()->Init(); 145d95e75fdSopenharmony_ci EXPECT_NE(configRequest.SetMuteRequest(slotId, mute), TELEPHONY_SUCCESS); 146d95e75fdSopenharmony_ci EXPECT_NE(configRequest.GetMuteRequest(slotId), TELEPHONY_SUCCESS); 147d95e75fdSopenharmony_ci} 148d95e75fdSopenharmony_ci 149d95e75fdSopenharmony_ci/** 150d95e75fdSopenharmony_ci * @tc.number Telephony_ConfigRequestTest_0007 151d95e75fdSopenharmony_ci * @tc.name Test EmergencyUtilsTest SetVoNRSwitchStatusRequest 152d95e75fdSopenharmony_ci * @tc.desc Function test 153d95e75fdSopenharmony_ci */ 154d95e75fdSopenharmony_ciHWTEST_F(ConfigRequestTest, ConfigRequestTest_0007, Function | MediumTest | Level1) 155d95e75fdSopenharmony_ci{ 156d95e75fdSopenharmony_ci ConfigRequest configRequest; 157d95e75fdSopenharmony_ci int32_t slotId = -1; 158d95e75fdSopenharmony_ci std::vector<EmergencyCall> eccVec; 159d95e75fdSopenharmony_ci DelayedSingleton<CellularCallService>::GetInstance()->Init(); 160d95e75fdSopenharmony_ci EXPECT_EQ(configRequest.GetEmergencyCallListRequest(slotId), CALL_ERR_RESOURCE_UNAVAILABLE); 161d95e75fdSopenharmony_ci EXPECT_EQ(configRequest.SetEmergencyCallListRequest(slotId, eccVec), CALL_ERR_RESOURCE_UNAVAILABLE); 162d95e75fdSopenharmony_ci} 163d95e75fdSopenharmony_ci} // namespace Telephony 164d95e75fdSopenharmony_ci} // namespace OHOS