From 342c464b73a65f90d351e562b819397c36544f38 Mon Sep 17 00:00:00 2001 From: liushuling Date: Thu, 15 Sep 2022 20:09:22 +0800 Subject: [PATCH 1/2] add UT test Signed-off-by: liushuling Change-Id: I3206d27954eecb37443998fc59d07c912261d8ef --- services/accesstokenmanager/test/BUILD.gn | 4 + .../cpp/src/accesstoken_info_manager_test.cpp | 159 ++++++++++++++++++ .../cpp/src/native_token_receptor_test.cpp | 46 +++++ 3 files changed, 209 insertions(+) diff --git a/services/accesstokenmanager/test/BUILD.gn b/services/accesstokenmanager/test/BUILD.gn index 14a41d363..acbb43f0d 100644 --- a/services/accesstokenmanager/test/BUILD.gn +++ b/services/accesstokenmanager/test/BUILD.gn @@ -49,6 +49,10 @@ ohos_unittest("libaccesstoken_manager_service_standard_test") { configs = [ "//base/security/access_token/config:coverage_flags" ] + if (token_sync_enable == true) { + cflags_cc += [ "-DTOKEN_SYNC_ENABLE" ] + } + deps = [ "//base/security/access_token/interfaces/innerkits/nativetoken:libnativetoken", "//base/security/access_token/services/accesstokenmanager/:accesstoken_manager_service", diff --git a/services/accesstokenmanager/test/unittest/cpp/src/accesstoken_info_manager_test.cpp b/services/accesstokenmanager/test/unittest/cpp/src/accesstoken_info_manager_test.cpp index fbe8f922a..89f6c28ac 100644 --- a/services/accesstokenmanager/test/unittest/cpp/src/accesstoken_info_manager_test.cpp +++ b/services/accesstokenmanager/test/unittest/cpp/src/accesstoken_info_manager_test.cpp @@ -227,6 +227,93 @@ HWTEST_F(AccessTokenInfoManagerTest, CreateHapTokenInfo001, TestSize.Level1) ASSERT_EQ(nullptr, tokenInfo); } +/** + * @tc.name: IsTokenIdExist001 + * @tc.desc: Verify the IsTokenIdExist exist accesstokenid. + * @tc.type: FUNC + * @tc.require: Issue Number + */ +HWTEST_F(AccessTokenInfoManagerTest, IsTokenIdExist001, TestSize.Level1) +{ + AccessTokenID testId = 1; + ASSERT_EQ(AccessTokenInfoManager::GetInstance().IsTokenIdExist(testId), false); +} + +/** + * @tc.name: GetHapTokenInfo001 + * @tc.desc: Verify the GetHapTokenInfo abnormal and normal branch. + * @tc.type: FUNC + * @tc.require: Issue Number + */ +HWTEST_F(AccessTokenInfoManagerTest, GetHapTokenInfo001, TestSize.Level1) +{ + AccessTokenIDEx tokenIdEx = {0}; + int result; + HapTokenInfo hapInfo; + result = AccessTokenInfoManager::GetInstance().GetHapTokenInfo(tokenIdEx.tokenIdExStruct.tokenID, hapInfo); + ASSERT_EQ(result, RET_FAILED); + + int ret = AccessTokenInfoManager::GetInstance().CreateHapTokenInfo( + g_infoManagerTestInfoParms, g_infoManagerTestPolicyPrams, tokenIdEx); + ASSERT_EQ(RET_SUCCESS, ret); + GTEST_LOG_(INFO) << "add a hap token"; + result = AccessTokenInfoManager::GetInstance().GetHapTokenInfo(tokenIdEx.tokenIdExStruct.tokenID, hapInfo); + ASSERT_EQ(result, RET_SUCCESS); + ret = AccessTokenInfoManager::GetInstance().RemoveHapTokenInfo(tokenIdEx.tokenIdExStruct.tokenID); + ASSERT_EQ(RET_SUCCESS, ret); + GTEST_LOG_(INFO) << "remove the token info"; +} + +/** + * @tc.name: GetHapTokenInfo001 + * @tc.desc: Verify the GetHapTokenInfo abnormal and normal branch. + * @tc.type: FUNC + * @tc.require: Issue Number + */ +HWTEST_F(AccessTokenInfoManagerTest, GetHapPermissionPolicySet001, TestSize.Level1) +{ + AccessTokenIDEx tokenIdEx = {0}; + std::shared_ptr permPolicySet = + AccessTokenInfoManager::GetInstance().GetHapPermissionPolicySet(tokenIdEx.tokenIdExStruct.tokenID); + ASSERT_EQ(permPolicySet, nullptr); + + int ret = AccessTokenInfoManager::GetInstance().CreateHapTokenInfo( + g_infoManagerTestInfoParms, g_infoManagerTestPolicyPrams, tokenIdEx); + ASSERT_EQ(RET_SUCCESS, ret); + GTEST_LOG_(INFO) << "add a hap token"; + permPolicySet = AccessTokenInfoManager::GetInstance().GetHapPermissionPolicySet(tokenIdEx.tokenIdExStruct.tokenID); + ASSERT_EQ(permPolicySet != nullptr, true); + ret = AccessTokenInfoManager::GetInstance().RemoveHapTokenInfo(tokenIdEx.tokenIdExStruct.tokenID); + ASSERT_EQ(RET_SUCCESS, ret); + GTEST_LOG_(INFO) << "remove the token info"; +} + +/** + * @tc.name: GetNativePermissionPolicySet001 + * @tc.desc: Verify the GetNativePermissionPolicySet abnormal branch tokenID is invalid. + * @tc.type: FUNC + * @tc.require: Issue Number + */ +HWTEST_F(AccessTokenInfoManagerTest, GetNativePermissionPolicySet001, TestSize.Level1) +{ + AccessTokenIDEx tokenIdEx = {0}; + std::shared_ptr permPolicySet = + AccessTokenInfoManager::GetInstance().GetNativePermissionPolicySet(tokenIdEx.tokenIdExStruct.tokenID); + ASSERT_EQ(permPolicySet, nullptr); +} + +/** + * @tc.name: RemoveHapTokenInfo001 + * @tc.desc: Verify the RemoveHapTokenInfo abnormal branch tokenID type is not true. + * @tc.type: FUNC + * @tc.require: Issue Number + */ +HWTEST_F(AccessTokenInfoManagerTest, RemoveHapTokenInfo001, TestSize.Level1) +{ + AccessTokenIDEx tokenIdEx = {0}; + ASSERT_EQ(AccessTokenInfoManager::GetInstance().RemoveHapTokenInfo(tokenIdEx.tokenIdExStruct.tokenID), RET_FAILED); +} + /** * @tc.name: CreateHapTokenInfo002 * @tc.desc: Verify the CreateHapTokenInfo add one hap token twice function. @@ -325,6 +412,78 @@ HWTEST_F(AccessTokenInfoManagerTest, UpdateHapToken001, TestSize.Level1) GTEST_LOG_(INFO) << "remove the token info"; } +/** + * @tc.name: UpdateHapToken002 + * @tc.desc: Verify the UpdateHapToken token function abnormal branch. + * @tc.type: FUNC + * @tc.require: Issue Number + */ +HWTEST_F(AccessTokenInfoManagerTest, UpdateHapToken002, TestSize.Level1) +{ + AccessTokenIDEx tokenIdEx = {0}; + HapPolicyParams policy = g_infoManagerTestPolicyPrams; + policy.apl = APL_SYSTEM_BASIC; + int ret = AccessTokenInfoManager::GetInstance().UpdateHapToken( + tokenIdEx.tokenIdExStruct.tokenID, std::string(""), DEFAULT_API_VERSION, policy); + ASSERT_EQ(RET_FAILED, ret); + + ret = AccessTokenInfoManager::GetInstance().UpdateHapToken( + tokenIdEx.tokenIdExStruct.tokenID, std::string("updateAppId"), DEFAULT_API_VERSION, policy); + ASSERT_EQ(RET_FAILED, ret); + +} + +/** + * @tc.name: GetHapTokenSync001 + * @tc.desc: Verify the GetHapTokenSync token function and abnormal branch. + * @tc.type: FUNC + * @tc.require: Issue Number + */ +HWTEST_F(AccessTokenInfoManagerTest, GetHapTokenSync001, TestSize.Level1) +{ + AccessTokenIDEx tokenIdEx = {0}; + int result; + int ret = AccessTokenInfoManager::GetInstance().CreateHapTokenInfo( + g_infoManagerTestInfoParms, g_infoManagerTestPolicyPrams, tokenIdEx); + ASSERT_EQ(RET_SUCCESS, ret); + GTEST_LOG_(INFO) << "add a hap token"; + + HapTokenInfoForSync hapSync; + result = AccessTokenInfoManager::GetInstance().GetHapTokenSync(tokenIdEx.tokenIdExStruct.tokenID, hapSync); + ASSERT_EQ(result, RET_SUCCESS); + + ret = AccessTokenInfoManager::GetInstance().RemoveHapTokenInfo(tokenIdEx.tokenIdExStruct.tokenID); + ASSERT_EQ(RET_SUCCESS, ret); + GTEST_LOG_(INFO) << "remove the token info"; + + result = AccessTokenInfoManager::GetInstance().GetHapTokenSync(tokenIdEx.tokenIdExStruct.tokenID, hapSync); + ASSERT_EQ(result, RET_FAILED); +} + +/** + * @tc.name: GetHapTokenInfoFromRemote001 + * @tc.desc: Verify the GetHapTokenInfoFromRemote token function . + * @tc.type: FUNC + * @tc.require: Issue Number + */ +HWTEST_F(AccessTokenInfoManagerTest, GetHapTokenInfoFromRemote001, TestSize.Level1) +{ + AccessTokenIDEx tokenIdEx = {0}; + int result; + int ret = AccessTokenInfoManager::GetInstance().CreateHapTokenInfo( + g_infoManagerTestInfoParms, g_infoManagerTestPolicyPrams, tokenIdEx); + ASSERT_EQ(RET_SUCCESS, ret); + GTEST_LOG_(INFO) << "add a hap token"; + + HapTokenInfoForSync hapSync; + result = + AccessTokenInfoManager::GetInstance().GetHapTokenInfoFromRemote(tokenIdEx.tokenIdExStruct.tokenID, hapSync); + ASSERT_EQ(result, RET_SUCCESS); + + ret = AccessTokenInfoManager::GetInstance().RemoveHapTokenInfo(tokenIdEx.tokenIdExStruct.tokenID); + ASSERT_EQ(RET_SUCCESS, ret); + GTEST_LOG_(INFO) << "remove the token info"; +} #ifdef SUPPORT_SANDBOX_APP static void PrepareJsonData1() { diff --git a/services/accesstokenmanager/test/unittest/cpp/src/native_token_receptor_test.cpp b/services/accesstokenmanager/test/unittest/cpp/src/native_token_receptor_test.cpp index 3ff81802e..ae5777a58 100644 --- a/services/accesstokenmanager/test/unittest/cpp/src/native_token_receptor_test.cpp +++ b/services/accesstokenmanager/test/unittest/cpp/src/native_token_receptor_test.cpp @@ -311,6 +311,52 @@ HWTEST_F(NativeTokenReceptorTest, ProcessNativeTokenInfos001, TestSize.Level1) ASSERT_EQ(ret, RET_SUCCESS); } +/** + * @tc.name: CheckNativeDCap001 + * @tc.desc: Verify CheckNativeDCap normal and abnormal branch + * @tc.type: FUNC + * @tc.require: Issue Number + */ +HWTEST_F(NativeTokenReceptorTest, CheckNativeDCap001, TestSize.Level1) +{ + ACCESSTOKEN_LOG_INFO(LABEL, "test CheckNativeDCap001!"); + + // test tokenInfo = nullptr + std::vector> tokenInfos; + AccessTokenInfoManager::GetInstance().ProcessNativeTokenInfos(tokenInfos); + + // test process one + NativeTokenInfo info = {.apl = APL_NORMAL, + .ver = 1, + .processName = "native_token_test0", + .tokenID = 0x28100000, + .tokenAttr = 0, + .dcap = {"AT_CAP", "ST_CAP"}}; + + std::vector permStateList = {}; + std::shared_ptr nativeToken = std::make_shared(info, permStateList); + tokenInfos.emplace_back(nativeToken); + AccessTokenInfoManager::GetInstance().ProcessNativeTokenInfos(tokenInfos); + NativeTokenInfo findInfo; + int ret = AccessTokenInfoManager::GetInstance().GetNativeTokenInfo(info.tokenID, findInfo); + ASSERT_EQ(ret, RET_SUCCESS); + ASSERT_EQ(findInfo.apl, info.apl); + ASSERT_EQ(findInfo.ver, info.ver); + ASSERT_EQ(findInfo.processName, info.processName); + ASSERT_EQ(findInfo.tokenID, info.tokenID); + ASSERT_EQ(findInfo.tokenAttr, info.tokenAttr); + ASSERT_EQ(findInfo.dcap, info.dcap); + + std::string dcap = "AT_CAP"; + ASSERT_EQ(AccessTokenInfoManager::GetInstance().CheckNativeDCap(findInfo.tokenID, dcap), RET_SUCCESS); + std::string ndcap = "AT"; + ASSERT_EQ(AccessTokenInfoManager::GetInstance().CheckNativeDCap(findInfo.tokenID, ndcap), RET_FAILED); + AccessTokenID testId = 1; + ASSERT_EQ(AccessTokenInfoManager::GetInstance().CheckNativeDCap(testId, dcap), RET_FAILED); + ret = AccessTokenInfoManager::GetInstance().RemoveNativeTokenInfo(info.tokenID); + ASSERT_EQ(ret, RET_SUCCESS); +} + /** * @tc.name: ProcessNativeTokenInfos002 * @tc.desc: test add two native tokens. -- Gitee From 4798e37d944f6dfc603f7ddca3c8784185212bae Mon Sep 17 00:00:00 2001 From: liushuling Date: Thu, 15 Sep 2022 21:05:54 +0800 Subject: [PATCH 2/2] add UT test Signed-off-by: liushuling Change-Id: Id046dcc3991236a536136adcd96e5e729450b9ac --- .../cpp/src/accesstoken_info_manager_test.cpp | 27 +++++++++---------- .../cpp/src/native_token_receptor_test.cpp | 1 + 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/services/accesstokenmanager/test/unittest/cpp/src/accesstoken_info_manager_test.cpp b/services/accesstokenmanager/test/unittest/cpp/src/accesstoken_info_manager_test.cpp index 89f6c28ac..680c1fed5 100644 --- a/services/accesstokenmanager/test/unittest/cpp/src/accesstoken_info_manager_test.cpp +++ b/services/accesstokenmanager/test/unittest/cpp/src/accesstoken_info_manager_test.cpp @@ -253,14 +253,14 @@ HWTEST_F(AccessTokenInfoManagerTest, GetHapTokenInfo001, TestSize.Level1) result = AccessTokenInfoManager::GetInstance().GetHapTokenInfo(tokenIdEx.tokenIdExStruct.tokenID, hapInfo); ASSERT_EQ(result, RET_FAILED); - int ret = AccessTokenInfoManager::GetInstance().CreateHapTokenInfo( + result = AccessTokenInfoManager::GetInstance().CreateHapTokenInfo( g_infoManagerTestInfoParms, g_infoManagerTestPolicyPrams, tokenIdEx); - ASSERT_EQ(RET_SUCCESS, ret); + ASSERT_EQ(RET_SUCCESS, result); GTEST_LOG_(INFO) << "add a hap token"; result = AccessTokenInfoManager::GetInstance().GetHapTokenInfo(tokenIdEx.tokenIdExStruct.tokenID, hapInfo); ASSERT_EQ(result, RET_SUCCESS); - ret = AccessTokenInfoManager::GetInstance().RemoveHapTokenInfo(tokenIdEx.tokenIdExStruct.tokenID); - ASSERT_EQ(RET_SUCCESS, ret); + result = AccessTokenInfoManager::GetInstance().RemoveHapTokenInfo(tokenIdEx.tokenIdExStruct.tokenID); + ASSERT_EQ(RET_SUCCESS, result); GTEST_LOG_(INFO) << "remove the token info"; } @@ -430,9 +430,8 @@ HWTEST_F(AccessTokenInfoManagerTest, UpdateHapToken002, TestSize.Level1) ret = AccessTokenInfoManager::GetInstance().UpdateHapToken( tokenIdEx.tokenIdExStruct.tokenID, std::string("updateAppId"), DEFAULT_API_VERSION, policy); ASSERT_EQ(RET_FAILED, ret); - } - +#ifdef TOKEN_SYNC_ENABLE /** * @tc.name: GetHapTokenSync001 * @tc.desc: Verify the GetHapTokenSync token function and abnormal branch. @@ -443,17 +442,17 @@ HWTEST_F(AccessTokenInfoManagerTest, GetHapTokenSync001, TestSize.Level1) { AccessTokenIDEx tokenIdEx = {0}; int result; - int ret = AccessTokenInfoManager::GetInstance().CreateHapTokenInfo( + result = AccessTokenInfoManager::GetInstance().CreateHapTokenInfo( g_infoManagerTestInfoParms, g_infoManagerTestPolicyPrams, tokenIdEx); - ASSERT_EQ(RET_SUCCESS, ret); + ASSERT_EQ(RET_SUCCESS, result); GTEST_LOG_(INFO) << "add a hap token"; HapTokenInfoForSync hapSync; result = AccessTokenInfoManager::GetInstance().GetHapTokenSync(tokenIdEx.tokenIdExStruct.tokenID, hapSync); ASSERT_EQ(result, RET_SUCCESS); - ret = AccessTokenInfoManager::GetInstance().RemoveHapTokenInfo(tokenIdEx.tokenIdExStruct.tokenID); - ASSERT_EQ(RET_SUCCESS, ret); + result = AccessTokenInfoManager::GetInstance().RemoveHapTokenInfo(tokenIdEx.tokenIdExStruct.tokenID); + ASSERT_EQ(RET_SUCCESS, result); GTEST_LOG_(INFO) << "remove the token info"; result = AccessTokenInfoManager::GetInstance().GetHapTokenSync(tokenIdEx.tokenIdExStruct.tokenID, hapSync); @@ -469,21 +468,21 @@ HWTEST_F(AccessTokenInfoManagerTest, GetHapTokenSync001, TestSize.Level1) HWTEST_F(AccessTokenInfoManagerTest, GetHapTokenInfoFromRemote001, TestSize.Level1) { AccessTokenIDEx tokenIdEx = {0}; - int result; int ret = AccessTokenInfoManager::GetInstance().CreateHapTokenInfo( g_infoManagerTestInfoParms, g_infoManagerTestPolicyPrams, tokenIdEx); ASSERT_EQ(RET_SUCCESS, ret); GTEST_LOG_(INFO) << "add a hap token"; HapTokenInfoForSync hapSync; - result = - AccessTokenInfoManager::GetInstance().GetHapTokenInfoFromRemote(tokenIdEx.tokenIdExStruct.tokenID, hapSync); - ASSERT_EQ(result, RET_SUCCESS); + ret = AccessTokenInfoManager::GetInstance().GetHapTokenInfoFromRemote(tokenIdEx.tokenIdExStruct.tokenID, hapSync); + ASSERT_EQ(ret, RET_SUCCESS); ret = AccessTokenInfoManager::GetInstance().RemoveHapTokenInfo(tokenIdEx.tokenIdExStruct.tokenID); ASSERT_EQ(RET_SUCCESS, ret); GTEST_LOG_(INFO) << "remove the token info"; } +#endif + #ifdef SUPPORT_SANDBOX_APP static void PrepareJsonData1() { diff --git a/services/accesstokenmanager/test/unittest/cpp/src/native_token_receptor_test.cpp b/services/accesstokenmanager/test/unittest/cpp/src/native_token_receptor_test.cpp index ae5777a58..041d821bf 100644 --- a/services/accesstokenmanager/test/unittest/cpp/src/native_token_receptor_test.cpp +++ b/services/accesstokenmanager/test/unittest/cpp/src/native_token_receptor_test.cpp @@ -323,6 +323,7 @@ HWTEST_F(NativeTokenReceptorTest, CheckNativeDCap001, TestSize.Level1) // test tokenInfo = nullptr std::vector> tokenInfos; + tokenInfos.emplace_back(nullptr); AccessTokenInfoManager::GetInstance().ProcessNativeTokenInfos(tokenInfos); // test process one -- Gitee