• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
16 #include "system_param_manager_test.h"
17 
18 #include "system_param_manager.h"
19 
20 #include "iam_logger.h"
21 #include "securec.h"
22 
23 #define LOG_TAG "USER_AUTH_SA"
24 
25 namespace OHOS {
26 namespace UserIam {
27 namespace UserAuth {
28 using namespace testing;
29 using namespace testing::ext;
30 
SetUpTestCase()31 void SystemParamManagerTest::SetUpTestCase()
32 {
33 }
34 
TearDownTestCase()35 void SystemParamManagerTest::TearDownTestCase()
36 {
37 }
38 
SetUp()39 void SystemParamManagerTest::SetUp()
40 {
41 }
42 
TearDown()43 void SystemParamManagerTest::TearDown()
44 {
45 }
46 
47 HWTEST_F(SystemParamManagerTest, SetAndGetParamTest_001, TestSize.Level0)
48 {
49     std::string oldParamStr = SystemParamManager::GetInstance().GetParam(IS_CREDENTIAL_CHECKED_KEY, FALSE_STR);
50     SystemParamManager::GetInstance().GetParam(IS_CREDENTIAL_CHECKED_KEY, FALSE_STR);
51     SystemParamManager::GetInstance().SetParam(IS_CREDENTIAL_CHECKED_KEY, TRUE_STR);
52     bool newParamVal = SystemParamManager::GetInstance().GetParam(IS_CREDENTIAL_CHECKED_KEY, FALSE_STR) ==
53         TRUE_STR;
54     EXPECT_EQ(newParamVal, true);
55     SystemParamManager::GetInstance().SetParam(IS_CREDENTIAL_CHECKED_KEY, oldParamStr);
56 }
57 
58 HWTEST_F(SystemParamManagerTest, SetAndGetParamTest_002, TestSize.Level0)
59 {
60     const std::string UNKNOWN_PARAM = "useriam.unknownParam";
61     bool getParamVal = SystemParamManager::GetInstance().GetParam(UNKNOWN_PARAM, FALSE_STR) ==
62         TRUE_STR;
63     EXPECT_EQ(getParamVal, false);
64     SystemParamManager::GetInstance().SetParam(UNKNOWN_PARAM, FALSE_STR);
65     SystemParamManager::GetInstance().SetParam(UNKNOWN_PARAM, FALSE_STR);
66 }
67 
68 HWTEST_F(SystemParamManagerTest, SetParamTwiceTest, TestSize.Level0)
69 {
70     std::string oldParamStr = SystemParamManager::GetInstance().GetParam(IS_CREDENTIAL_CHECKED_KEY, FALSE_STR);
71     SystemParamManager::GetInstance().SetParamTwice(IS_CREDENTIAL_CHECKED_KEY, FALSE_STR, TRUE_STR);
72     bool newParamVal = SystemParamManager::GetInstance().GetParam(IS_CREDENTIAL_CHECKED_KEY, FALSE_STR) ==
73         TRUE_STR;
74     EXPECT_EQ(newParamVal, true);
75     SystemParamManager::GetInstance().SetParamTwice(IS_CREDENTIAL_CHECKED_KEY, FALSE_STR, TRUE_STR);
76     SystemParamManager::GetInstance().SetParamTwice(IS_CREDENTIAL_CHECKED_KEY, TRUE_STR, TRUE_STR);
77     SystemParamManager::GetInstance().SetParam(IS_CREDENTIAL_CHECKED_KEY, oldParamStr);
78 }
79 
80 HWTEST_F(SystemParamManagerTest, WatchParamTest_001, TestSize.Level0)
81 {
__anon52bc664d0102(const std::string &value) 82     SystemParamManager::GetInstance().WatchParam(IS_CREDENTIAL_CHECKED_KEY, [](const std::string &value) {
83         IAM_LOGI("%{public}s changed, value %{public}s", IS_CREDENTIAL_CHECKED_KEY, value.c_str());
84     });
__anon52bc664d0202(const std::string &value) 85     SystemParamManager::GetInstance().WatchParam(IS_CREDENTIAL_CHECKED_KEY, [](const std::string &value) {
86         IAM_LOGI("%{public}s changed again, value %{public}s", IS_CREDENTIAL_CHECKED_KEY, value.c_str());
87     });
88     std::string oldParamStr = SystemParamManager::GetInstance().GetParam(IS_CREDENTIAL_CHECKED_KEY, FALSE_STR);
89     SystemParamManager::GetInstance().GetParam(IS_CREDENTIAL_CHECKED_KEY, FALSE_STR);
90     SystemParamManager::GetInstance().SetParam(IS_CREDENTIAL_CHECKED_KEY, TRUE_STR);
91     bool newParamVal = SystemParamManager::GetInstance().GetParam(IS_CREDENTIAL_CHECKED_KEY, FALSE_STR) ==
92         TRUE_STR;
93     EXPECT_EQ(newParamVal, true);
94     SystemParamManager::GetInstance().SetParam(IS_CREDENTIAL_CHECKED_KEY, oldParamStr);
95 }
96 
97 HWTEST_F(SystemParamManagerTest, WatchParamTest_002, TestSize.Level0)
98 {
__anon52bc664d0302(const std::string &value) 99     SystemParamManager::GetInstance().WatchParam(IS_CREDENTIAL_CHECKED_KEY, [](const std::string &value) {
100         IAM_LOGI("%{public}s changed, value %{public}s", IS_CREDENTIAL_CHECKED_KEY, value.c_str());
101     });
__anon52bc664d0402(const std::string &value) 102     SystemParamManager::GetInstance().WatchParam(IS_CREDENTIAL_CHECKED_KEY, [](const std::string &value) {
103         IAM_LOGI("%{public}s changed, value %{public}s", IS_CREDENTIAL_CHECKED_KEY, value.c_str());
104     });
105     std::string oldParamStr = SystemParamManager::GetInstance().GetParam(IS_CREDENTIAL_CHECKED_KEY, FALSE_STR);
106     SystemParamManager::GetInstance().GetParam(IS_CREDENTIAL_CHECKED_KEY, FALSE_STR);
107     SystemParamManager::GetInstance().SetParam(IS_CREDENTIAL_CHECKED_KEY, TRUE_STR);
108     bool newParamVal = SystemParamManager::GetInstance().GetParam(IS_CREDENTIAL_CHECKED_KEY, FALSE_STR) ==
109         TRUE_STR;
110     EXPECT_EQ(newParamVal, true);
111     SystemParamManager::GetInstance().SetParam(IS_CREDENTIAL_CHECKED_KEY, oldParamStr);
112 }
113 
114 HWTEST_F(SystemParamManagerTest, OnParamChangeTest_001, TestSize.Level0)
115 {
116     std::string oldParamStr = SystemParamManager::GetInstance().GetParam(IS_CREDENTIAL_CHECKED_KEY, FALSE_STR);
117     EXPECT_NO_THROW(SystemParamManager::GetInstance().OnParamChange(IS_CREDENTIAL_CHECKED_KEY, TRUE_STR));
118     EXPECT_NO_THROW(SystemParamManager::GetInstance().OnParamChange(IS_CREDENTIAL_CHECKED_KEY, oldParamStr));
119 }
120 
121 HWTEST_F(SystemParamManagerTest, OnParamChangeTest_002, TestSize.Level0)
122 {
123     const std::string UNKNOWN_PARAM_CHANGE = "useriam.unknownParamChange";
124     EXPECT_NO_THROW(SystemParamManager::GetInstance().OnParamChange(UNKNOWN_PARAM_CHANGE, TRUE_STR));
125     EXPECT_NO_THROW(SystemParamManager::GetInstance().OnParamChange(UNKNOWN_PARAM_CHANGE, FALSE_STR));
126 }
127 } // namespace UserAuth
128 } // namespace UserIam
129 } // namespace OHOS
130