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 #include <iostream>
16 #include <map>
17
18 #include <gtest/gtest.h>
19
20 #include "app_event_store.h"
21 #include "hiappevent_base.h"
22 #include "hiappevent_config.h"
23 #include "hiappevent_userinfo.h"
24
25 using namespace testing::ext;
26 using namespace OHOS::HiviewDFX;
27
28 namespace {
29 const std::string TEST_DIR = "/data/test/hiappevent/";
30 const std::string TEST_USER_ID_NAME = "testUserName";
31 const std::string TEST_USER_ID_VALUE = "testUserId";
32 const std::string TEST_USER_PROP_NAME = "testUserName";
33 const std::string TEST_USER_PROP_VALUE = "testUserProperty";
34
35 class HiAppEventUserInfoTest : public testing::Test {
36 public:
37 void SetUp();
38 void TearDown();
39 };
40
SetUp()41 void HiAppEventUserInfoTest::SetUp()
42 {
43 HiAppEventConfig::GetInstance().SetStorageDir(TEST_DIR);
44 (void)AppEventStore::GetInstance().InitDbStore();
45 HiAppEvent::UserInfo::GetInstance().RemoveUserId(TEST_USER_ID_NAME);
46 HiAppEvent::UserInfo::GetInstance().RemoveUserProperty(TEST_USER_PROP_NAME);
47 }
48
TearDown()49 void HiAppEventUserInfoTest::TearDown()
50 {
51 (void)AppEventStore::GetInstance().DestroyDbStore();
52 }
53 }
54
55 /**
56 * @tc.name: HiAppEventUserInfoTest001
57 * @tc.desc: Test to set and get user id.
58 * @tc.type: FUNC
59 * @tc.require: issueI8EOLQ
60 */
61 HWTEST_F(HiAppEventUserInfoTest, HiAppEventUserInfoTest001, TestSize.Level3)
62 {
63 std::cout << "HiAppEventUserInfoTest001 start" << std::endl;
64
65 {
66 int ret = HiAppEvent::UserInfo::GetInstance().SetUserId(TEST_USER_ID_NAME, TEST_USER_ID_VALUE);
67 ASSERT_EQ(ret, 0);
68 }
69 {
70 std::string strUserId;
71 int ret = HiAppEvent::UserInfo::GetInstance().GetUserId(TEST_USER_ID_NAME, strUserId);
72 ASSERT_EQ(ret, 0);
73 ASSERT_NE(strUserId, "");
74 }
75
76 std::cout << "HiAppEventUserInfoTest001 end" << std::endl;
77 }
78
79 /**
80 * @tc.name: HiAppEventUserInfoTest002
81 * @tc.desc: Test failed to get user id.
82 * @tc.type: FUNC
83 * @tc.require: issueI8EOLQ
84 */
85 HWTEST_F(HiAppEventUserInfoTest, HiAppEventUserInfoTest002, TestSize.Level3)
86 {
87 std::cout << "HiAppEventUserInfoTest002 start" << std::endl;
88
89 {
90 int ret = HiAppEvent::UserInfo::GetInstance().SetUserId(TEST_USER_ID_NAME, TEST_USER_ID_VALUE);
91 ASSERT_EQ(ret, 0);
92 }
93 {
94 std::string strUserId;
95 int ret = HiAppEvent::UserInfo::GetInstance().GetUserId("", strUserId);
96 ASSERT_EQ(ret, 0);
97 ASSERT_EQ(strUserId, "");
98 }
99
100 std::cout << "HiAppEventUserInfoTest002 end" << std::endl;
101 }
102
103 /**
104 * @tc.name: HiAppEventUserInfoTest003
105 * @tc.desc: Test to replace and get user id.
106 * @tc.type: FUNC
107 * @tc.require: issueI8EOLQ
108 */
109 HWTEST_F(HiAppEventUserInfoTest, HiAppEventUserInfoTest003, TestSize.Level3)
110 {
111 std::cout << "HiAppEventUserInfoTest003 start" << std::endl;
112
113 {
114 int ret = HiAppEvent::UserInfo::GetInstance().SetUserId(TEST_USER_ID_NAME, TEST_USER_ID_VALUE);
115 ASSERT_EQ(ret, 0);
116
117 ret = HiAppEvent::UserInfo::GetInstance().SetUserId(TEST_USER_ID_NAME, "testUserId1");
118 ASSERT_EQ(ret, 0);
119 }
120 {
121 std::string strUserId;
122 int ret = HiAppEvent::UserInfo::GetInstance().GetUserId(TEST_USER_ID_NAME, strUserId);
123 ASSERT_EQ(ret, 0);
124 ASSERT_EQ(strUserId, "testUserId1");
125 }
126
127 std::cout << "HiAppEventUserInfoTest003 end" << std::endl;
128 }
129
130 /**
131 * @tc.name: HiAppEventUserInfoTest004
132 * @tc.desc: Test to remove and get user id.
133 * @tc.type: FUNC
134 * @tc.require: issueI8EOLQ
135 */
136 HWTEST_F(HiAppEventUserInfoTest, HiAppEventUserInfoTest004, TestSize.Level3)
137 {
138 std::cout << "HiAppEventUserInfoTest004 start" << std::endl;
139
140 {
141 int ret = HiAppEvent::UserInfo::GetInstance().SetUserId(TEST_USER_ID_NAME, TEST_USER_ID_VALUE);
142 ASSERT_EQ(ret, 0);
143
144 ret = HiAppEvent::UserInfo::GetInstance().SetUserId(TEST_USER_ID_NAME, "");
145 ASSERT_EQ(ret, 0);
146 }
147 {
148 std::string strUserId;
149 int ret = HiAppEvent::UserInfo::GetInstance().GetUserId(TEST_USER_ID_NAME, strUserId);
150 ASSERT_EQ(ret, 0);
151 ASSERT_EQ(strUserId, "");
152 }
153
154 std::cout << "HiAppEventUserInfoTest004 end" << std::endl;
155 }
156
157 /**
158 * @tc.name: HiAppEventUserInfoTest005
159 * @tc.desc: Test to set and get user property.
160 * @tc.type: FUNC
161 * @tc.require: issueI8EOLQ
162 */
163 HWTEST_F(HiAppEventUserInfoTest, HiAppEventUserInfoTest005, TestSize.Level3)
164 {
165 std::cout << "HiAppEventUserInfoTest005 start" << std::endl;
166
167 {
168 int ret = HiAppEvent::UserInfo::GetInstance().SetUserProperty(TEST_USER_PROP_NAME, TEST_USER_PROP_VALUE);
169 ASSERT_EQ(ret, 0);
170 }
171 {
172 std::string strUserProperty;
173 int ret = HiAppEvent::UserInfo::GetInstance().GetUserProperty(TEST_USER_PROP_NAME, strUserProperty);
174 ASSERT_EQ(ret, 0);
175 ASSERT_NE(strUserProperty, "");
176 }
177
178 std::cout << "HiAppEventUserInfoTest005 end" << std::endl;
179 }
180
181 /**
182 * @tc.name: HiAppEventUserInfoTest006
183 * @tc.desc: Test failed to get user property.
184 * @tc.type: FUNC
185 * @tc.require: issueI8EOLQ
186 */
187 HWTEST_F(HiAppEventUserInfoTest, HiAppEventUserInfoTest006, TestSize.Level3)
188 {
189 std::cout << "HiAppEventUserInfoTest006 start" << std::endl;
190
191 {
192 int ret = HiAppEvent::UserInfo::GetInstance().SetUserProperty(TEST_USER_PROP_NAME, TEST_USER_PROP_VALUE);
193 ASSERT_EQ(ret, 0);
194 }
195 {
196 std::string strUserProperty;
197 int ret = HiAppEvent::UserInfo::GetInstance().GetUserProperty("", strUserProperty);
198 ASSERT_EQ(ret, 0);
199 ASSERT_EQ(strUserProperty, "");
200 }
201
202 std::cout << "HiAppEventUserInfoTest006 end" << std::endl;
203 }
204
205 /**
206 * @tc.name: HiAppEventUserInfoTest007
207 * @tc.desc: Test to set and get user property.
208 * @tc.type: FUNC
209 * @tc.require: issueI8EOLQ
210 */
211 HWTEST_F(HiAppEventUserInfoTest, HiAppEventUserInfoTest007, TestSize.Level3)
212 {
213 std::cout << "HiAppEventUserInfoTest007 start" << std::endl;
214
215 {
216 int ret = HiAppEvent::UserInfo::GetInstance().SetUserProperty(TEST_USER_PROP_NAME, TEST_USER_PROP_VALUE);
217 ASSERT_EQ(ret, 0);
218
219 ret = HiAppEvent::UserInfo::GetInstance().SetUserProperty(TEST_USER_PROP_NAME, "testUserProperty1");
220 ASSERT_EQ(ret, 0);
221 }
222 {
223 std::string strUserProperty;
224 int ret = HiAppEvent::UserInfo::GetInstance().GetUserProperty(TEST_USER_PROP_NAME, strUserProperty);
225 ASSERT_EQ(ret, 0);
226 ASSERT_EQ(strUserProperty, "testUserProperty1");
227 }
228
229 std::cout << "HiAppEventUserInfoTest007 end" << std::endl;
230 }
231
232 /**
233 * @tc.name: HiAppEventUserInfoTest008
234 * @tc.desc: Test to remove and get user property.
235 * @tc.type: FUNC
236 * @tc.require: issueI8EOLQ
237 */
238 HWTEST_F(HiAppEventUserInfoTest, HiAppEventUserInfoTest008, TestSize.Level3)
239 {
240 std::cout << "HiAppEventUserInfoTest008 start" << std::endl;
241
242 {
243 int ret = HiAppEvent::UserInfo::GetInstance().SetUserProperty(TEST_USER_PROP_NAME, TEST_USER_PROP_VALUE);
244 ASSERT_EQ(ret, 0);
245
246 ret = HiAppEvent::UserInfo::GetInstance().SetUserProperty(TEST_USER_PROP_NAME, "");
247 ASSERT_EQ(ret, 0);
248 }
249 {
250 std::string strUserProperty;
251 int ret = HiAppEvent::UserInfo::GetInstance().GetUserProperty(TEST_USER_PROP_NAME, strUserProperty);
252 ASSERT_EQ(ret, 0);
253 ASSERT_EQ(strUserProperty, "");
254 }
255
256 std::cout << "HiAppEventUserInfoTest008 end" << std::endl;
257 }