diff --git a/src/app/icd/server/ICDManager.h b/src/app/icd/server/ICDManager.h index 5e8288a655a5ac..7578a28dce371b 100644 --- a/src/app/icd/server/ICDManager.h +++ b/src/app/icd/server/ICDManager.h @@ -174,6 +174,13 @@ class ICDManager : public ICDListener, public TestEventTriggerHandler */ bool SupportsFeature(Clusters::IcdManagement::Feature feature); + // See ICDConfigurationData::SetModeDurations + CHIP_ERROR SetModeDurations(Optional activeModeDuration, + Optional idleModeDuration) + { + return ICDConfigurationData::GetInstance().SetModeDurations(activeModeDuration, idleModeDuration); + }; + ICDConfigurationData::ICDMode GetICDMode() { return ICDConfigurationData::GetInstance().GetICDMode(); }; OperationalState GetOperaionalState() { return mOperationalState; }; diff --git a/src/app/icd/server/tests/ICDConfigurationDataTestAccess.h b/src/app/icd/server/tests/ICDConfigurationDataTestAccess.h index cfb4abca351b8e..1fbe8b4a246e26 100644 --- a/src/app/icd/server/tests/ICDConfigurationDataTestAccess.h +++ b/src/app/icd/server/tests/ICDConfigurationDataTestAccess.h @@ -26,8 +26,6 @@ namespace Test { /** * @brief Class acts as an accessor to private methods of the ICDConfigurationData class without needing to give friend access to * each individual test. - * This design is necessary because certain tests validate specific edge cases around specific configurations. - * See ICDConfigurationData.h for more details why SetModeDurations cannot be a public API. */ class ICDConfigurationDataTestAccess { @@ -35,12 +33,6 @@ class ICDConfigurationDataTestAccess ICDConfigurationDataTestAccess() = delete; ICDConfigurationDataTestAccess(ICDConfigurationData * data) : mData(data) {} - CHIP_ERROR SetModeDurations(Optional activeModeDuration, - Optional idleModeDuration) - { - return mData->SetModeDurations(activeModeDuration, idleModeDuration); - } - void SetFeatureMap(BitFlags featureMap) { mData->SetFeatureMap(featureMap); } private: diff --git a/src/app/icd/server/tests/TestICDManager.cpp b/src/app/icd/server/tests/TestICDManager.cpp index b05ba9b132e1e3..fddc4e0124eea7 100644 --- a/src/app/icd/server/tests/TestICDManager.cpp +++ b/src/app/icd/server/tests/TestICDManager.cpp @@ -273,7 +273,7 @@ TEST_F(TestICDManager, TestICDModeDurationsWith0ActiveModeDurationWithoutActiveS // Set New durations for test case Milliseconds32 oldActiveModeDuration = icdConfigData.GetActiveModeDuration(); - privateIcdConfigData.SetModeDurations(MakeOptional(0), NullOptional); + mICDManager.SetModeDurations(MakeOptional(0), NullOptional); // Verify That ICDManager starts in Idle EXPECT_EQ(mICDManager.GetOperaionalState(), ICDManager::OperationalState::IdleMode); @@ -331,7 +331,7 @@ TEST_F(TestICDManager, TestICDModeDurationsWith0ActiveModeDurationWithoutActiveS EXPECT_EQ(mICDManager.GetOperaionalState(), ICDManager::OperationalState::IdleMode); // Reset Old durations - privateIcdConfigData.SetModeDurations(MakeOptional(oldActiveModeDuration), NullOptional); + mICDManager.SetModeDurations(MakeOptional(oldActiveModeDuration), NullOptional); } /** @@ -355,7 +355,7 @@ TEST_F(TestICDManager, TestICDModeDurationsWith0ActiveModeDurationWithActiveSub) // Set New durations for test case Milliseconds32 oldActiveModeDuration = icdConfigData.GetActiveModeDuration(); - privateIcdConfigData.SetModeDurations(MakeOptional(0), NullOptional); + mICDManager.SetModeDurations(MakeOptional(0), NullOptional); // Verify That ICDManager starts in Idle EXPECT_EQ(mICDManager.GetOperaionalState(), ICDManager::OperationalState::IdleMode); @@ -424,7 +424,7 @@ TEST_F(TestICDManager, TestICDModeDurationsWith0ActiveModeDurationWithActiveSub) EXPECT_EQ(mICDManager.GetOperaionalState(), ICDManager::OperationalState::IdleMode); // Reset Old durations - privateIcdConfigData.SetModeDurations(MakeOptional(oldActiveModeDuration), NullOptional); + mICDManager.SetModeDurations(MakeOptional(oldActiveModeDuration), NullOptional); } #endif // CHIP_CONFIG_ENABLE_ICD_CIP @@ -1100,8 +1100,8 @@ TEST_F(TestICDManager, TestICDStateObserverOnTransitionToIdleModeGreaterActiveMo // Set New durations for test case - ActiveModeDuration must be longuer than ICD_ACTIVE_TIME_JITTER_MS Milliseconds32 oldActiveModeDuration = ICDConfigurationData::GetInstance().GetActiveModeDuration(); - privateIcdConfigData.SetModeDurations( - MakeOptional(Milliseconds32(200) + Milliseconds32(ICD_ACTIVE_TIME_JITTER_MS)), NullOptional); + mICDManager.SetModeDurations(MakeOptional(Milliseconds32(200) + Milliseconds32(ICD_ACTIVE_TIME_JITTER_MS)), + NullOptional); // Advance clock just before IdleMode timer expires AdvanceClockAndRunEventLoop(ICDConfigurationData::GetInstance().GetIdleModeDuration() - 1_s); @@ -1138,7 +1138,7 @@ TEST_F(TestICDManager, TestICDStateObserverOnTransitionToIdleModeGreaterActiveMo EXPECT_FALSE(mICDStateObserver.mOnTransitionToIdleCalled); // Reset Old durations - privateIcdConfigData.SetModeDurations(MakeOptional(oldActiveModeDuration), NullOptional); + mICDManager.SetModeDurations(MakeOptional(oldActiveModeDuration), NullOptional); } /** @@ -1151,7 +1151,7 @@ TEST_F(TestICDManager, TestICDStateObserverOnTransitionToIdleModeEqualActiveMode // Set New durations for test case - ActiveModeDuration must be equal to ICD_ACTIVE_TIME_JITTER_MS Milliseconds32 oldActiveModeDuration = ICDConfigurationData::GetInstance().GetActiveModeDuration(); - privateIcdConfigData.SetModeDurations(MakeOptional(Milliseconds32(ICD_ACTIVE_TIME_JITTER_MS)), NullOptional); + mICDManager.SetModeDurations(MakeOptional(Milliseconds32(ICD_ACTIVE_TIME_JITTER_MS)), NullOptional); // Advance clock just before IdleMode timer expires AdvanceClockAndRunEventLoop(ICDConfigurationData::GetInstance().GetIdleModeDuration() - 1_s); @@ -1171,7 +1171,7 @@ TEST_F(TestICDManager, TestICDStateObserverOnTransitionToIdleModeEqualActiveMode EXPECT_TRUE(mICDStateObserver.mOnTransitionToIdleCalled); // Reset Old durations - privateIcdConfigData.SetModeDurations(MakeOptional(oldActiveModeDuration), NullOptional); + mICDManager.SetModeDurations(MakeOptional(oldActiveModeDuration), NullOptional); } /** @@ -1183,7 +1183,7 @@ TEST_F(TestICDManager, TestICDStateObserverOnTransitionToIdleMode0ActiveModeDura // Set New durations for test case - ActiveModeDuration equal 0 Milliseconds32 oldActiveModeDuration = ICDConfigurationData::GetInstance().GetActiveModeDuration(); - privateIcdConfigData.SetModeDurations(MakeOptional(0), NullOptional); + mICDManager.SetModeDurations(MakeOptional(0), NullOptional); // Advance clock just before IdleMode timer expires AdvanceClockAndRunEventLoop(ICDConfigurationData::GetInstance().GetIdleModeDuration() - 1_s); @@ -1203,7 +1203,7 @@ TEST_F(TestICDManager, TestICDStateObserverOnTransitionToIdleMode0ActiveModeDura EXPECT_TRUE(mICDStateObserver.mOnTransitionToIdleCalled); // Reset Old durations - privateIcdConfigData.SetModeDurations(MakeOptional(oldActiveModeDuration), NullOptional); + mICDManager.SetModeDurations(MakeOptional(oldActiveModeDuration), NullOptional); } /**