• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 }