Skip to content

Commit 6873d0b

Browse files
[ICD] Expose SetModeDurations via ICDManager
1 parent 1eb2421 commit 6873d0b

File tree

3 files changed

+17
-18
lines changed

3 files changed

+17
-18
lines changed

src/app/icd/server/ICDManager.h

+7
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,13 @@ class ICDManager : public ICDListener, public TestEventTriggerHandler
174174
*/
175175
bool SupportsFeature(Clusters::IcdManagement::Feature feature);
176176

177+
// See ICDConfigurationData::SetModeDurations
178+
CHIP_ERROR SetModeDurations(Optional<System::Clock::Milliseconds32> activeModeDuration,
179+
Optional<System::Clock::Milliseconds32> idleModeDuration)
180+
{
181+
return ICDConfigurationData::GetInstance().SetModeDurations(activeModeDuration, idleModeDuration);
182+
};
183+
177184
ICDConfigurationData::ICDMode GetICDMode() { return ICDConfigurationData::GetInstance().GetICDMode(); };
178185

179186
OperationalState GetOperaionalState() { return mOperationalState; };

src/app/icd/server/tests/ICDConfigurationDataTestAccess.h

-8
Original file line numberDiff line numberDiff line change
@@ -26,21 +26,13 @@ namespace Test {
2626
/**
2727
* @brief Class acts as an accessor to private methods of the ICDConfigurationData class without needing to give friend access to
2828
* each individual test.
29-
* This design is necessary because certain tests validate specific edge cases around specific configurations.
30-
* See ICDConfigurationData.h for more details why SetModeDurations cannot be a public API.
3129
*/
3230
class ICDConfigurationDataTestAccess
3331
{
3432
public:
3533
ICDConfigurationDataTestAccess() = delete;
3634
ICDConfigurationDataTestAccess(ICDConfigurationData * data) : mData(data) {}
3735

38-
CHIP_ERROR SetModeDurations(Optional<System::Clock::Milliseconds32> activeModeDuration,
39-
Optional<System::Clock::Milliseconds32> idleModeDuration)
40-
{
41-
return mData->SetModeDurations(activeModeDuration, idleModeDuration);
42-
}
43-
4436
void SetFeatureMap(BitFlags<app::Clusters::IcdManagement::Feature> featureMap) { mData->SetFeatureMap(featureMap); }
4537

4638
private:

src/app/icd/server/tests/TestICDManager.cpp

+10-10
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ TEST_F(TestICDManager, TestICDModeDurationsWith0ActiveModeDurationWithoutActiveS
273273

274274
// Set New durations for test case
275275
Milliseconds32 oldActiveModeDuration = icdConfigData.GetActiveModeDuration();
276-
privateIcdConfigData.SetModeDurations(MakeOptional<Milliseconds32>(0), NullOptional);
276+
mICDManager.SetModeDurations(MakeOptional<Milliseconds32>(0), NullOptional);
277277

278278
// Verify That ICDManager starts in Idle
279279
EXPECT_EQ(mICDManager.GetOperaionalState(), ICDManager::OperationalState::IdleMode);
@@ -331,7 +331,7 @@ TEST_F(TestICDManager, TestICDModeDurationsWith0ActiveModeDurationWithoutActiveS
331331
EXPECT_EQ(mICDManager.GetOperaionalState(), ICDManager::OperationalState::IdleMode);
332332

333333
// Reset Old durations
334-
privateIcdConfigData.SetModeDurations(MakeOptional(oldActiveModeDuration), NullOptional);
334+
mICDManager.SetModeDurations(MakeOptional(oldActiveModeDuration), NullOptional);
335335
}
336336

337337
/**
@@ -355,7 +355,7 @@ TEST_F(TestICDManager, TestICDModeDurationsWith0ActiveModeDurationWithActiveSub)
355355

356356
// Set New durations for test case
357357
Milliseconds32 oldActiveModeDuration = icdConfigData.GetActiveModeDuration();
358-
privateIcdConfigData.SetModeDurations(MakeOptional<Milliseconds32>(0), NullOptional);
358+
mICDManager.SetModeDurations(MakeOptional<Milliseconds32>(0), NullOptional);
359359

360360
// Verify That ICDManager starts in Idle
361361
EXPECT_EQ(mICDManager.GetOperaionalState(), ICDManager::OperationalState::IdleMode);
@@ -424,7 +424,7 @@ TEST_F(TestICDManager, TestICDModeDurationsWith0ActiveModeDurationWithActiveSub)
424424
EXPECT_EQ(mICDManager.GetOperaionalState(), ICDManager::OperationalState::IdleMode);
425425

426426
// Reset Old durations
427-
privateIcdConfigData.SetModeDurations(MakeOptional<Milliseconds32>(oldActiveModeDuration), NullOptional);
427+
mICDManager.SetModeDurations(MakeOptional<Milliseconds32>(oldActiveModeDuration), NullOptional);
428428
}
429429
#endif // CHIP_CONFIG_ENABLE_ICD_CIP
430430

@@ -1100,7 +1100,7 @@ TEST_F(TestICDManager, TestICDStateObserverOnTransitionToIdleModeGreaterActiveMo
11001100

11011101
// Set New durations for test case - ActiveModeDuration must be longuer than ICD_ACTIVE_TIME_JITTER_MS
11021102
Milliseconds32 oldActiveModeDuration = ICDConfigurationData::GetInstance().GetActiveModeDuration();
1103-
privateIcdConfigData.SetModeDurations(
1103+
mICDManager.SetModeDurations(
11041104
MakeOptional<Milliseconds32>(Milliseconds32(200) + Milliseconds32(ICD_ACTIVE_TIME_JITTER_MS)), NullOptional);
11051105

11061106
// Advance clock just before IdleMode timer expires
@@ -1138,7 +1138,7 @@ TEST_F(TestICDManager, TestICDStateObserverOnTransitionToIdleModeGreaterActiveMo
11381138
EXPECT_FALSE(mICDStateObserver.mOnTransitionToIdleCalled);
11391139

11401140
// Reset Old durations
1141-
privateIcdConfigData.SetModeDurations(MakeOptional(oldActiveModeDuration), NullOptional);
1141+
mICDManager.SetModeDurations(MakeOptional(oldActiveModeDuration), NullOptional);
11421142
}
11431143

11441144
/**
@@ -1151,7 +1151,7 @@ TEST_F(TestICDManager, TestICDStateObserverOnTransitionToIdleModeEqualActiveMode
11511151

11521152
// Set New durations for test case - ActiveModeDuration must be equal to ICD_ACTIVE_TIME_JITTER_MS
11531153
Milliseconds32 oldActiveModeDuration = ICDConfigurationData::GetInstance().GetActiveModeDuration();
1154-
privateIcdConfigData.SetModeDurations(MakeOptional<Milliseconds32>(Milliseconds32(ICD_ACTIVE_TIME_JITTER_MS)), NullOptional);
1154+
mICDManager.SetModeDurations(MakeOptional<Milliseconds32>(Milliseconds32(ICD_ACTIVE_TIME_JITTER_MS)), NullOptional);
11551155

11561156
// Advance clock just before IdleMode timer expires
11571157
AdvanceClockAndRunEventLoop(ICDConfigurationData::GetInstance().GetIdleModeDuration() - 1_s);
@@ -1171,7 +1171,7 @@ TEST_F(TestICDManager, TestICDStateObserverOnTransitionToIdleModeEqualActiveMode
11711171
EXPECT_TRUE(mICDStateObserver.mOnTransitionToIdleCalled);
11721172

11731173
// Reset Old durations
1174-
privateIcdConfigData.SetModeDurations(MakeOptional(oldActiveModeDuration), NullOptional);
1174+
mICDManager.SetModeDurations(MakeOptional(oldActiveModeDuration), NullOptional);
11751175
}
11761176

11771177
/**
@@ -1183,7 +1183,7 @@ TEST_F(TestICDManager, TestICDStateObserverOnTransitionToIdleMode0ActiveModeDura
11831183

11841184
// Set New durations for test case - ActiveModeDuration equal 0
11851185
Milliseconds32 oldActiveModeDuration = ICDConfigurationData::GetInstance().GetActiveModeDuration();
1186-
privateIcdConfigData.SetModeDurations(MakeOptional<Milliseconds32>(0), NullOptional);
1186+
mICDManager.SetModeDurations(MakeOptional<Milliseconds32>(0), NullOptional);
11871187

11881188
// Advance clock just before IdleMode timer expires
11891189
AdvanceClockAndRunEventLoop(ICDConfigurationData::GetInstance().GetIdleModeDuration() - 1_s);
@@ -1203,7 +1203,7 @@ TEST_F(TestICDManager, TestICDStateObserverOnTransitionToIdleMode0ActiveModeDura
12031203
EXPECT_TRUE(mICDStateObserver.mOnTransitionToIdleCalled);
12041204

12051205
// Reset Old durations
1206-
privateIcdConfigData.SetModeDurations(MakeOptional(oldActiveModeDuration), NullOptional);
1206+
mICDManager.SetModeDurations(MakeOptional(oldActiveModeDuration), NullOptional);
12071207
}
12081208

12091209
/**

0 commit comments

Comments
 (0)