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
25 namespace OHOS {
26 namespace Telephony {
27 using namespace testing::ext;
28 class ConfigRequestTest : public testing::Test {
29 public:
30 static void SetUpTestCase();
31 static void TearDownTestCase();
32 void SetUp();
33 void TearDown();
34 };
SetUpTestCase()35 void ConfigRequestTest::SetUpTestCase() {}
36
TearDownTestCase()37 void ConfigRequestTest::TearDownTestCase() {}
38
SetUp()39 void ConfigRequestTest::SetUp() {}
40
TearDown()41 void ConfigRequestTest::TearDown() {}
42
43 /**
44 * @tc.number Telephony_ConfigRequestTest_0001
45 * @tc.name Test EmergencyUtilsTest SetImsSwitchStatusRequest
46 * @tc.desc Function test
47 */
48 HWTEST_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 */
62 HWTEST_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 */
78 HWTEST_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 */
93 HWTEST_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 */
116 HWTEST_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 */
135 HWTEST_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 */
154 HWTEST_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