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 25using namespace testing::ext; 26using namespace OHOS::HiviewDFX; 27 28namespace { 29const std::string TEST_DIR = "/data/test/hiappevent/"; 30const std::string TEST_USER_ID_NAME = "testUserName"; 31const std::string TEST_USER_ID_VALUE = "testUserId"; 32const std::string TEST_USER_PROP_NAME = "testUserName"; 33const std::string TEST_USER_PROP_VALUE = "testUserProperty"; 34 35class HiAppEventUserInfoTest : public testing::Test { 36public: 37 void SetUp(); 38 void TearDown(); 39}; 40 41void 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 49void 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 */ 61HWTEST_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 */ 85HWTEST_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 */ 109HWTEST_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 */ 136HWTEST_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 */ 163HWTEST_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 */ 187HWTEST_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 */ 211HWTEST_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 */ 238HWTEST_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}