From e83328accee973a815a1e98fe689ab9447479c53 Mon Sep 17 00:00:00 2001 From: chennian Date: Wed, 24 Aug 2022 12:05:38 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85TDD=E7=94=A8=E4=BE=8B?= =?UTF-8?q?=E5=92=8Ctdd=E7=94=A8=E4=BE=8B=E5=85=B3=E8=81=94issue=20Signed-?= =?UTF-8?q?off-by:chennian?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: chennian --- BUILD.gn | 1 + .../unittest/src/accesstoken_kit_test.cpp | 10 +- .../test/unittest/src/privacy_kit_test.cpp | 4 +- .../innerkits/token_callback/test/BUILD.gn | 43 +++++++ .../test/unittest/src/token_callback_test.cpp | 121 ++++++++++++++++++ .../test/unittest/src/token_callback_test.h | 37 ++++++ 6 files changed, 209 insertions(+), 7 deletions(-) create mode 100644 interfaces/innerkits/token_callback/test/BUILD.gn create mode 100644 interfaces/innerkits/token_callback/test/unittest/src/token_callback_test.cpp create mode 100644 interfaces/innerkits/token_callback/test/unittest/src/token_callback_test.h diff --git a/BUILD.gn b/BUILD.gn index f2f0f0bef..f334150b7 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -22,6 +22,7 @@ group("accesstoken_build_module_test") { "//base/security/access_token/interfaces/innerkits/accesstoken/test:unittest", "//base/security/access_token/interfaces/innerkits/nativetoken/test:unittest", "//base/security/access_token/interfaces/innerkits/privacy/test:unittest", + "//base/security/access_token/interfaces/innerkits/token_callback/test:unittest", "//base/security/access_token/interfaces/innerkits/token_setproc/test:unittest", "//base/security/access_token/services/accesstokenmanager/test:unittest", ] diff --git a/interfaces/innerkits/accesstoken/test/unittest/src/accesstoken_kit_test.cpp b/interfaces/innerkits/accesstoken/test/unittest/src/accesstoken_kit_test.cpp index 700a7bb98..27f7036da 100644 --- a/interfaces/innerkits/accesstoken/test/unittest/src/accesstoken_kit_test.cpp +++ b/interfaces/innerkits/accesstoken/test/unittest/src/accesstoken_kit_test.cpp @@ -2442,7 +2442,7 @@ public: * @tc.name: RegisterPermStateChangeCallback001 * @tc.desc: RegisterPermStateChangeCallback permList * @tc.type: FUNC - * @tc.require:AR000GK6TD + * @tc.require: issueI5NT1X */ HWTEST_F(AccessTokenKitTest, RegisterPermStateChangeCallback001, TestSize.Level1) { @@ -2521,7 +2521,7 @@ HWTEST_F(AccessTokenKitTest, RegisterPermStateChangeCallback001, TestSize.Level1 * @tc.name: RegisterPermStateChangeCallback002 * @tc.desc: RegisterPermStateChangeCallback permList * @tc.type: FUNC - * @tc.require:AR000GK6TD + * @tc.require: issueI5NT1X */ HWTEST_F(AccessTokenKitTest, RegisterPermStateChangeCallback002, TestSize.Level1) { @@ -2578,7 +2578,7 @@ HWTEST_F(AccessTokenKitTest, RegisterPermStateChangeCallback002, TestSize.Level1 * @tc.name: RegisterPermStateChangeCallback003 * @tc.desc: RegisterPermStateChangeCallback permList * @tc.type: FUNC - * @tc.require:AR000GK6TD + * @tc.require: issueI5NT1X */ HWTEST_F(AccessTokenKitTest, RegisterPermStateChangeCallback003, TestSize.Level1) { @@ -2644,7 +2644,7 @@ HWTEST_F(AccessTokenKitTest, RegisterPermStateChangeCallback003, TestSize.Level1 * @tc.name: RegisterPermStateChangeCallback004 * @tc.desc: RegisterPermStateChangeCallback permList * @tc.type: FUNC - * @tc.require:AR000GK6TD + * @tc.require: issueI5NT1X */ HWTEST_F(AccessTokenKitTest, RegisterPermStateChangeCallback004, TestSize.Level1) { @@ -2710,7 +2710,7 @@ HWTEST_F(AccessTokenKitTest, RegisterPermStateChangeCallback004, TestSize.Level1 * @tc.name: RegisterPermStateChangeCallback005 * @tc.desc: RegisterPermStateChangeCallback permList * @tc.type: FUNC - * @tc.require:AR000GK6TD + * @tc.require: issueI5NT1X */ HWTEST_F(AccessTokenKitTest, RegisterPermStateChangeCallback005, TestSize.Level1) { 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 4f7ed70a6..03164fb65 100644 --- a/interfaces/innerkits/privacy/test/unittest/src/privacy_kit_test.cpp +++ b/interfaces/innerkits/privacy/test/unittest/src/privacy_kit_test.cpp @@ -607,7 +607,7 @@ public: * @tc.name: RegisterPermActiveStatusCallback001 * @tc.desc: RegisterPermActiveStatusCallback with valid permission. * @tc.type: FUNC - * @tc.require:Issue Number + * @tc.require: issueI5NT1X */ HWTEST_F(PrivacyKitTest, RegisterPermActiveStatusCallback001, TestSize.Level1) { @@ -672,7 +672,7 @@ HWTEST_F(PrivacyKitTest, RegisterPermActiveStatusCallback001, TestSize.Level1) * @tc.name: RegisterPermActiveStatusCallback002 * @tc.desc: RegisterPermActiveStatusCallback with valid permission. * @tc.type: FUNC - * @tc.require:Issue Number + * @tc.require: issueI5NT1X */ HWTEST_F(PrivacyKitTest, RegisterPermActiveStatusCallback002, TestSize.Level1) diff --git a/interfaces/innerkits/token_callback/test/BUILD.gn b/interfaces/innerkits/token_callback/test/BUILD.gn new file mode 100644 index 000000000..9aa880e16 --- /dev/null +++ b/interfaces/innerkits/token_callback/test/BUILD.gn @@ -0,0 +1,43 @@ +# Copyright (c) 2022 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build/test.gni") + +ohos_unittest("libtoken_callback_test") { + subsystem_name = "security" + part_name = "access_token" + module_out_path = part_name + "/" + part_name + + include_dirs = [ + "//commonlibrary/c_utils/base/include", + "//third_party/googletest/include", + "//base/security/access_token/interfaces/innerkits/token_callback/include", + ] + + sources = [ "unittest/src/token_callback_test.cpp" ] + + cflags_cc = [ "-DHILOG_ENABLE" ] + + deps = [ "//base/security/access_token/interfaces/innerkits/token_callback:libtoken_callback_sdk" ] + external_deps = [ + "c_utils:utils", + "init:libbegetutil", + "ipc:ipc_core", + "samgr:samgr_proxy", + ] +} + +group("unittest") { + testonly = true + deps = [ ":libtoken_callback_test" ] +} diff --git a/interfaces/innerkits/token_callback/test/unittest/src/token_callback_test.cpp b/interfaces/innerkits/token_callback/test/unittest/src/token_callback_test.cpp new file mode 100644 index 000000000..b9d1c1fa2 --- /dev/null +++ b/interfaces/innerkits/token_callback/test/unittest/src/token_callback_test.cpp @@ -0,0 +1,121 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "token_callback_test.h" +#include "string_ex.h" +#include "token_callback_stub.h" + +using namespace testing::ext; +using namespace OHOS; +using namespace OHOS::Security::AccessToken; + +const static int32_t RET_NO_ERROR = 0; + +void TokenCallbackTest::SetUpTestCase() +{ +} + +void TokenCallbackTest::TearDownTestCase() +{ +} + +void TokenCallbackTest::SetUp() +{ +} + +void TokenCallbackTest::TearDown() +{ +} + +class TestCallBack : public TokenCallbackStub { +public: + TestCallBack() = default; + virtual ~TestCallBack() = default; + + void GrantResultsCallback( + const std::vector &permissions, const std::vector &grantResults) + { + GTEST_LOG_(INFO) << "GrantResultsCallback, permissions.size:" << permissions.size() << + ", grantResults.size :" << grantResults.size(); + } +}; + +/** + * @tc.name: OnRemoteRequest001 + * @tc.desc: OnRemoteRequest empty. + * @tc.type: FUNC + * @tc.require: issueI5NU8U + */ +HWTEST_F(TokenCallbackTest, OnRemoteRequest001, TestSize.Level1) +{ + std::vector permissions; + std::vector grantResults; + uint32_t listSize = permissions.size(); + uint32_t resultSize = grantResults.size(); + + TestCallBack callback; + MessageParcel data; + ASSERT_EQ(true, data.WriteInterfaceToken(ITokenCallback::GetDescriptor())); + + ASSERT_EQ(true, data.WriteUint32(listSize)); + for (uint32_t i = 0; i < listSize; i++) { + ASSERT_EQ(true, data.WriteString16(Str8ToStr16(permissions[i]))); + } + + ASSERT_EQ(true, data.WriteUint32(resultSize)); + for (uint32_t i = 0; i < resultSize; i++) { + ASSERT_EQ(true, data.WriteInt32(grantResults[i])); + } + + MessageParcel reply; + MessageOption option(MessageOption::TF_SYNC); + ASSERT_EQ(RET_NO_ERROR, + callback.OnRemoteRequest(static_cast(ITokenCallback::GRANT_RESULT_CALLBACK), data, reply, option)); +} + +/** + * @tc.name: OnRemoteRequest002 + * @tc.desc: OnRemoteRequest empty. + * @tc.type: FUNC + * @tc.require: issueI5NU8U + */ +HWTEST_F(TokenCallbackTest, OnRemoteRequest002, TestSize.Level1) +{ + std::vector permissions; + std::vector grantResults; + permissions.emplace_back("ohos.permission.CAMERA"); + grantResults.emplace_back(0); + uint32_t listSize = permissions.size(); + uint32_t resultSize = grantResults.size(); + + TestCallBack callback; + MessageParcel data; + ASSERT_EQ(true, data.WriteInterfaceToken(ITokenCallback::GetDescriptor())); + + ASSERT_EQ(true, data.WriteUint32(listSize)); + for (uint32_t i = 0; i < listSize; i++) { + ASSERT_EQ(true, data.WriteString16(Str8ToStr16(permissions[i]))); + } + + ASSERT_EQ(true, data.WriteUint32(resultSize)); + for (uint32_t i = 0; i < resultSize; i++) { + ASSERT_EQ(true, data.WriteInt32(grantResults[i])); + } + + MessageParcel reply; + MessageOption option(MessageOption::TF_SYNC); + ASSERT_EQ(RET_NO_ERROR, + callback.OnRemoteRequest(static_cast(ITokenCallback::GRANT_RESULT_CALLBACK), data, reply, option)); +} diff --git a/interfaces/innerkits/token_callback/test/unittest/src/token_callback_test.h b/interfaces/innerkits/token_callback/test/unittest/src/token_callback_test.h new file mode 100644 index 000000000..60fca1191 --- /dev/null +++ b/interfaces/innerkits/token_callback/test/unittest/src/token_callback_test.h @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef PRIVACY_KIT_TEST_H +#define PRIVACY_KIT_TEST_H + +#include +#include +namespace OHOS { +namespace Security { +namespace AccessToken { +class TokenCallbackTest : public testing::Test { +public: + static void SetUpTestCase(); + + static void TearDownTestCase(); + + void SetUp(); + + void TearDown(); +}; +} // namespace AccessToken +} // namespace Security +} // namespace OHOS +#endif // PRIVACY_KIT_TEST_H -- Gitee