From 9eb9b55f251f3e709d0e8c1177d69f61147d57a1 Mon Sep 17 00:00:00 2001 From: chennian Date: Tue, 23 Aug 2022 12:28:27 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=E6=9D=83=E9=99=90=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E7=8A=B6=E6=80=81=E7=AE=A1=E7=90=86TDD=E7=94=A8?= =?UTF-8?q?=E4=BE=8B=20Signed-off-by:chennian?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: chennian --- .../test/unittest/src/privacy_kit_test.cpp | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/interfaces/innerkits/privacy/test/unittest/src/privacy_kit_test.cpp b/interfaces/innerkits/privacy/test/unittest/src/privacy_kit_test.cpp index 399abdc1a..febfbc2a2 100644 --- a/interfaces/innerkits/privacy/test/unittest/src/privacy_kit_test.cpp +++ b/interfaces/innerkits/privacy/test/unittest/src/privacy_kit_test.cpp @@ -839,3 +839,83 @@ HWTEST_F(PrivacyKitTest, RegisterPermActiveStatusCallback002, TestSize.Level1) res = PrivacyKit::UnRegisterPermActiveStatusCallback(callbackPtr2); ASSERT_EQ(RET_NO_ERROR, res); } + +/** + * @tc.name: StartUsingPermission001 + * @tc.desc: StartUsingPermission with invalid tokenId or permission. + * @tc.type: FUNC + * @tc.require:Issue Number + */ +HWTEST_F(PrivacyKitTest, StartUsingPermission001, TestSize.Level1) +{ + std::string permissionName = "ohos.permission.CAMERA"; + int32_t ret = PrivacyKit::StartUsingPermission(0, permissionName); + ASSERT_EQ(RET_ERROR, ret); + + ret = PrivacyKit::StartUsingPermission(0, "permissionName"); + ASSERT_EQ(RET_ERROR, ret); +} + +/** + * @tc.name: StartUsingPermission002 + * @tc.desc: StartUsingPermission is called twice with same permission. + * @tc.type: FUNC + * @tc.require:Issue Number + */ +HWTEST_F(PrivacyKitTest, StartUsingPermission002, TestSize.Level1) +{ + std::string permissionName = "ohos.permission.CAMERA"; + int32_t ret = PrivacyKit::StartUsingPermission(g_TokenId_E, permissionName); + ASSERT_EQ(RET_NO_ERROR, ret); + + ret = PrivacyKit::StartUsingPermission(g_TokenId_E, permissionName); + ASSERT_EQ(RET_ERROR, ret); + + ret = PrivacyKit::StopUsingPermission(g_TokenId_E, permissionName); + ASSERT_EQ(RET_NO_ERROR, ret); +} + + +/** + * @tc.name: StopUsingPermission003 + * @tc.desc: Add record when StopUsingPermission is called. + * @tc.type: FUNC + * @tc.require:Issue Number + */ +HWTEST_F(PrivacyKitTest, StartUsingPermission003, TestSize.Level1) +{ + std::string permissionName = "ohos.permission.CAMERA"; + int32_t ret = PrivacyKit::StartUsingPermission(g_TokenId_E, permissionName); + ASSERT_EQ(RET_NO_ERROR, ret); + + usleep(500000); // 500000us = 0.5s + ret = PrivacyKit::StopUsingPermission(g_TokenId_E, permissionName); + ASSERT_EQ(RET_NO_ERROR, ret); + + PermissionUsedRequest request; + PermissionUsedResult result; + std::vector permissionList; + BuildQueryRequest(g_TokenId_E, GetLocalDeviceUdid(), g_InfoParmsE.bundleName, permissionList, request); + ASSERT_EQ(RET_NO_ERROR, PrivacyKit::GetPermissionUsedRecords(request, result)); + ASSERT_EQ(1, result.bundleRecords.size()); + ASSERT_EQ(g_TokenId_E, result.bundleRecords[0].tokenId); + ASSERT_EQ(g_InfoParmsE.bundleName, result.bundleRecords[0].bundleName); + ASSERT_EQ(1, result.bundleRecords[0].permissionRecords.size()); + ASSERT_EQ(1, result.bundleRecords[0].permissionRecords[0].accessCount); +} + +/** + * @tc.name: StopUsingPermission001 + * @tc.desc: StopUsingPermission with invalid tokenId or permission. + * @tc.type: FUNC + * @tc.require:Issue Number + */ +HWTEST_F(PrivacyKitTest, StopUsingPermission001, TestSize.Level1) +{ + std::string permissionName = "ohos.permission.CAMERA"; + int32_t ret = PrivacyKit::StopUsingPermission(0, permissionName); + ASSERT_EQ(RET_ERROR, ret); + + ret = PrivacyKit::StopUsingPermission(0, "permissionName"); + ASSERT_EQ(RET_ERROR, ret); +} \ No newline at end of file -- Gitee