1 /*
2 * Copyright (C) 2025 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 "operator_matching_rule.h"
19 #include "gtest/gtest.h"
20
21 namespace OHOS {
22 namespace Telephony {
23 using namespace testing::ext;
24
25 class SimOperatorMatchTest : public testing::Test {
26 public:
27 static void SetUpTestCase();
28 static void TearDownTestCase();
29 void SetUp();
30 void TearDown();
31 };
32
33
SetUpTestCase()34 void SimOperatorMatchTest::SetUpTestCase() {}
35
TearDownTestCase()36 void SimOperatorMatchTest::TearDownTestCase() {}
37
SetUp()38 void SimOperatorMatchTest::SetUp() {}
39
TearDown()40 void SimOperatorMatchTest::TearDown() {}
41
42 HWTEST_F(SimOperatorMatchTest, SimOperatorMatchTest001, Function | MediumTest | Level1)
43 {
44 OperatorMatchingRule simOperatorMatch;
45 std::string iccidFromSim = "";
46 std::string iccidRegex = "";
47 simOperatorMatch.ImsiRegexMatch(iccidFromSim, iccidRegex);
48 simOperatorMatch.IccidRegexMatch(iccidFromSim, iccidRegex);
49 iccidFromSim = "89804003462611111111111111";
50 simOperatorMatch.IccidRegexMatch(iccidFromSim, iccidRegex);
51 iccidRegex = "^8980[0-9]{11,20}$";
52 EXPECT_FALSE(simOperatorMatch.IccidRegexMatch(iccidFromSim, iccidRegex));
53 }
54
55 HWTEST_F(SimOperatorMatchTest, SimOperatorMatchTest002, Function | MediumTest | Level1)
56 {
57 OperatorMatchingRule simOperatorMatch;
58 std::string imsiFromSim = "";
59 std::string imsiRegex = "";
60 simOperatorMatch.IccidRegexMatch(imsiFromSim, imsiRegex);
61 imsiFromSim = "2340110770010000000000000";
62 simOperatorMatch.IccidRegexMatch(imsiFromSim, imsiRegex);
63 imsiRegex = "^2\\d{11}$";
64 EXPECT_FALSE(simOperatorMatch.IccidRegexMatch(imsiFromSim, imsiRegex));
65 }
66
67 HWTEST_F(SimOperatorMatchTest, SimOperatorMatchTest003, Function | MediumTest | Level1)
68 {
69 OperatorMatchingRule simOperatorMatch;
70 std::string spnFromSim = "";
71 std::string spnRegex = "null";
72 simOperatorMatch.SpnRegexMatch(spnFromSim, spnRegex);
73 spnRegex = "";
74 simOperatorMatch.SpnRegexMatch(spnFromSim, spnRegex);
75 spnFromSim = "Com1";
76 spnRegex = "Com\\d";
77 simOperatorMatch.IccidRegexMatch(spnFromSim, spnRegex);
78 spnRegex = "Com2\\d";
79 EXPECT_FALSE(simOperatorMatch.IccidRegexMatch(spnFromSim, spnRegex));
80 }
81
82 HWTEST_F(SimOperatorMatchTest, SimOperatorMatchTest004, Function | MediumTest | Level1)
83 {
84 OperatorMatchingRule simOperatorMatch;
85 std::string valueFromSim = "";
86 std::string valuePrefix = "";
87 simOperatorMatch.PrefixMatch(valueFromSim, valuePrefix);
88 valueFromSim = "Com1";
89 valuePrefix = "Com";
90 EXPECT_TRUE(simOperatorMatch.PrefixMatch(valueFromSim, valuePrefix));
91 }
92
93 }
94 }