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