1 /*
2  * Copyright (C) 2023 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 <string>
19 #include <unistd.h>
20 
21 #include "core_manager_inner.h"
22 #include "core_service.h"
23 #include "core_service_client.h"
24 #include "enum_convert.h"
25 #include "operator_config_cache.h"
26 #include "operator_file_parser.h"
27 #include "sim_state_type.h"
28 #include "sim_test_util.h"
29 #include "str_convert.h"
30 #include "string_ex.h"
31 #include "tel_profile_util.h"
32 
33 namespace OHOS {
34 namespace Telephony {
35 #ifndef TEL_TEST_UNSUPPORT
36 /**
37  * @tc.number   Telephony_Sim_TestEnumCovert_0100
38  * @tc.name     Enum_Covert
39  * @tc.desc     Function test
40  */
41 HWTEST_F(SimTest, Telephony_Sim_TestEnumCovert_0100, Function | MediumTest | Level3)
42 {
43     int32_t errorSimState = 7;
44     int32_t errorCallState = 9;
45     int32_t errorTelephonyCardType = 1;
46     EXPECT_EQ(GetBoolValue(0), "FALSE");
47     EXPECT_EQ(GetBoolValue(1), "TRUE");
48     EXPECT_EQ(GetSimState(static_cast<int32_t>(TelephonySimState::SIM_STATE_UNKNOWN)), "SIM_STATE_UNKNOWN");
49     EXPECT_EQ(GetSimState(static_cast<int32_t>(TelephonySimState::SIM_STATE_NOT_PRESENT)), "SIM_STATE_NOT_PRESENT");
50     EXPECT_EQ(GetSimState(static_cast<int32_t>(TelephonySimState::SIM_STATE_LOCKED)), "SIM_STATE_LOCKED");
51     EXPECT_EQ(GetSimState(static_cast<int32_t>(TelephonySimState::SIM_STATE_NOT_READY)), "SIM_STATE_NOT_READY");
52     EXPECT_EQ(GetSimState(static_cast<int32_t>(TelephonySimState::SIM_STATE_READY)), "SIM_STATE_READY");
53     EXPECT_EQ(GetSimState(static_cast<int32_t>(TelephonySimState::SIM_STATE_LOADED)), "SIM_STATE_LOADED");
54     EXPECT_EQ(GetSimState(errorSimState), "");
55     EXPECT_EQ(GetCallState(static_cast<int32_t>(TelephonyCallState::CALL_STATUS_ACTIVE)), "CALL_STATUS_ACTIVE");
56     EXPECT_EQ(GetCallState(static_cast<int32_t>(TelephonyCallState::CALL_STATUS_HOLDING)), "CALL_STATUS_HOLDING");
57     EXPECT_EQ(GetCallState(static_cast<int32_t>(TelephonyCallState::CALL_STATUS_DIALING)), "CALL_STATUS_DIALING");
58     EXPECT_EQ(GetCallState(static_cast<int32_t>(TelephonyCallState::CALL_STATUS_ALERTING)), "CALL_STATUS_ALERTING");
59     EXPECT_EQ(GetCallState(static_cast<int32_t>(TelephonyCallState::CALL_STATUS_INCOMING)), "CALL_STATUS_INCOMING");
60     EXPECT_EQ(GetCallState(static_cast<int32_t>(TelephonyCallState::CALL_STATUS_WAITING)), "CALL_STATUS_WAITING");
61     EXPECT_EQ(
62         GetCallState(static_cast<int32_t>(TelephonyCallState::CALL_STATUS_DISCONNECTED)), "CALL_STATUS_DISCONNECTED");
63     EXPECT_EQ(
64         GetCallState(static_cast<int32_t>(TelephonyCallState::CALL_STATUS_DISCONNECTING)), "CALL_STATUS_DISCONNECTING");
65     EXPECT_EQ(GetCallState(static_cast<int32_t>(TelephonyCallState::CALL_STATUS_IDLE)), "CALL_STATUS_IDLE");
66     EXPECT_EQ(GetCallState(errorCallState), "CALL_STATUS_IDLE");
67     EXPECT_EQ(GetCardType(static_cast<int32_t>(TelephonyCardType::UNKNOWN_CARD)), "UNKNOWN_CARD");
68     EXPECT_EQ(GetCardType(static_cast<int32_t>(TelephonyCardType::SINGLE_MODE_SIM_CARD)), "SINGLE_MODE_SIM_CARD");
69     EXPECT_EQ(GetCardType(static_cast<int32_t>(TelephonyCardType::SINGLE_MODE_USIM_CARD)), "SINGLE_MODE_USIM_CARD");
70     EXPECT_EQ(GetCardType(static_cast<int32_t>(TelephonyCardType::SINGLE_MODE_RUIM_CARD)), "SINGLE_MODE_RUIM_CARD");
71     EXPECT_EQ(GetCardType(static_cast<int32_t>(TelephonyCardType::DUAL_MODE_CG_CARD)), "DUAL_MODE_CG_CARD");
72     EXPECT_EQ(
73         GetCardType(static_cast<int32_t>(TelephonyCardType::CT_NATIONAL_ROAMING_CARD)), "CT_NATIONAL_ROAMING_CARD");
74     EXPECT_EQ(GetCardType(static_cast<int32_t>(TelephonyCardType::CU_DUAL_MODE_CARD)), "CU_DUAL_MODE_CARD");
75     EXPECT_EQ(
76         GetCardType(static_cast<int32_t>(TelephonyCardType::DUAL_MODE_TELECOM_LTE_CARD)), "DUAL_MODE_TELECOM_LTE_CARD");
77     EXPECT_EQ(GetCardType(static_cast<int32_t>(TelephonyCardType::DUAL_MODE_UG_CARD)), "DUAL_MODE_UG_CARD");
78     EXPECT_EQ(GetCardType(static_cast<int32_t>(TelephonyCardType::SINGLE_MODE_ISIM_CARD)), "SINGLE_MODE_ISIM_CARD");
79     EXPECT_EQ(GetCardType(errorTelephonyCardType), "");
80 }
81 
82 /**
83  * @tc.number   Telephony_Sim_TestEnumCovert_0200
84  * @tc.name     Enum_Covert
85  * @tc.desc     Function test
86  */
87 HWTEST_F(SimTest, Telephony_Sim_TestEnumCovert_0200, Function | MediumTest | Level3)
88 {
89     int32_t errorTelephonyCellDataFlowType = 5;
90     int32_t errorDataConnectStatus = 13;
91     EXPECT_EQ(GetCellularDataFlow(static_cast<int32_t>(TelephonyCellDataFlowType::DATA_FLOW_TYPE_NONE)),
92         "DATA_FLOW_TYPE_NONE");
93     EXPECT_EQ(GetCellularDataFlow(static_cast<int32_t>(TelephonyCellDataFlowType::DATA_FLOW_TYPE_DOWN)),
94         "DATA_FLOW_TYPE_DOWN");
95     EXPECT_EQ(
96         GetCellularDataFlow(static_cast<int32_t>(TelephonyCellDataFlowType::DATA_FLOW_TYPE_UP)), "DATA_FLOW_TYPE_UP");
97     EXPECT_EQ(GetCellularDataFlow(static_cast<int32_t>(TelephonyCellDataFlowType::DATA_FLOW_TYPE_UP_DOWN)),
98         "DATA_FLOW_TYPE_UP_DOWN");
99     EXPECT_EQ(GetCellularDataFlow(static_cast<int32_t>(TelephonyCellDataFlowType::DATA_FLOW_TYPE_DORMANT)),
100         "DATA_FLOW_TYPE_DORMANT");
101     EXPECT_EQ(GetCellularDataFlow(errorTelephonyCellDataFlowType), "");
102     EXPECT_EQ(GetCellularDataConnectionNetworkType(static_cast<int32_t>(TelephonyRadioTech::RADIO_TECHNOLOGY_UNKNOWN)),
103         "RADIO_TECHNOLOGY_UNKNOWN");
104     EXPECT_EQ(GetCellularDataConnectionNetworkType(static_cast<int32_t>(TelephonyRadioTech::RADIO_TECHNOLOGY_GSM)),
105         "RADIO_TECHNOLOGY_GSM");
106     EXPECT_EQ(GetCellularDataConnectionNetworkType(static_cast<int32_t>(TelephonyRadioTech::RADIO_TECHNOLOGY_1XRTT)),
107         "RADIO_TECHNOLOGY_1XRTT");
108     EXPECT_EQ(GetCellularDataConnectionNetworkType(static_cast<int32_t>(TelephonyRadioTech::RADIO_TECHNOLOGY_WCDMA)),
109         "RADIO_TECHNOLOGY_WCDMA");
110     EXPECT_EQ(GetCellularDataConnectionNetworkType(static_cast<int32_t>(TelephonyRadioTech::RADIO_TECHNOLOGY_HSPA)),
111         "RADIO_TECHNOLOGY_HSPA");
112     EXPECT_EQ(GetCellularDataConnectionNetworkType(static_cast<int32_t>(TelephonyRadioTech::RADIO_TECHNOLOGY_HSPAP)),
113         "RADIO_TECHNOLOGY_HSPAP");
114     EXPECT_EQ(GetCellularDataConnectionNetworkType(static_cast<int32_t>(TelephonyRadioTech::RADIO_TECHNOLOGY_TD_SCDMA)),
115         "RADIO_TECHNOLOGY_TD_SCDMA");
116     EXPECT_EQ(GetCellularDataConnectionNetworkType(static_cast<int32_t>(TelephonyRadioTech::RADIO_TECHNOLOGY_EVDO)),
117         "RADIO_TECHNOLOGY_EVDO");
118     EXPECT_EQ(GetCellularDataConnectionNetworkType(static_cast<int32_t>(TelephonyRadioTech::RADIO_TECHNOLOGY_EHRPD)),
119         "RADIO_TECHNOLOGY_EHRPD");
120     EXPECT_EQ(GetCellularDataConnectionNetworkType(static_cast<int32_t>(TelephonyRadioTech::RADIO_TECHNOLOGY_LTE)),
121         "RADIO_TECHNOLOGY_LTE");
122     EXPECT_EQ(GetCellularDataConnectionNetworkType(static_cast<int32_t>(TelephonyRadioTech::RADIO_TECHNOLOGY_LTE_CA)),
123         "RADIO_TECHNOLOGY_LTE_CA");
124     EXPECT_EQ(GetCellularDataConnectionNetworkType(static_cast<int32_t>(TelephonyRadioTech::RADIO_TECHNOLOGY_IWLAN)),
125         "RADIO_TECHNOLOGY_IWLAN");
126     EXPECT_EQ(GetCellularDataConnectionNetworkType(static_cast<int32_t>(TelephonyRadioTech::RADIO_TECHNOLOGY_NR)),
127         "RADIO_TECHNOLOGY_NR");
128     EXPECT_EQ(GetCellularDataConnectionNetworkType(errorDataConnectStatus), "");
129 }
130 
131 /**
132  * @tc.number   Telephony_Sim_TestEnumCovert_0300
133  * @tc.name     Enum_Covert
134  * @tc.desc     Function test
135  */
136 HWTEST_F(SimTest, Telephony_Sim_TestEnumCovert_0300, Function | MediumTest | Level3)
137 {
138     int32_t errorTelephonyLockReason = 13;
139     EXPECT_EQ(GetLockReason(static_cast<int32_t>(TelephonyLockReason::SIM_NONE)), "SIM_NONE");
140     EXPECT_EQ(GetLockReason(static_cast<int32_t>(TelephonyLockReason::SIM_PIN)), "SIM_PIN");
141     EXPECT_EQ(GetLockReason(static_cast<int32_t>(TelephonyLockReason::SIM_PUK)), "SIM_PUK");
142     EXPECT_EQ(GetLockReason(static_cast<int32_t>(TelephonyLockReason::SIM_PN_PIN)), "SIM_PN_PIN");
143     EXPECT_EQ(GetLockReason(static_cast<int32_t>(TelephonyLockReason::SIM_PN_PUK)), "SIM_PN_PUK");
144     EXPECT_EQ(GetLockReason(static_cast<int32_t>(TelephonyLockReason::SIM_PU_PIN)), "SIM_PU_PIN");
145     EXPECT_EQ(GetLockReason(static_cast<int32_t>(TelephonyLockReason::SIM_PU_PUK)), "SIM_PU_PUK");
146     EXPECT_EQ(GetLockReason(static_cast<int32_t>(TelephonyLockReason::SIM_PP_PIN)), "SIM_PP_PIN");
147     EXPECT_EQ(GetLockReason(static_cast<int32_t>(TelephonyLockReason::SIM_PP_PUK)), "SIM_PP_PUK");
148     EXPECT_EQ(GetLockReason(static_cast<int32_t>(TelephonyLockReason::SIM_PC_PIN)), "SIM_PC_PIN");
149     EXPECT_EQ(GetLockReason(static_cast<int32_t>(TelephonyLockReason::SIM_PC_PUK)), "SIM_PC_PUK");
150     EXPECT_EQ(GetLockReason(static_cast<int32_t>(TelephonyLockReason::SIM_SIM_PIN)), "SIM_SIM_PIN");
151     EXPECT_EQ(GetLockReason(static_cast<int32_t>(TelephonyLockReason::SIM_SIM_PUK)), "SIM_SIM_PUK");
152     EXPECT_EQ(GetLockReason(errorTelephonyLockReason), "");
153 }
154 
155 /**
156  * @tc.number   Telephony_Sim_TestStrCovert_0100
157  * @tc.name     Enum_Covert
158  * @tc.desc     Function test
159  */
160 HWTEST_F(SimTest, Telephony_Sim_TestStrCovert_0100, Function | MediumTest | Level3)
161 {
162     std::string testU8Str = "test";
163     std::u16string testU16Str = u"test";
164     std::u32string testU32Str = U"test";
165     std::wstring testWstr = L"test";
166     EXPECT_EQ(ToUtf16(testU8Str), testU16Str);
167     EXPECT_EQ(ToUtf8(testU16Str), testU8Str);
168     EXPECT_EQ(ToUtf32(testU8Str), testU32Str);
169     EXPECT_EQ(ToUtf8(testU32Str), testU8Str);
170     EXPECT_EQ(ToUtf8(testWstr), testU8Str);
171 }
172 #endif // TEL_TEST_UNSUPPORT
173 } // namespace Telephony
174 } // namespace OHOS
175