@@ -205,6 +205,19 @@ void MuxManagerTest::processWarmRestartFlag(const std::string &flag)
205
205
mMuxManagerPtr ->processWarmRestartFlag (flag);
206
206
}
207
207
208
+ void MuxManagerTest::checkWarmRestart (const std::string &portName)
209
+ {
210
+ std::shared_ptr<mux::MuxPort> muxPortPtr = mMuxManagerPtr ->mPortMap [portName];
211
+
212
+ muxPortPtr->checkWarmRestart ();
213
+ }
214
+
215
+ void MuxManagerTest::updatePortReconciliationCount (int increment)
216
+ {
217
+ mMuxManagerPtr ->updateWarmRestartReconciliationCount (increment);
218
+ runIoService (1 );
219
+ }
220
+
208
221
void MuxManagerTest::initLinkProberActiveActive (std::shared_ptr<link_manager::ActiveActiveStateMachine> linkManagerStateMachineActiveActive)
209
222
{
210
223
mFakeLinkProber = std::make_shared<FakeLinkProber> (linkManagerStateMachineActiveActive->getLinkProberStateMachinePtr ().get ());
@@ -646,9 +659,27 @@ TEST_F(MuxManagerTest, WarmRestart)
646
659
std::string flag = " true" ;
647
660
processWarmRestartFlag (flag);
648
661
EXPECT_TRUE (mMuxManagerPtr ->getWarmRestartFlag ());
662
+
663
+ updatePortReconciliationCount (1 );
664
+ checkWarmRestart (port);
649
665
650
- EXPECT_EQ (mDbInterfacePtr ->mSetMuxReconciledInvokeCount , 0 );
651
- runIoService ();
666
+ runIoService (4 );
667
+ EXPECT_EQ (mDbInterfacePtr ->mSetMuxModeInvokeCount , 1 );
668
+ EXPECT_EQ (mDbInterfacePtr ->mSetMuxReconciledInvokeCount , 1 );
669
+ }
670
+
671
+ TEST_F (MuxManagerTest, WarmRestartReconciliationTimeout)
672
+ {
673
+ std::string port = " Ethernet0" ;
674
+
675
+ createPort (port);
676
+ EXPECT_FALSE (mMuxManagerPtr ->getWarmRestartFlag ());
677
+
678
+ std::string flag = " true" ;
679
+ processWarmRestartFlag (flag);
680
+ EXPECT_TRUE (mMuxManagerPtr ->getWarmRestartFlag ());
681
+
682
+ runIoService (2 );
652
683
EXPECT_EQ (mDbInterfacePtr ->mSetMuxReconciledInvokeCount , 1 );
653
684
}
654
685
0 commit comments