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 c84f0a71e0320da0cf6bf0ab9230037fcbc4bd99..815058ab1d8152f715219aa8fc30ea7af882e302 100644 --- a/services/distributedhardwarefwkservice/test/unittest/common/accessmanager/access_manager_test.cpp +++ b/services/distributedhardwarefwkservice/test/unittest/common/accessmanager/access_manager_test.cpp @@ -33,7 +33,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 */ @@ -88,139 +87,5 @@ HWTEST_F(AccessManagerTest, SendOnLineEvent_001, TestSize.Level1) ASSERT_TRUE(DistributedHardwareManagerFactory::GetInstance().IsInit()); } } - -/** - * @tc.name: SendOnLineEvent_002 - * @tc.desc: Verify the online failed - * @tc.type: FUNC - * @tc.require: AR000GHSJK - */ -HWTEST_F(AccessManagerTest, SendOnLineEvent_002, TestSize.Level1) -{ - ASSERT_FALSE(DistributedHardwareManagerFactory::GetInstance().IsInit()); - - auto ret = - DistributedHardwareManagerFactory::GetInstance().SendOnLineEvent("", TEST_DEVICES[0].second, TEST_DEV_TYPE_PAD); - ASSERT_EQ(ERR_DH_FWK_REMOTE_NETWORK_ID_IS_EMPTY, ret); - ASSERT_FALSE(DistributedHardwareManagerFactory::GetInstance().IsInit()); - - ret = - DistributedHardwareManagerFactory::GetInstance().SendOnLineEvent(TEST_DEVICES[0].first, "", TEST_DEV_TYPE_PAD); - ASSERT_EQ(ERR_DH_FWK_REMOTE_DEVICE_ID_IS_EMPTY, ret); - ASSERT_FALSE(DistributedHardwareManagerFactory::GetInstance().IsInit()); -} - -/** - * @tc.name: SendOffLineEvent_001 - * @tc.desc: Verify the offline success - * @tc.type: FUNC - * @tc.require: AR000GHSJM - */ -HWTEST_F(AccessManagerTest, SendOffLineEvent_001, TestSize.Level1) -{ - ASSERT_FALSE(DistributedHardwareManagerFactory::GetInstance().IsInit()); - - 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_TRUE(DistributedHardwareManagerFactory::GetInstance().IsInit()); - } - - for (const auto &dev : TEST_DEVICES) { - auto ret = - DistributedHardwareManagerFactory::GetInstance().SendOffLineEvent(dev.first, dev.second, TEST_DEV_TYPE_PAD); - ASSERT_EQ(DH_FWK_SUCCESS, ret); - } - ASSERT_FALSE(DistributedHardwareManagerFactory::GetInstance().IsInit()); -} - -/** - * @tc.name: SendOffLineEvent_002 - * @tc.desc: Verify the offline failed - * @tc.type: FUNC - * @tc.require: AR000GHSJM - */ -HWTEST_F(AccessManagerTest, SendOffLineEvent_002, TestSize.Level1) -{ - ASSERT_FALSE(DistributedHardwareManagerFactory::GetInstance().IsInit()); - - auto ret = DistributedHardwareManagerFactory::GetInstance().SendOffLineEvent("", TEST_DEVICES[0].second, - TEST_DEV_TYPE_PAD); - ASSERT_EQ(ERR_DH_FWK_REMOTE_NETWORK_ID_IS_EMPTY, ret); - ASSERT_FALSE(DistributedHardwareManagerFactory::GetInstance().IsInit()); - - ret = - DistributedHardwareManagerFactory::GetInstance().SendOffLineEvent(TEST_DEVICES[0].first, "", TEST_DEV_TYPE_PAD); - ASSERT_EQ(ERR_DH_FWK_REMOTE_DEVICE_ID_IS_EMPTY, ret); - ASSERT_FALSE(DistributedHardwareManagerFactory::GetInstance().IsInit()); -} - -/** - * @tc.name: SendOffLineEvent_003 - * @tc.desc: Verify the SendOnLineEvent for Multi-thread - * @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(); }); -} } }