From f45a6381becaba9acb064e7181fdb2c4bb76286a Mon Sep 17 00:00:00 2001 From: wanderer-dl122 Date: Sat, 24 Sep 2022 10:07:02 +0800 Subject: [PATCH 01/12] =?UTF-8?q?ut=E5=88=86=E6=94=AF=E8=A6=86=E7=9B=96?= =?UTF-8?q?=E7=8E=87=E6=8F=90=E5=8D=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wanderer-dl122 --- .../unittest/common/resourcemanager/BUILD.gn | 6 +- .../resourcemanager/include/db_adapter_test.h | 32 ++++ .../include/mock_db_change_listener.h | 37 ++++ .../resourcemanager/src/db_adapter_test.cpp | 160 ++++++++++++++++++ .../src/mock_db_change_listener.cpp | 35 ++++ 5 files changed, 269 insertions(+), 1 deletion(-) create mode 100644 services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/include/db_adapter_test.h create mode 100644 services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/include/mock_db_change_listener.h create mode 100644 services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/db_adapter_test.cpp create mode 100644 services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/mock_db_change_listener.cpp diff --git a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/BUILD.gn b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/BUILD.gn index ecc7de1a..99597e53 100644 --- a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/BUILD.gn +++ b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/BUILD.gn @@ -42,7 +42,11 @@ config("module_private_config") { ohos_unittest("ResourceManagerTest") { module_out_path = module_out_path - sources = [ "src/resource_manager_test.cpp" ] + sources = [ + "src/db_adapter_test.cpp", + "src/mock_db_change_listener.cpp", + "src/resource_manager_test.cpp" + ] configs = [ ":module_private_config" ] diff --git a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/include/db_adapter_test.h b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/include/db_adapter_test.h new file mode 100644 index 00000000..e344d576 --- /dev/null +++ b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/include/db_adapter_test.h @@ -0,0 +1,32 @@ +/* + * 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 OHOS_DISTRIBUTED_HARDWARE_DB_ADAPTER_TEST_H +#define OHOS_DISTRIBUTED_HARDWARE_DB_ADAPTER_TEST_H + +#include + +namespace OHOS { +namespace DistributedHardware { +class DbAdapterTest : public testing::Test { +public: + static void SetUpTestCase(void); + static void TearDownTestCase(void); + void SetUp(); + void TearDown(); +}; +} // namespace DistributedHardware +} // namespace OHOS +#endif diff --git a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/include/mock_db_change_listener.h b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/include/mock_db_change_listener.h new file mode 100644 index 00000000..ad5a60d1 --- /dev/null +++ b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/include/mock_db_change_listener.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 OHOS_DISTRIBUTED_HARDWARE_VERSION_INFO_MANAGER_H +#define OHOS_DISTRIBUTED_HARDWARE_VERSION_INFO_MANAGER_H + +#include "distributed_kv_data_manager.h" +#include "kvstore_observer.h" + +#include "db_adapter.h" +#include "impl_utils.h" + +class DBAdapter; +namespace OHOS { +namespace DistributedHardware { +class MockDBChangeListener : public DistributedKv::KvStoreObserver { +public: + MockDBChangeListener() = default; + virtual ~MockDBChangeListener() = default; + + void OnChange(const DistributedKv::ChangeNotification &changeNotification) override; +}; +} // namespace DistributedHardware +} // namespace OHOS +#endif diff --git a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/db_adapter_test.cpp b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/db_adapter_test.cpp new file mode 100644 index 00000000..edb97446 --- /dev/null +++ b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/db_adapter_test.cpp @@ -0,0 +1,160 @@ +/* + * Copyright (c) 2021 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 "db_adapter_test.h" + +#include +#include +#include +#include + +#include "capability_info.h" +#define private public +#include "db_adapter.h" +#undef private +#include "dh_context.h" +#include "distributed_hardware_errno.h" +#include "distributed_hardware_log.h" +#include "mock_db_change_listener.h" + +using namespace testing::ext; +using namespace std; + +namespace OHOS { +namespace DistributedHardware { +#undef DH_LOG_TAG +#define DH_LOG_TAG "DbAdapterTest" + +namespace { +const string DATABASE_DIR = "/data/service/el1/public/database/dtbhardware_manager_service/"; +const string DEV_ID_0 = "bb536a637105409e904d4da83790aa11"; +const string DEV_ID_1 = "bb536a637105409e904d4da83790bb22"; +const string DEV_NAME = "Dev1"; +const string DH_ID_0 = "Camera_00"; +const string DH_ID_1 = "Mic_01"; +const string DH_ID_2 = "Gps_02"; +const string DH_ID_3 = "Display_03"; +const string DH_ID_4 = "Input_04"; +const string DH_ATTR_0 = "db_test_attr0"; +const string DH_ATTR_1 = "db_test_attr1"; +constexpr uint16_t TEST_DEV_TYPE_PAD = 0x11; + +const shared_ptr CAP_INFO_0 = + make_shared(DH_ID_0, DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::CAMERA, DH_ATTR_0); +const shared_ptr CAP_INFO_1 = + make_shared(DH_ID_1, DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::AUDIO, DH_ATTR_0); +const shared_ptr CAP_INFO_2 = + make_shared(DH_ID_2, DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::GPS, DH_ATTR_0); +const shared_ptr CAP_INFO_3 = + make_shared(DH_ID_3, DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::SCREEN, DH_ATTR_0); +const shared_ptr CAP_INFO_4 = + make_shared(DH_ID_4, DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::INPUT, DH_ATTR_0); + +const shared_ptr CAP_INFO_5 = + make_shared(DH_ID_0, DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::CAMERA, DH_ATTR_1); +const shared_ptr CAP_INFO_6 = + make_shared(DH_ID_1, DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::AUDIO, DH_ATTR_1); +const shared_ptr CAP_INFO_7 = + make_shared(DH_ID_2, DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::GPS, DH_ATTR_1); +const shared_ptr CAP_INFO_8 = + make_shared(DH_ID_3, DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::SCREEN, DH_ATTR_1); +const shared_ptr CAP_INFO_9 = + make_shared(DH_ID_4, DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::INPUT, DH_ATTR_1); + +std::shared_ptr g_dbAdapterPtr; +} + +void DbAdapterTest::SetUpTestCase(void) +{ + auto ret = mkdir(DATABASE_DIR.c_str(), S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH); + if (ret != 0) { + DHLOGE("mkdir failed, path: %s, errno : %d", DATABASE_DIR.c_str(), errno); + } + + std::shared_ptr changeListener = std::make_shared(); + g_dbAdapterPtr = std::make_shared(APP_ID, GLOBAL_CAPABILITY_ID, changeListener); +} + +void DbAdapterTest::TearDownTestCase(void) +{ + g_dbAdapterPtr->Init(); + + auto ret = remove(DATABASE_DIR.c_str()); + if (ret != 0) { + DHLOGE("remove dir failed, path: %s, errno : %d", DATABASE_DIR.c_str(), errno); + } +} + +void DbAdapterTest::SetUp() +{ +} + +void DbAdapterTest::TearDown() +{ +} + +/** + * @tc.name: db_Adapter_test_000 + * @tc.desc: Verify the Init function. + * @tc.type: FUNC + * @tc.require: AR000GHSJE + */ +HWTEST_F(DbAdapterTest, db_Adapter_test_000, TestSize.Level0) +{ + EXPECT_EQ(g_dbAdapterPtr->Init(), DH_FWK_SUCCESS); +} + +/** + * @tc.name: db_Adapter_test_001 + * @tc.desc: Verify the PutDataBatch function. + * @tc.type: FUNC + * @tc.require: AR000GHSJE + */ +HWTEST_F(DbAdapterTest, db_Adapter_test_001, TestSize.Level0) +{ + vector> resInfos { CAP_INFO_0, CAP_INFO_1, CAP_INFO_2, CAP_INFO_3, CAP_INFO_4, + CAP_INFO_5, CAP_INFO_6, CAP_INFO_7, CAP_INFO_8, CAP_INFO_9 }; + + std::vector keys; + std::vector values; + std::string key; + for (auto &resInfo : resInfos) { + key = resInfo->GetKey(); + keys.push_back(key); + values.push_back(resInfo->ToJsonString()); + } + EXPECT_EQ(g_dbAdapterPtr->PutDataBatch(keys, values), DH_FWK_SUCCESS); +} + +/** + * @tc.name: db_Adapter_test_002 + * @tc.desc: Verify the PutDataBatch function. + * @tc.type: FUNC + * @tc.require: AR000GHSCV + */ +HWTEST_F(DbAdapterTest, db_Adapter_test_002, TestSize.Level0) +{ + std::vector keysEmpty; + std::vector valuesEmpty; + std::vector keys { std::string(DEV_ID_0 + DH_ID_0) }; + std::vector values { DH_ATTR_0 }; + + EXPECT_EQ(g_dbAdapterPtr->PutDataBatch(keys, values), DH_FWK_SUCCESS); + EXPECT_EQ(g_dbAdapterPtr->PutDataBatch(keys, valuesEmpty), ERR_DH_FWK_PARA_INVALID); + EXPECT_EQ(g_dbAdapterPtr->PutDataBatch(keysEmpty, values), ERR_DH_FWK_PARA_INVALID); + EXPECT_EQ(g_dbAdapterPtr->PutDataBatch(keysEmpty, valuesEmpty), ERR_DH_FWK_PARA_INVALID); +} +} // namespace DistributedHardware +} // namespace OHOS diff --git a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/mock_db_change_listener.cpp b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/mock_db_change_listener.cpp new file mode 100644 index 00000000..6f70354a --- /dev/null +++ b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/mock_db_change_listener.cpp @@ -0,0 +1,35 @@ +/* + * 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 "mock_db_change_listener.h" + +#include "anonymous_string.h" +#include "constants.h" +#include "dh_context.h" +#include "dh_utils_tool.h" +#include "distributed_hardware_errno.h" +#include "distributed_hardware_log.h" + +class DBAdapter; +namespace OHOS { +namespace DistributedHardware { +#undef DH_LOG_TAG +#define DH_LOG_TAG "MockDBChangeListener" +void MockDBChangeListener::OnChange(const DistributedKv::ChangeNotification &changeNotification) +{ + (void)changeNotification; +} +} // namespace DistributedHardware +} // namespace OHOS -- Gitee From 6e6c27f471e32bbbe95db7a0f054ec81e0d72c8b Mon Sep 17 00:00:00 2001 From: wanderer-dl122 Date: Sat, 24 Sep 2022 10:19:52 +0800 Subject: [PATCH 02/12] =?UTF-8?q?ut=E5=88=86=E6=94=AF=E8=A6=86=E7=9B=96?= =?UTF-8?q?=E7=8E=87=E6=8F=90=E5=8D=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wanderer-dl122 --- .../common/resourcemanager/src/db_adapter_test.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/db_adapter_test.cpp b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/db_adapter_test.cpp index edb97446..c9f41ca2 100644 --- a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/db_adapter_test.cpp +++ b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/db_adapter_test.cpp @@ -89,7 +89,7 @@ void DbAdapterTest::SetUpTestCase(void) void DbAdapterTest::TearDownTestCase(void) { - g_dbAdapterPtr->Init(); + g_dbAdapterPtr->UnInit(); auto ret = remove(DATABASE_DIR.c_str()); if (ret != 0) { @@ -106,23 +106,23 @@ void DbAdapterTest::TearDown() } /** - * @tc.name: db_Adapter_test_000 + * @tc.name: db_adapter_test_000 * @tc.desc: Verify the Init function. * @tc.type: FUNC * @tc.require: AR000GHSJE */ -HWTEST_F(DbAdapterTest, db_Adapter_test_000, TestSize.Level0) +HWTEST_F(DbAdapterTest, db_adapter_test_000, TestSize.Level0) { EXPECT_EQ(g_dbAdapterPtr->Init(), DH_FWK_SUCCESS); } /** - * @tc.name: db_Adapter_test_001 + * @tc.name: db_adapter_test_001 * @tc.desc: Verify the PutDataBatch function. * @tc.type: FUNC * @tc.require: AR000GHSJE */ -HWTEST_F(DbAdapterTest, db_Adapter_test_001, TestSize.Level0) +HWTEST_F(DbAdapterTest, db_adapter_test_001, TestSize.Level0) { vector> resInfos { CAP_INFO_0, CAP_INFO_1, CAP_INFO_2, CAP_INFO_3, CAP_INFO_4, CAP_INFO_5, CAP_INFO_6, CAP_INFO_7, CAP_INFO_8, CAP_INFO_9 }; @@ -139,12 +139,12 @@ HWTEST_F(DbAdapterTest, db_Adapter_test_001, TestSize.Level0) } /** - * @tc.name: db_Adapter_test_002 + * @tc.name: db_adapter_test_002 * @tc.desc: Verify the PutDataBatch function. * @tc.type: FUNC * @tc.require: AR000GHSCV */ -HWTEST_F(DbAdapterTest, db_Adapter_test_002, TestSize.Level0) +HWTEST_F(DbAdapterTest, db_adapter_test_002, TestSize.Level0) { std::vector keysEmpty; std::vector valuesEmpty; -- Gitee From 81108e08eb8e50491ae6ef8791be6012a045cedb Mon Sep 17 00:00:00 2001 From: wanderer-dl122 Date: Sat, 24 Sep 2022 10:21:55 +0800 Subject: [PATCH 03/12] =?UTF-8?q?ut=E5=88=86=E6=94=AF=E8=A6=86=E7=9B=96?= =?UTF-8?q?=E7=8E=87=E6=8F=90=E5=8D=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wanderer-dl122 --- .../unittest/common/resourcemanager/src/db_adapter_test.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/db_adapter_test.cpp b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/db_adapter_test.cpp index c9f41ca2..dab3cb44 100644 --- a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/db_adapter_test.cpp +++ b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/db_adapter_test.cpp @@ -41,6 +41,7 @@ namespace { const string DATABASE_DIR = "/data/service/el1/public/database/dtbhardware_manager_service/"; const string DEV_ID_0 = "bb536a637105409e904d4da83790aa11"; const string DEV_ID_1 = "bb536a637105409e904d4da83790bb22"; +const string DEV_ID_2 = "bb536a637105409e904d4da83790bb33"; const string DEV_NAME = "Dev1"; const string DH_ID_0 = "Camera_00"; const string DH_ID_1 = "Mic_01"; @@ -148,7 +149,7 @@ HWTEST_F(DbAdapterTest, db_adapter_test_002, TestSize.Level0) { std::vector keysEmpty; std::vector valuesEmpty; - std::vector keys { std::string(DEV_ID_0 + DH_ID_0) }; + std::vector keys { std::string(DEV_ID_2 + DH_ID_0) }; std::vector values { DH_ATTR_0 }; EXPECT_EQ(g_dbAdapterPtr->PutDataBatch(keys, values), DH_FWK_SUCCESS); -- Gitee From 2db632e134c88790b34b4dc24d8a7b3c2fa3a525 Mon Sep 17 00:00:00 2001 From: wanderer-dl122 Date: Sat, 24 Sep 2022 11:24:43 +0800 Subject: [PATCH 04/12] =?UTF-8?q?ut=E5=88=86=E6=94=AF=E8=A6=86=E7=9B=96?= =?UTF-8?q?=E7=8E=87=E6=8F=90=E5=8D=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wanderer-dl122 --- .../test/unittest/common/resourcemanager/BUILD.gn | 2 +- .../common/resourcemanager/include/mock_db_change_listener.h | 3 --- .../unittest/common/resourcemanager/src/db_adapter_test.cpp | 1 + .../common/resourcemanager/src/mock_db_change_listener.cpp | 4 ---- 4 files changed, 2 insertions(+), 8 deletions(-) diff --git a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/BUILD.gn b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/BUILD.gn index 99597e53..42e303d9 100644 --- a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/BUILD.gn +++ b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/BUILD.gn @@ -45,7 +45,7 @@ ohos_unittest("ResourceManagerTest") { sources = [ "src/db_adapter_test.cpp", "src/mock_db_change_listener.cpp", - "src/resource_manager_test.cpp" + "src/resource_manager_test.cpp", ] configs = [ ":module_private_config" ] diff --git a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/include/mock_db_change_listener.h b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/include/mock_db_change_listener.h index ad5a60d1..82d960fc 100644 --- a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/include/mock_db_change_listener.h +++ b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/include/mock_db_change_listener.h @@ -19,9 +19,6 @@ #include "distributed_kv_data_manager.h" #include "kvstore_observer.h" -#include "db_adapter.h" -#include "impl_utils.h" - class DBAdapter; namespace OHOS { namespace DistributedHardware { diff --git a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/db_adapter_test.cpp b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/db_adapter_test.cpp index dab3cb44..cfb1d768 100644 --- a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/db_adapter_test.cpp +++ b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/db_adapter_test.cpp @@ -21,6 +21,7 @@ #include #include "capability_info.h" +#include "constants.h" #define private public #include "db_adapter.h" #undef private diff --git a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/mock_db_change_listener.cpp b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/mock_db_change_listener.cpp index 6f70354a..8962776e 100644 --- a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/mock_db_change_listener.cpp +++ b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/mock_db_change_listener.cpp @@ -15,10 +15,6 @@ #include "mock_db_change_listener.h" -#include "anonymous_string.h" -#include "constants.h" -#include "dh_context.h" -#include "dh_utils_tool.h" #include "distributed_hardware_errno.h" #include "distributed_hardware_log.h" -- Gitee From 744822135b4350b0beeb35f4c401933aff803dfa Mon Sep 17 00:00:00 2001 From: wanderer-dl122 Date: Sat, 24 Sep 2022 14:27:37 +0800 Subject: [PATCH 05/12] =?UTF-8?q?ut=E5=88=86=E6=94=AF=E8=A6=86=E7=9B=96?= =?UTF-8?q?=E7=8E=87=E6=8F=90=E5=8D=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wanderer-dl122 --- .../common/resourcemanager/src/mock_db_change_listener.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/mock_db_change_listener.cpp b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/mock_db_change_listener.cpp index 8962776e..fa4895f8 100644 --- a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/mock_db_change_listener.cpp +++ b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/mock_db_change_listener.cpp @@ -23,6 +23,7 @@ namespace OHOS { namespace DistributedHardware { #undef DH_LOG_TAG #define DH_LOG_TAG "MockDBChangeListener" + void MockDBChangeListener::OnChange(const DistributedKv::ChangeNotification &changeNotification) { (void)changeNotification; -- Gitee From ac5d9fe17a8dae96c7ac1798a736ae6f007b6c17 Mon Sep 17 00:00:00 2001 From: wanderer-dl122 Date: Sat, 24 Sep 2022 15:09:21 +0800 Subject: [PATCH 06/12] =?UTF-8?q?ut=E5=88=86=E6=94=AF=E8=A6=86=E7=9B=96?= =?UTF-8?q?=E7=8E=87=E6=8F=90=E5=8D=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wanderer-dl122 --- .../include/mock_db_change_listener.h | 5 +- .../resourcemanager/src/db_adapter_test.cpp | 48 +++++++++++++++++-- 2 files changed, 47 insertions(+), 6 deletions(-) diff --git a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/include/mock_db_change_listener.h b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/include/mock_db_change_listener.h index 82d960fc..d4e5628f 100644 --- a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/include/mock_db_change_listener.h +++ b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/include/mock_db_change_listener.h @@ -13,13 +13,12 @@ * limitations under the License. */ -#ifndef OHOS_DISTRIBUTED_HARDWARE_VERSION_INFO_MANAGER_H -#define OHOS_DISTRIBUTED_HARDWARE_VERSION_INFO_MANAGER_H +#ifndef OHOS_DISTRIBUTED_HARDWARE_MOCK_DB_CHANGE_LISTENER_H +#define OHOS_DISTRIBUTED_HARDWARE_MOCK_DB_CHANGE_LISTENER_H #include "distributed_kv_data_manager.h" #include "kvstore_observer.h" -class DBAdapter; namespace OHOS { namespace DistributedHardware { class MockDBChangeListener : public DistributedKv::KvStoreObserver { diff --git a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/db_adapter_test.cpp b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/db_adapter_test.cpp index cfb1d768..834c327e 100644 --- a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/db_adapter_test.cpp +++ b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/db_adapter_test.cpp @@ -87,11 +87,16 @@ void DbAdapterTest::SetUpTestCase(void) std::shared_ptr changeListener = std::make_shared(); g_dbAdapterPtr = std::make_shared(APP_ID, GLOBAL_CAPABILITY_ID, changeListener); + if (g_dbAdapterPtr != nullptr) { + g_dbAdapterPtr->Init(); + } } void DbAdapterTest::TearDownTestCase(void) { - g_dbAdapterPtr->UnInit(); + if (g_dbAdapterPtr != nullptr) { + g_dbAdapterPtr->UnInit(); + } auto ret = remove(DATABASE_DIR.c_str()); if (ret != 0) { @@ -148,14 +153,51 @@ HWTEST_F(DbAdapterTest, db_adapter_test_001, TestSize.Level0) */ HWTEST_F(DbAdapterTest, db_adapter_test_002, TestSize.Level0) { - std::vector keysEmpty; - std::vector valuesEmpty; std::vector keys { std::string(DEV_ID_2 + DH_ID_0) }; std::vector values { DH_ATTR_0 }; EXPECT_EQ(g_dbAdapterPtr->PutDataBatch(keys, values), DH_FWK_SUCCESS); +} + +/** + * @tc.name: db_adapter_test_003 + * @tc.desc: Verify the PutDataBatch function. + * @tc.type: FUNC + * @tc.require: AR000GHSCV + */ +HWTEST_F(DbAdapterTest, db_adapter_test_003, TestSize.Level0) +{ + std::vector valuesEmpty; + std::vector keys { std::string(DEV_ID_2 + DH_ID_0) }; + EXPECT_EQ(g_dbAdapterPtr->PutDataBatch(keys, valuesEmpty), ERR_DH_FWK_PARA_INVALID); +} + +/** + * @tc.name: db_adapter_test_004 + * @tc.desc: Verify the PutDataBatch function. + * @tc.type: FUNC + * @tc.require: AR000GHSCV + */ +HWTEST_F(DbAdapterTest, db_adapter_test_004, TestSize.Level0) +{ + std::vector keysEmpty; + std::vector values { DH_ATTR_0 }; + EXPECT_EQ(g_dbAdapterPtr->PutDataBatch(keysEmpty, values), ERR_DH_FWK_PARA_INVALID); +} + +/** + * @tc.name: db_adapter_test_005 + * @tc.desc: Verify the PutDataBatch function. + * @tc.type: FUNC + * @tc.require: AR000GHSCV + */ +HWTEST_F(DbAdapterTest, db_adapter_test_005, TestSize.Level0) +{ + std::vector keysEmpty; + std::vector valuesEmpty; + EXPECT_EQ(g_dbAdapterPtr->PutDataBatch(keysEmpty, valuesEmpty), ERR_DH_FWK_PARA_INVALID); } } // namespace DistributedHardware -- Gitee From af3cbf21f2b36e65a027ab89531a4b670e028a02 Mon Sep 17 00:00:00 2001 From: wanderer-dl122 Date: Sat, 24 Sep 2022 17:37:07 +0800 Subject: [PATCH 07/12] =?UTF-8?q?ut=E5=88=86=E6=94=AF=E8=A6=86=E7=9B=96?= =?UTF-8?q?=E7=8E=87=E6=8F=90=E5=8D=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wanderer-dl122 --- .../test/unittest/BUILD.gn | 1 + .../test/unittest/common/dbadapter/BUILD.gn | 64 +++++++++++++++++++ .../include/db_adapter_test.h | 0 .../include/mock_db_change_listener.h | 0 .../src/db_adapter_test.cpp | 50 +++++++-------- .../src/mock_db_change_listener.cpp | 0 .../unittest/common/resourcemanager/BUILD.gn | 6 +- 7 files changed, 91 insertions(+), 30 deletions(-) create mode 100644 services/distributedhardwarefwkservice/test/unittest/common/dbadapter/BUILD.gn rename services/distributedhardwarefwkservice/test/unittest/common/{resourcemanager => dbadapter}/include/db_adapter_test.h (100%) rename services/distributedhardwarefwkservice/test/unittest/common/{resourcemanager => dbadapter}/include/mock_db_change_listener.h (100%) rename services/distributedhardwarefwkservice/test/unittest/common/{resourcemanager => dbadapter}/src/db_adapter_test.cpp (71%) rename services/distributedhardwarefwkservice/test/unittest/common/{resourcemanager => dbadapter}/src/mock_db_change_listener.cpp (100%) diff --git a/services/distributedhardwarefwkservice/test/unittest/BUILD.gn b/services/distributedhardwarefwkservice/test/unittest/BUILD.gn index 7204caa3..eb44ec1b 100644 --- a/services/distributedhardwarefwkservice/test/unittest/BUILD.gn +++ b/services/distributedhardwarefwkservice/test/unittest/BUILD.gn @@ -18,6 +18,7 @@ group("test") { "common/accessmanager:AccessManagerTest", "common/componentloader:component_loader_test", "common/componentmanager:component_manager_test", + "common/dbadapter:db_adapter_test", "common/distributedhardwaremanager:distributed_hardware_manager_test", "common/distributedhardwareservice:distributed_hardware_service_test", "common/localhardwaremanager:local_hardware_manager_test", diff --git a/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/BUILD.gn b/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/BUILD.gn new file mode 100644 index 00000000..fd58169c --- /dev/null +++ b/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/BUILD.gn @@ -0,0 +1,64 @@ +# Copyright (c) 2021-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") +import( + "//foundation/distributedhardware/distributed_hardware_fwk/distributedhardwarefwk.gni") + +module_out_path = "distributed_hardware_fwk/db_adapter_test" + +config("module_private_config") { + visibility = [ ":*" ] + include_dirs = [ + "//base/notification/eventhandler/interfaces/inner_api", + "//foundation/distributeddatamgr/kv_store/interfaces/innerkits/distributeddata/include", + "include", + "${utils_path}/include", + "${utils_path}/include/log", + "${utils_path}/include/eventbus", + "${services_path}/distributedhardwarefwkservice/include", + "${services_path}/distributedhardwarefwkservice/include/resourcemanager", + "${services_path}/distributedhardwarefwkservice/include/utils", + "${common_path}/utils/include", + "${common_path}/log/include", + "//commonlibrary/c_utils/base/include", + "//third_party/json/include", + "//commonlibrary/c_utils/base/include", + "//utils/system/safwk/native/include", + ] +} + +## UnitTest db_adapter_test +ohos_unittest("DbAdapterTest") { + module_out_path = module_out_path + + sources = [ + "src/db_adapter_test.cpp", + "src/mock_db_change_listener.cpp", + ] + + configs = [ ":module_private_config" ] + + deps = [ + "//foundation/distributedhardware/distributed_hardware_fwk/services/distributedhardwarefwkservice:distributedhardwarefwksvr", + "//foundation/distributedhardware/distributed_hardware_fwk/utils:distributedhardwareutils", + "//third_party/googletest:gtest_main", + ] + + external_deps = [ "c_utils:utils" ] +} + +group("db_adapter_test") { + testonly = true + deps = [ ":DbAdapterTest" ] +} diff --git a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/include/db_adapter_test.h b/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/include/db_adapter_test.h similarity index 100% rename from services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/include/db_adapter_test.h rename to services/distributedhardwarefwkservice/test/unittest/common/dbadapter/include/db_adapter_test.h diff --git a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/include/mock_db_change_listener.h b/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/include/mock_db_change_listener.h similarity index 100% rename from services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/include/mock_db_change_listener.h rename to services/distributedhardwarefwkservice/test/unittest/common/dbadapter/include/mock_db_change_listener.h diff --git a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/db_adapter_test.cpp b/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/src/db_adapter_test.cpp similarity index 71% rename from services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/db_adapter_test.cpp rename to services/distributedhardwarefwkservice/test/unittest/common/dbadapter/src/db_adapter_test.cpp index 834c327e..ff5199bb 100644 --- a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/db_adapter_test.cpp +++ b/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/src/db_adapter_test.cpp @@ -40,40 +40,40 @@ namespace DistributedHardware { namespace { const string DATABASE_DIR = "/data/service/el1/public/database/dtbhardware_manager_service/"; -const string DEV_ID_0 = "bb536a637105409e904d4da83790aa11"; -const string DEV_ID_1 = "bb536a637105409e904d4da83790bb22"; -const string DEV_ID_2 = "bb536a637105409e904d4da83790bb33"; -const string DEV_NAME = "Dev1"; -const string DH_ID_0 = "Camera_00"; -const string DH_ID_1 = "Mic_01"; -const string DH_ID_2 = "Gps_02"; -const string DH_ID_3 = "Display_03"; -const string DH_ID_4 = "Input_04"; -const string DH_ATTR_0 = "db_test_attr0"; -const string DH_ATTR_1 = "db_test_attr1"; +const string TEST_DEV_ID_0 = "bb536a637105409e904d4da83791aa11"; +const string TEST_DEV_ID_1 = "bb536a637105409e904d4da83791bb22"; +const string TEST_DEV_ID_2 = "bb536a637105409e904d4da83791bb33"; +const string TEST_DEV_NAME = "Dev1"; +const string TEST_DH_ID_0 = "Camera_00"; +const string TEST_DH_ID_1 = "Mic_01"; +const string TEST_DH_ID_2 = "Gps_02"; +const string TEST_DH_ID_3 = "Display_03"; +const string TEST_DH_ID_4 = "Input_04"; +const string TEST_DH_ATTR_0 = "db_test_attr0"; +const string TEST_DH_ATTR_1 = "db_test_attr1"; constexpr uint16_t TEST_DEV_TYPE_PAD = 0x11; const shared_ptr CAP_INFO_0 = - make_shared(DH_ID_0, DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::CAMERA, DH_ATTR_0); + make_shared(TEST_DH_ID_0, TEST_DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::CAMERA, TEST_DH_ATTR_0); const shared_ptr CAP_INFO_1 = - make_shared(DH_ID_1, DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::AUDIO, DH_ATTR_0); + make_shared(TEST_DH_ID_1, TEST_DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::AUDIO, TEST_DH_ATTR_0); const shared_ptr CAP_INFO_2 = - make_shared(DH_ID_2, DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::GPS, DH_ATTR_0); + make_shared(TEST_DH_ID_2, TEST_DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::GPS, TEST_DH_ATTR_0); const shared_ptr CAP_INFO_3 = - make_shared(DH_ID_3, DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::SCREEN, DH_ATTR_0); + make_shared(TEST_DH_ID_3, TEST_DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::SCREEN, TEST_DH_ATTR_0); const shared_ptr CAP_INFO_4 = - make_shared(DH_ID_4, DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::INPUT, DH_ATTR_0); + make_shared(TEST_DH_ID_4, TEST_DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::INPUT, TEST_DH_ATTR_0); const shared_ptr CAP_INFO_5 = - make_shared(DH_ID_0, DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::CAMERA, DH_ATTR_1); + make_shared(TEST_DH_ID_0, TEST_DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::CAMERA, TEST_DH_ATTR_1); const shared_ptr CAP_INFO_6 = - make_shared(DH_ID_1, DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::AUDIO, DH_ATTR_1); + make_shared(TEST_DH_ID_1, TEST_DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::AUDIO, TEST_DH_ATTR_1); const shared_ptr CAP_INFO_7 = - make_shared(DH_ID_2, DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::GPS, DH_ATTR_1); + make_shared(TEST_DH_ID_2, TEST_DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::GPS, TEST_DH_ATTR_1); const shared_ptr CAP_INFO_8 = - make_shared(DH_ID_3, DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::SCREEN, DH_ATTR_1); + make_shared(TEST_DH_ID_3, TEST_DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::SCREEN, TEST_DH_ATTR_1); const shared_ptr CAP_INFO_9 = - make_shared(DH_ID_4, DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::INPUT, DH_ATTR_1); + make_shared(TEST_DH_ID_4, TEST_DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::INPUT, TEST_DH_ATTR_1); std::shared_ptr g_dbAdapterPtr; } @@ -153,8 +153,8 @@ HWTEST_F(DbAdapterTest, db_adapter_test_001, TestSize.Level0) */ HWTEST_F(DbAdapterTest, db_adapter_test_002, TestSize.Level0) { - std::vector keys { std::string(DEV_ID_2 + DH_ID_0) }; - std::vector values { DH_ATTR_0 }; + std::vector keys { std::string(TEST_DEV_ID_2 + TEST_DEV_ID_0) }; + std::vector values { TEST_DH_ATTR_0 }; EXPECT_EQ(g_dbAdapterPtr->PutDataBatch(keys, values), DH_FWK_SUCCESS); } @@ -167,8 +167,8 @@ HWTEST_F(DbAdapterTest, db_adapter_test_002, TestSize.Level0) */ HWTEST_F(DbAdapterTest, db_adapter_test_003, TestSize.Level0) { + std::vector keys { std::string(TEST_DEV_ID_2 + TEST_DEV_ID_0) }; std::vector valuesEmpty; - std::vector keys { std::string(DEV_ID_2 + DH_ID_0) }; EXPECT_EQ(g_dbAdapterPtr->PutDataBatch(keys, valuesEmpty), ERR_DH_FWK_PARA_INVALID); } @@ -182,7 +182,7 @@ HWTEST_F(DbAdapterTest, db_adapter_test_003, TestSize.Level0) HWTEST_F(DbAdapterTest, db_adapter_test_004, TestSize.Level0) { std::vector keysEmpty; - std::vector values { DH_ATTR_0 }; + std::vector values { TEST_DH_ATTR_0 }; EXPECT_EQ(g_dbAdapterPtr->PutDataBatch(keysEmpty, values), ERR_DH_FWK_PARA_INVALID); } diff --git a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/mock_db_change_listener.cpp b/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/src/mock_db_change_listener.cpp similarity index 100% rename from services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/src/mock_db_change_listener.cpp rename to services/distributedhardwarefwkservice/test/unittest/common/dbadapter/src/mock_db_change_listener.cpp diff --git a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/BUILD.gn b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/BUILD.gn index 42e303d9..ecc7de1a 100644 --- a/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/BUILD.gn +++ b/services/distributedhardwarefwkservice/test/unittest/common/resourcemanager/BUILD.gn @@ -42,11 +42,7 @@ config("module_private_config") { ohos_unittest("ResourceManagerTest") { module_out_path = module_out_path - sources = [ - "src/db_adapter_test.cpp", - "src/mock_db_change_listener.cpp", - "src/resource_manager_test.cpp", - ] + sources = [ "src/resource_manager_test.cpp" ] configs = [ ":module_private_config" ] -- Gitee From 5a847609791a88715221b3bce929b6add20ec624 Mon Sep 17 00:00:00 2001 From: wanderer-dl122 Date: Sat, 24 Sep 2022 19:49:52 +0800 Subject: [PATCH 08/12] =?UTF-8?q?ut=E5=88=86=E6=94=AF=E8=A6=86=E7=9B=96?= =?UTF-8?q?=E7=8E=87=E6=8F=90=E5=8D=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wanderer-dl122 --- .../src/resourcemanager/capability_info.cpp | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/services/distributedhardwarefwkservice/src/resourcemanager/capability_info.cpp b/services/distributedhardwarefwkservice/src/resourcemanager/capability_info.cpp index 50eefa1a..baa2030a 100644 --- a/services/distributedhardwarefwkservice/src/resourcemanager/capability_info.cpp +++ b/services/distributedhardwarefwkservice/src/resourcemanager/capability_info.cpp @@ -109,7 +109,13 @@ std::string CapabilityInfo::GetAnonymousKey() const int32_t CapabilityInfo::FromJsonString(const std::string &jsonStr) { - nlohmann::json jsonObj = nlohmann::json::parse(jsonStr); + DHLOGE("dl add ,jsonStr is: %s", jsonStr.c_str()); + nlohmann::json jsonObj = nlohmann::json::parse(jsonStr, nullptr, false); + if (jsonObj.is_discarded()) { + DHLOGE("jsonStr parse failed"); + return ERR_DH_FWK_JSON_PARSE_FAILED; + } + FromJson(jsonObj, *this); return DH_FWK_SUCCESS; } @@ -162,22 +168,24 @@ void ToJson(nlohmann::json &jsonObject, const CapabilityInfo &capability) void FromJson(const nlohmann::json &jsonObject, CapabilityInfo &capability) { - if (jsonObject.find(DH_ID) != jsonObject.end()) { +if (jsonObject.find(DH_ID) != jsonObject.end() && jsonObject[DH_ID].is_string()) { capability.SetDHId(jsonObject.at(DH_ID).get()); } - if (jsonObject.find(DEV_ID) != jsonObject.end()) { + if (jsonObject.find(DEV_ID) != jsonObject.end() && jsonObject[DH_ID].is_string()) { capability.SetDeviceId(jsonObject.at(DEV_ID).get()); } - if (jsonObject.find(DEV_NAME) != jsonObject.end()) { + if (jsonObject.find(DEV_NAME) != jsonObject.end() && jsonObject[DH_ID].is_string()) { capability.SetDeviceName(jsonObject.at(DEV_NAME).get()); } - if (jsonObject.find(DEV_TYPE) != jsonObject.end()) { + if (jsonObject.find(DEV_TYPE) != jsonObject.end() && jsonObject[DEV_TYPE].is_number_unsigned() && + jsonObject[DEV_TYPE] <= UINT16_MAX) { capability.SetDeviceType(jsonObject.at(DEV_TYPE).get()); } - if (jsonObject.find(DH_TYPE) != jsonObject.end()) { + if (jsonObject.find(DH_TYPE) != jsonObject.end() && jsonObject[DEV_TYPE].is_number_unsigned() && + jsonObject[DEV_TYPE] <= UINT32_MAX) { capability.SetDHType(jsonObject.at(DH_TYPE).get()); } - if (jsonObject.find(DH_ATTRS) != jsonObject.end()) { + if (jsonObject.find(DH_ATTRS) != jsonObject.end() && jsonObject[DH_ATTRS].is_string()) { capability.SetDHAttrs(jsonObject.at(DH_ATTRS).get()); } } -- Gitee From 139af312bb7adda20d8cef28d3cb5b46dce07d21 Mon Sep 17 00:00:00 2001 From: wanderer-dl122 Date: Mon, 26 Sep 2022 09:20:01 +0800 Subject: [PATCH 09/12] =?UTF-8?q?ut=E5=88=86=E6=94=AF=E8=A6=86=E7=9B=96?= =?UTF-8?q?=E7=8E=87=E6=8F=90=E5=8D=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wanderer-dl122 --- .../src/resourcemanager/capability_info.cpp | 22 ++++-------- .../common/dbadapter/src/db_adapter_test.cpp | 35 +++++++++++++++++-- 2 files changed, 40 insertions(+), 17 deletions(-) diff --git a/services/distributedhardwarefwkservice/src/resourcemanager/capability_info.cpp b/services/distributedhardwarefwkservice/src/resourcemanager/capability_info.cpp index baa2030a..50eefa1a 100644 --- a/services/distributedhardwarefwkservice/src/resourcemanager/capability_info.cpp +++ b/services/distributedhardwarefwkservice/src/resourcemanager/capability_info.cpp @@ -109,13 +109,7 @@ std::string CapabilityInfo::GetAnonymousKey() const int32_t CapabilityInfo::FromJsonString(const std::string &jsonStr) { - DHLOGE("dl add ,jsonStr is: %s", jsonStr.c_str()); - nlohmann::json jsonObj = nlohmann::json::parse(jsonStr, nullptr, false); - if (jsonObj.is_discarded()) { - DHLOGE("jsonStr parse failed"); - return ERR_DH_FWK_JSON_PARSE_FAILED; - } - + nlohmann::json jsonObj = nlohmann::json::parse(jsonStr); FromJson(jsonObj, *this); return DH_FWK_SUCCESS; } @@ -168,24 +162,22 @@ void ToJson(nlohmann::json &jsonObject, const CapabilityInfo &capability) void FromJson(const nlohmann::json &jsonObject, CapabilityInfo &capability) { -if (jsonObject.find(DH_ID) != jsonObject.end() && jsonObject[DH_ID].is_string()) { + if (jsonObject.find(DH_ID) != jsonObject.end()) { capability.SetDHId(jsonObject.at(DH_ID).get()); } - if (jsonObject.find(DEV_ID) != jsonObject.end() && jsonObject[DH_ID].is_string()) { + if (jsonObject.find(DEV_ID) != jsonObject.end()) { capability.SetDeviceId(jsonObject.at(DEV_ID).get()); } - if (jsonObject.find(DEV_NAME) != jsonObject.end() && jsonObject[DH_ID].is_string()) { + if (jsonObject.find(DEV_NAME) != jsonObject.end()) { capability.SetDeviceName(jsonObject.at(DEV_NAME).get()); } - if (jsonObject.find(DEV_TYPE) != jsonObject.end() && jsonObject[DEV_TYPE].is_number_unsigned() && - jsonObject[DEV_TYPE] <= UINT16_MAX) { + if (jsonObject.find(DEV_TYPE) != jsonObject.end()) { capability.SetDeviceType(jsonObject.at(DEV_TYPE).get()); } - if (jsonObject.find(DH_TYPE) != jsonObject.end() && jsonObject[DEV_TYPE].is_number_unsigned() && - jsonObject[DEV_TYPE] <= UINT32_MAX) { + if (jsonObject.find(DH_TYPE) != jsonObject.end()) { capability.SetDHType(jsonObject.at(DH_TYPE).get()); } - if (jsonObject.find(DH_ATTRS) != jsonObject.end() && jsonObject[DH_ATTRS].is_string()) { + if (jsonObject.find(DH_ATTRS) != jsonObject.end()) { capability.SetDHAttrs(jsonObject.at(DH_ATTRS).get()); } } diff --git a/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/src/db_adapter_test.cpp b/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/src/db_adapter_test.cpp index ff5199bb..ebb1bbc1 100644 --- a/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/src/db_adapter_test.cpp +++ b/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/src/db_adapter_test.cpp @@ -98,6 +98,8 @@ void DbAdapterTest::TearDownTestCase(void) g_dbAdapterPtr->UnInit(); } + g_dbAdapterPtr = nullptr; + auto ret = remove(DATABASE_DIR.c_str()); if (ret != 0) { DHLOGE("remove dir failed, path: %s, errno : %d", DATABASE_DIR.c_str(), errno); @@ -153,7 +155,7 @@ HWTEST_F(DbAdapterTest, db_adapter_test_001, TestSize.Level0) */ HWTEST_F(DbAdapterTest, db_adapter_test_002, TestSize.Level0) { - std::vector keys { std::string(TEST_DEV_ID_2 + TEST_DEV_ID_0) }; + std::vector keys { std::string(TEST_DEV_ID_2 + TEST_DH_ID_0) }; std::vector values { TEST_DH_ATTR_0 }; EXPECT_EQ(g_dbAdapterPtr->PutDataBatch(keys, values), DH_FWK_SUCCESS); @@ -167,7 +169,7 @@ HWTEST_F(DbAdapterTest, db_adapter_test_002, TestSize.Level0) */ HWTEST_F(DbAdapterTest, db_adapter_test_003, TestSize.Level0) { - std::vector keys { std::string(TEST_DEV_ID_2 + TEST_DEV_ID_0) }; + std::vector keys { std::string(TEST_DEV_ID_2 + TEST_DH_ID_0) }; std::vector valuesEmpty; EXPECT_EQ(g_dbAdapterPtr->PutDataBatch(keys, valuesEmpty), ERR_DH_FWK_PARA_INVALID); @@ -200,5 +202,34 @@ HWTEST_F(DbAdapterTest, db_adapter_test_005, TestSize.Level0) EXPECT_EQ(g_dbAdapterPtr->PutDataBatch(keysEmpty, valuesEmpty), ERR_DH_FWK_PARA_INVALID); } + +/** + * @tc.name: db_adapter_test_006 + * @tc.desc: Verify the PutDataBatch function. + * @tc.type: FUNC + * @tc.require: AR000GHSCV + */ +HWTEST_F(DbAdapterTest, db_adapter_test_006, TestSize.Level0) +{ + std::vector keys { std::string(TEST_DEV_ID_2 + TEST_DH_ID_0) }; + std::vector values { TEST_DH_ATTR_0, TEST_DH_ATTR_1 }; + + EXPECT_EQ(g_dbAdapterPtr->PutDataBatch(keys, values), ERR_DH_FWK_PARA_INVALID); +} + +/** + * @tc.name: db_adapter_test_007 + * @tc.desc: Verify the PutDataBatch function. + * @tc.type: FUNC + * @tc.require: AR000GHSCV + */ +HWTEST_F(DbAdapterTest, db_adapter_test_007, TestSize.Level0) +{ + g_dbAdapterPtr->kvStoragePtr_ = nullptr; + std::vector keys { std::string(TEST_DEV_ID_2 + TEST_DH_ID_0) }; + std::vector values { TEST_DH_ATTR_0 }; + + EXPECT_EQ(g_dbAdapterPtr->PutDataBatch(keys, values), ERR_DH_FWK_RESOURCE_KV_STORAGE_POINTER_NULL); +} } // namespace DistributedHardware } // namespace OHOS -- Gitee From 33f90427ca8e2cdc5002fb2b1eee3a7e2d6d152c Mon Sep 17 00:00:00 2001 From: wanderer-dl122 Date: Mon, 26 Sep 2022 11:12:32 +0800 Subject: [PATCH 10/12] =?UTF-8?q?ut=E5=88=86=E6=94=AF=E8=A6=86=E7=9B=96?= =?UTF-8?q?=E7=8E=87=E6=8F=90=E5=8D=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wanderer-dl122 --- .../unittest/common/dbadapter/src/db_adapter_test.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/src/db_adapter_test.cpp b/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/src/db_adapter_test.cpp index ebb1bbc1..46c4e464 100644 --- a/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/src/db_adapter_test.cpp +++ b/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/src/db_adapter_test.cpp @@ -60,7 +60,7 @@ const shared_ptr CAP_INFO_1 = const shared_ptr CAP_INFO_2 = make_shared(TEST_DH_ID_2, TEST_DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::GPS, TEST_DH_ATTR_0); const shared_ptr CAP_INFO_3 = - make_shared(TEST_DH_ID_3, TEST_DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::SCREEN, TEST_DH_ATTR_0); + make_shared(TEST_DH_ID_3, TEST_DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::HFP, TEST_DH_ATTR_0); const shared_ptr CAP_INFO_4 = make_shared(TEST_DH_ID_4, TEST_DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::INPUT, TEST_DH_ATTR_0); @@ -71,7 +71,7 @@ const shared_ptr CAP_INFO_6 = const shared_ptr CAP_INFO_7 = make_shared(TEST_DH_ID_2, TEST_DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::GPS, TEST_DH_ATTR_1); const shared_ptr CAP_INFO_8 = - make_shared(TEST_DH_ID_3, TEST_DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::SCREEN, TEST_DH_ATTR_1); + make_shared(TEST_DH_ID_3, TEST_DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::HFP, TEST_DH_ATTR_1); const shared_ptr CAP_INFO_9 = make_shared(TEST_DH_ID_4, TEST_DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::INPUT, TEST_DH_ATTR_1); @@ -145,6 +145,9 @@ HWTEST_F(DbAdapterTest, db_adapter_test_001, TestSize.Level0) values.push_back(resInfo->ToJsonString()); } EXPECT_EQ(g_dbAdapterPtr->PutDataBatch(keys, values), DH_FWK_SUCCESS); + for (auto &resInfo : resInfos) { + g_dbAdapterPtr->RemoveDataByKey(resInfo->GetKey()); + } } /** @@ -159,6 +162,7 @@ HWTEST_F(DbAdapterTest, db_adapter_test_002, TestSize.Level0) std::vector values { TEST_DH_ATTR_0 }; EXPECT_EQ(g_dbAdapterPtr->PutDataBatch(keys, values), DH_FWK_SUCCESS); + g_dbAdapterPtr->RemoveDataByKey(keys[0]); } /** -- Gitee From 896f74d8f8bc4a50c73b73a37ebfceaaa57b4bec Mon Sep 17 00:00:00 2001 From: dengliang Date: Mon, 26 Sep 2022 06:16:01 +0000 Subject: [PATCH 11/12] =?UTF-8?q?ut=E5=88=86=E6=94=AF=E8=A6=86=E7=9B=96?= =?UTF-8?q?=E7=8E=87=E6=8F=90=E5=8D=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: dengliang --- .../common/dbadapter/src/db_adapter_test.cpp | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/src/db_adapter_test.cpp b/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/src/db_adapter_test.cpp index 46c4e464..1a7adc9e 100644 --- a/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/src/db_adapter_test.cpp +++ b/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/src/db_adapter_test.cpp @@ -51,29 +51,29 @@ const string TEST_DH_ID_3 = "Display_03"; const string TEST_DH_ID_4 = "Input_04"; const string TEST_DH_ATTR_0 = "db_test_attr0"; const string TEST_DH_ATTR_1 = "db_test_attr1"; -constexpr uint16_t TEST_DEV_TYPE_PAD = 0x11; +constexpr uint16_t TEST_DEV_TYPE = 0x11; const shared_ptr CAP_INFO_0 = - make_shared(TEST_DH_ID_0, TEST_DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::CAMERA, TEST_DH_ATTR_0); + make_shared(TEST_DH_ID_0, TEST_DEV_ID_0, DEV_NAME, TEST_DEV_TYPE, DHType::CAMERA, TEST_DH_ATTR_0); const shared_ptr CAP_INFO_1 = - make_shared(TEST_DH_ID_1, TEST_DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::AUDIO, TEST_DH_ATTR_0); + make_shared(TEST_DH_ID_1, TEST_DEV_ID_0, DEV_NAME, TEST_DEV_TYPE, DHType::AUDIO, TEST_DH_ATTR_0); const shared_ptr CAP_INFO_2 = - make_shared(TEST_DH_ID_2, TEST_DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::GPS, TEST_DH_ATTR_0); + make_shared(TEST_DH_ID_2, TEST_DEV_ID_0, DEV_NAME, TEST_DEV_TYPE, DHType::GPS, TEST_DH_ATTR_0); const shared_ptr CAP_INFO_3 = - make_shared(TEST_DH_ID_3, TEST_DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::HFP, TEST_DH_ATTR_0); + make_shared(TEST_DH_ID_3, TEST_DEV_ID_0, DEV_NAME, TEST_DEV_TYPE, DHType::HFP, TEST_DH_ATTR_0); const shared_ptr CAP_INFO_4 = - make_shared(TEST_DH_ID_4, TEST_DEV_ID_0, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::INPUT, TEST_DH_ATTR_0); + make_shared(TEST_DH_ID_4, TEST_DEV_ID_0, DEV_NAME, TEST_DEV_TYPE, DHType::INPUT, TEST_DH_ATTR_0); const shared_ptr CAP_INFO_5 = - make_shared(TEST_DH_ID_0, TEST_DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::CAMERA, TEST_DH_ATTR_1); + make_shared(TEST_DH_ID_0, TEST_DEV_ID_1, DEV_NAME, TEST_DEV_TYPE, DHType::CAMERA, TEST_DH_ATTR_1); const shared_ptr CAP_INFO_6 = - make_shared(TEST_DH_ID_1, TEST_DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::AUDIO, TEST_DH_ATTR_1); + make_shared(TEST_DH_ID_1, TEST_DEV_ID_1, DEV_NAME, TEST_DEV_TYPE, DHType::AUDIO, TEST_DH_ATTR_1); const shared_ptr CAP_INFO_7 = - make_shared(TEST_DH_ID_2, TEST_DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::GPS, TEST_DH_ATTR_1); + make_shared(TEST_DH_ID_2, TEST_DEV_ID_1, DEV_NAME, TEST_DEV_TYPE, DHType::GPS, TEST_DH_ATTR_1); const shared_ptr CAP_INFO_8 = - make_shared(TEST_DH_ID_3, TEST_DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::HFP, TEST_DH_ATTR_1); + make_shared(TEST_DH_ID_3, TEST_DEV_ID_1, DEV_NAME, TEST_DEV_TYPE, DHType::HFP, TEST_DH_ATTR_1); const shared_ptr CAP_INFO_9 = - make_shared(TEST_DH_ID_4, TEST_DEV_ID_1, DEV_NAME, TEST_DEV_TYPE_PAD, DHType::INPUT, TEST_DH_ATTR_1); + make_shared(TEST_DH_ID_4, TEST_DEV_ID_1, DEV_NAME, TEST_DEV_TYPE, DHType::INPUT, TEST_DH_ATTR_1); std::shared_ptr g_dbAdapterPtr; } -- Gitee From c2cb13166f7e0357679e67a6e79a8d355c88230d Mon Sep 17 00:00:00 2001 From: wanderer-dl122 Date: Tue, 27 Sep 2022 09:45:53 +0800 Subject: [PATCH 12/12] =?UTF-8?q?ut=E5=88=86=E6=94=AF=E8=A6=86=E7=9B=96?= =?UTF-8?q?=E7=8E=87=E6=8F=90=E5=8D=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wanderer-dl122 --- .../test/unittest/common/dbadapter/BUILD.gn | 2 +- .../test/unittest/common/dbadapter/src/db_adapter_test.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/BUILD.gn b/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/BUILD.gn index fd58169c..8418a17d 100644 --- a/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/BUILD.gn +++ b/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/BUILD.gn @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2022 Huawei Device Co., Ltd. +# 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 diff --git a/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/src/db_adapter_test.cpp b/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/src/db_adapter_test.cpp index 46c4e464..4f5c0abe 100644 --- a/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/src/db_adapter_test.cpp +++ b/services/distributedhardwarefwkservice/test/unittest/common/dbadapter/src/db_adapter_test.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Huawei Device Co., Ltd. + * 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 -- Gitee