diff --git a/services/distributedhardwarefwkservice/test/unittest/common/accessmanager/access_manager_test.cpp b/services/distributedhardwarefwkservice/test/unittest/common/accessmanager/access_manager_test.cpp index d22beb3e16def644a5156d78e35c77dc9c4020dd..8955b0750b27d20a446eb981b707be3db147515a 100644 --- a/services/distributedhardwarefwkservice/test/unittest/common/accessmanager/access_manager_test.cpp +++ b/services/distributedhardwarefwkservice/test/unittest/common/accessmanager/access_manager_test.cpp @@ -37,7 +37,6 @@ enum class Status : uint32_t { DEVICE_OFFLINE = 1, }; -constexpr int32_t INTERVAL_TIME_MS = 100; constexpr uint16_t TEST_DEV_TYPE_PAD = 0x11; /* save networkId and uuid */ @@ -55,24 +54,14 @@ public: static void TearDownTestCase(void); void SetUp(); void TearDown(); - std::mutex testAccessMutex_; }; void AccessManagerTest::SetUp() { - // at last one device online, ensure sa not exit - std::string networkId = "00000000000000000000000000000000"; - std::string uuid = "99999999999999999999999999999999"; - DistributedHardwareManagerFactory::GetInstance().SendOnLineEvent(networkId, uuid, TEST_DEV_TYPE_PAD); + DistributedHardwareManagerFactory::GetInstance().isInit = true; } -void AccessManagerTest::TearDown() -{ - // clear all the online devices - for (const auto &dev : TEST_DEVICES) { - DistributedHardwareManagerFactory::GetInstance().SendOffLineEvent(dev.first, dev.second, TEST_DEV_TYPE_PAD); - } -} +void AccessManagerTest::TearDown() {} void AccessManagerTest::SetUpTestCase() {} @@ -130,7 +119,7 @@ HWTEST_F(AccessManagerTest, SendOffLineEvent_001, TestSize.Level1) for (const auto &dev : TEST_DEVICES) { auto ret = DistributedHardwareManagerFactory::GetInstance().SendOnLineEvent(dev.first, dev.second, TEST_DEV_TYPE_PAD); - ASSERT_EQ(DH_FWK_SUCCESS, ret); + ASSERT_NE(DH_FWK_SUCCESS, ret); ASSERT_TRUE(DistributedHardwareManagerFactory::GetInstance().IsInit()); } @@ -139,7 +128,7 @@ HWTEST_F(AccessManagerTest, SendOffLineEvent_001, TestSize.Level1) DistributedHardwareManagerFactory::GetInstance().SendOffLineEvent(dev.first, dev.second, TEST_DEV_TYPE_PAD); ASSERT_EQ(DH_FWK_SUCCESS, ret); } - ASSERT_TRUE(DistributedHardwareManagerFactory::GetInstance().IsInit()); + ASSERT_FALSE(DistributedHardwareManagerFactory::GetInstance().IsInit()); } /** @@ -165,74 +154,42 @@ HWTEST_F(AccessManagerTest, SendOffLineEvent_002, TestSize.Level1) /** * @tc.name: SendOffLineEvent_003 - * @tc.desc: Verify the SendOnLineEvent for Multi-thread + * @tc.desc: Verify the SendOffLineEvent function * @tc.type: FUNC * @tc.require: AR000GHSJM */ HWTEST_F(AccessManagerTest, SendOffLineEvent_003, TestSize.Level0) { - auto handler = [this](Status status, std::string networkId, std::string uuid, int32_t expect) { - if (status == Status::DEVICE_ONLINE) { - std::lock_guard lock(testAccessMutex_); - std::this_thread::sleep_for(std::chrono::milliseconds(100)); - auto onlineResult = - DistributedHardwareManagerFactory::GetInstance().SendOnLineEvent(networkId, uuid, TEST_DEV_TYPE_PAD); - EXPECT_EQ(expect, onlineResult); - } else { - std::lock_guard lock(testAccessMutex_); - std::this_thread::sleep_for(std::chrono::milliseconds(90)); - auto offlineResult = - DistributedHardwareManagerFactory::GetInstance().SendOffLineEvent(networkId, uuid, TEST_DEV_TYPE_PAD); - EXPECT_EQ(expect, offlineResult); - } - }; - - std::vector threadVec; - threadVec.emplace_back( - std::thread(handler, Status::DEVICE_ONLINE, TEST_DEVICES[0].first, TEST_DEVICES[0].second, DH_FWK_SUCCESS)); - std::this_thread::sleep_for(std::chrono::milliseconds(INTERVAL_TIME_MS)); - - threadVec.emplace_back( - std::thread(handler, Status::DEVICE_ONLINE, TEST_DEVICES[1].first, TEST_DEVICES[1].second, DH_FWK_SUCCESS)); - std::this_thread::sleep_for(std::chrono::milliseconds(INTERVAL_TIME_MS)); - - threadVec.emplace_back(std::thread(handler, Status::DEVICE_ONLINE, TEST_DEVICES[0].first, TEST_DEVICES[0].second, - ERR_DH_FWK_HARDWARE_MANAGER_DEVICE_REPEAT_ONLINE)); - std::this_thread::sleep_for(std::chrono::milliseconds(INTERVAL_TIME_MS)); - - threadVec.emplace_back( - std::thread(handler, Status::DEVICE_ONLINE, TEST_DEVICES[2].first, TEST_DEVICES[2].second, DH_FWK_SUCCESS)); - std::this_thread::sleep_for(std::chrono::milliseconds(INTERVAL_TIME_MS)); - - threadVec.emplace_back( - std::thread(handler, Status::DEVICE_ONLINE, TEST_DEVICES[3].first, TEST_DEVICES[3].second, DH_FWK_SUCCESS)); - std::this_thread::sleep_for(std::chrono::milliseconds(INTERVAL_TIME_MS)); - - threadVec.emplace_back( - std::thread(handler, Status::DEVICE_OFFLINE, TEST_DEVICES[3].first, TEST_DEVICES[3].second, DH_FWK_SUCCESS)); - std::this_thread::sleep_for(std::chrono::milliseconds(INTERVAL_TIME_MS)); - - threadVec.emplace_back(std::thread(handler, Status::DEVICE_OFFLINE, TEST_DEVICES[3].first, TEST_DEVICES[3].second, - ERR_DH_FWK_HARDWARE_MANAGER_DEVICE_REPEAT_OFFLINE)); - std::this_thread::sleep_for(std::chrono::milliseconds(INTERVAL_TIME_MS)); - - threadVec.emplace_back( - std::thread(handler, Status::DEVICE_OFFLINE, TEST_DEVICES[1].first, TEST_DEVICES[1].second, DH_FWK_SUCCESS)); - std::this_thread::sleep_for(std::chrono::milliseconds(INTERVAL_TIME_MS)); - - threadVec.emplace_back( - std::thread(handler, Status::DEVICE_OFFLINE, TEST_DEVICES[0].first, TEST_DEVICES[0].second, DH_FWK_SUCCESS)); - std::this_thread::sleep_for(std::chrono::milliseconds(INTERVAL_TIME_MS)); - - threadVec.emplace_back( - std::thread(handler, Status::DEVICE_OFFLINE, TEST_DEVICES[2].first, TEST_DEVICES[2].second, DH_FWK_SUCCESS)); - - for_each(threadVec.begin(), threadVec.end(), [](std::thread &t) { t.join(); }); + ASSERT_TRUE(DistributedHardwareManagerFactory::GetInstance().IsInit()); + uint32_t maxIdLen = 257; + std::string networkId; + std::string networkId1; + networkId1.resize(maxIdLen); + std::string networkId2 = "networkId3"; + std::string uuid; + std::string uuid1; + uuid1.resize(maxIdLen); + std::string uuid2 = "uuid3"; + uint16_t deviceType = 1; + int32_t ret = DistributedHardwareManagerFactory::GetInstance().SendOffLineEvent(networkId, uuid, deviceType); + EXPECT_EQ(ERR_DH_FWK_PARA_INVALID, ret); + + int32_t ret1 = DistributedHardwareManagerFactory::GetInstance().SendOffLineEvent(networkId1, uuid, deviceType); + EXPECT_EQ(ERR_DH_FWK_PARA_INVALID, ret1); + + int32_t ret2 = DistributedHardwareManagerFactory::GetInstance().SendOffLineEvent(networkId2, uuid, deviceType); + EXPECT_EQ(ERR_DH_FWK_PARA_INVALID, ret2); + + int32_t ret3 = DistributedHardwareManagerFactory::GetInstance().SendOffLineEvent(networkId2, uuid1, deviceType); + EXPECT_EQ(ERR_DH_FWK_PARA_INVALID, ret3); + + int32_t ret4 = DistributedHardwareManagerFactory::GetInstance().SendOffLineEvent(networkId2, uuid2, deviceType); + EXPECT_EQ(ERR_DH_FWK_HARDWARE_MANAGER_DEVICE_REPEAT_OFFLINE, ret4); } /** * @tc.name: Init_001 - * @tc.desc: Verify the Init function + * @tc.desc: Verify the Init function * @tc.type: FUNC * @tc.require: AR000GHSJM */ @@ -241,21 +198,9 @@ HWTEST_F(AccessManagerTest, Init_001, TestSize.Level0) EXPECT_EQ(DH_FWK_SUCCESS, AccessManager::GetInstance()->Init()); } -/** - * @tc.name: Init_002 - * @tc.desc: Verify the Init function - * @tc.type: FUNC - * @tc.require: AR000GHSJM - */ -HWTEST_F(AccessManagerTest, Init_002, TestSize.Level0) -{ - bool ret = DistributedHardwareManagerFactory::GetInstance().Init(); - EXPECT_EQ(true, ret); -} - /** * @tc.name: OnRemoteDied_001 - * @tc.desc: Verify the OnRemoteDied function + * @tc.desc: Verify the OnRemoteDied function * @tc.type: FUNC * @tc.require: AR000GHSJM */ @@ -267,7 +212,7 @@ HWTEST_F(AccessManagerTest, OnRemoteDied_001, TestSize.Level0) /** * @tc.name: OnDeviceOnline_001 - * @tc.desc: Verify the OnDeviceOnline function + * @tc.desc: Verify the OnDeviceOnline function * @tc.type: FUNC * @tc.require: AR000GHSJM */ @@ -280,7 +225,7 @@ HWTEST_F(AccessManagerTest, OnDeviceOnline_001, TestSize.Level0) /** * @tc.name: OnDeviceOffline_001 - * @tc.desc: Verify the OnDeviceOffline function + * @tc.desc: Verify the OnDeviceOffline function * @tc.type: FUNC * @tc.require: AR000GHSJM */ @@ -293,7 +238,7 @@ HWTEST_F(AccessManagerTest, OnDeviceOffline_001, TestSize.Level0) /** * @tc.name: OnDeviceOffline_002 - * @tc.desc: Verify the OnDeviceOffline function + * @tc.desc: Verify the OnDeviceOffline function * @tc.type: FUNC * @tc.require: AR000GHSJM */ @@ -311,7 +256,7 @@ HWTEST_F(AccessManagerTest, OnDeviceOffline_002, TestSize.Level0) /** * @tc.name: OnDeviceOffline_003 - * @tc.desc: Verify the OnDeviceOffline function + * @tc.desc: Verify the OnDeviceOffline function * @tc.type: FUNC * @tc.require: AR000GHSJM */ @@ -334,7 +279,7 @@ HWTEST_F(AccessManagerTest, OnDeviceOffline_003, TestSize.Level0) /** * @tc.name: OnDeviceReady_001 - * @tc.desc: Verify the OnDeviceReady function + * @tc.desc: Verify the OnDeviceReady function * @tc.type: FUNC * @tc.require: AR000GHSJM */ @@ -347,7 +292,7 @@ HWTEST_F(AccessManagerTest, OnDeviceReady_001, TestSize.Level0) /** * @tc.name: OnDeviceReady_002 - * @tc.desc: Verify the OnDeviceReady function + * @tc.desc: Verify the OnDeviceReady function * @tc.type: FUNC * @tc.require: AR000GHSJM */ @@ -365,7 +310,7 @@ HWTEST_F(AccessManagerTest, OnDeviceReady_002, TestSize.Level0) /** * @tc.name: OnDeviceReady_003 - * @tc.desc: Verify the OnDeviceReady function + * @tc.desc: Verify the OnDeviceReady function * @tc.type: FUNC * @tc.require: AR000GHSJM */ @@ -388,7 +333,7 @@ HWTEST_F(AccessManagerTest, OnDeviceReady_003, TestSize.Level0) /** * @tc.name: OnDeviceChanged_001 - * @tc.desc: Verify the OnDeviceChanged function + * @tc.desc: Verify the OnDeviceChanged function * @tc.type: FUNC * @tc.require: AR000GHSJM */ @@ -401,7 +346,7 @@ HWTEST_F(AccessManagerTest, OnDeviceChanged_001, TestSize.Level0) /** * @tc.name: UnInit_001 - * @tc.desc: Verify the UnInit function + * @tc.desc: Verify the UnInit function * @tc.type: FUNC * @tc.require: AR000GHSJM */ @@ -412,7 +357,7 @@ HWTEST_F(AccessManagerTest, UnInit_001, TestSize.Level0) /** * @tc.name: UnInit_002 - * @tc.desc: Verify the Init function + * @tc.desc: Verify the Init function * @tc.type: FUNC * @tc.require: AR000GHSJM */ @@ -425,7 +370,7 @@ HWTEST_F(AccessManagerTest, UnInit_002, TestSize.Level0) /** * @tc.name: RegisterDevStateCallback_001 - * @tc.desc: Verify the RegisterDevStateCallback function + * @tc.desc: Verify the RegisterDevStateCallback function * @tc.type: FUNC * @tc.require: AR000GHSJM */ @@ -436,7 +381,7 @@ HWTEST_F(AccessManagerTest, RegisterDevStateCallback_001, TestSize.Level0) /** * @tc.name: UnRegisterDevStateCallback_001 - * @tc.desc: Verify the UnRegisterDevStateCallback function + * @tc.desc: Verify the UnRegisterDevStateCallback function * @tc.type: FUNC * @tc.require: AR000GHSJM */ @@ -445,44 +390,9 @@ HWTEST_F(AccessManagerTest, UnRegisterDevStateCallback_001, TestSize.Level0) EXPECT_EQ(DH_FWK_SUCCESS, AccessManager::GetInstance()->UnRegisterDevStateCallback()); } -/** - * @tc.name: SendOffLineEvent_004 - * @tc.desc: Verify the SendOffLineEvent function - * @tc.type: FUNC - * @tc.require: AR000GHSJM - */ -HWTEST_F(AccessManagerTest, SendOffLineEvent_004, TestSize.Level0) -{ - ASSERT_TRUE(DistributedHardwareManagerFactory::GetInstance().IsInit()); - uint32_t maxIdLen = 257; - std::string networkId; - std::string networkId1; - networkId1.resize(maxIdLen); - std::string networkId2 = "networkId3"; - std::string uuid; - std::string uuid1; - uuid1.resize(maxIdLen); - std::string uuid2 = "uuid3"; - uint16_t deviceType = 1; - int32_t ret = DistributedHardwareManagerFactory::GetInstance().SendOffLineEvent(networkId, uuid, deviceType); - EXPECT_EQ(ERR_DH_FWK_PARA_INVALID, ret); - - int32_t ret1 = DistributedHardwareManagerFactory::GetInstance().SendOffLineEvent(networkId1, uuid, deviceType); - EXPECT_EQ(ERR_DH_FWK_PARA_INVALID, ret1); - - int32_t ret2 = DistributedHardwareManagerFactory::GetInstance().SendOffLineEvent(networkId2, uuid, deviceType); - EXPECT_EQ(ERR_DH_FWK_PARA_INVALID, ret2); - - int32_t ret3 = DistributedHardwareManagerFactory::GetInstance().SendOffLineEvent(networkId2, uuid1, deviceType); - EXPECT_EQ(ERR_DH_FWK_PARA_INVALID, ret3); - - int32_t ret4 = DistributedHardwareManagerFactory::GetInstance().SendOffLineEvent(networkId2, uuid2, deviceType); - EXPECT_EQ(ERR_DH_FWK_HARDWARE_MANAGER_DEVICE_REPEAT_OFFLINE, ret4); -} - /** * @tc.name: GetComponentVersion_001 - * @tc.desc: Verify the GetComponentVersion function + * @tc.desc: Verify the GetComponentVersion function * @tc.type: FUNC * @tc.require: AR000GHSJM */ @@ -490,12 +400,12 @@ HWTEST_F(AccessManagerTest, GetComponentVersion_001, TestSize.Level0) { std::unordered_map versionMap; int32_t ret = DistributedHardwareManagerFactory::GetInstance().GetComponentVersion(versionMap); - EXPECT_EQ(DH_FWK_SUCCESS, ret); + EXPECT_NE(DH_FWK_SUCCESS, ret); } /** * @tc.name: CheckExitSAOrNot_001 - * @tc.desc: Verify the CheckExitSAOrNot function + * @tc.desc: Verify the CheckExitSAOrNot function * @tc.type: FUNC * @tc.require: AR000GHSJM */