@@ -191,17 +191,21 @@ public async Task ReplicaIdOffsetIsUpdatedWhenNodeIsAddedAndDeleted(Task<IFuncti
191191 var watchdog2 = new ReplicaWatchdog ( cluster2 , functionStore , heartbeatFrequency : TimeSpan . FromHours ( 1 ) , utcNow : ( ) => DateTime . UtcNow , unhandledExceptionHandler : default ( UnhandledExceptionHandler ) ! ) ;
192192 var watchdog3 = new ReplicaWatchdog ( cluster3 , functionStore , heartbeatFrequency : TimeSpan . FromHours ( 1 ) , utcNow : ( ) => DateTime . UtcNow , unhandledExceptionHandler : default ( UnhandledExceptionHandler ) ! ) ;
193193
194+ cluster3 . IsLeader . ShouldBeFalse ( ) ;
194195 await watchdog3 . Initialize ( ) ;
195196 cluster3 . Offset . ShouldBe ( ( ulong ) 0 ) ;
196197 cluster3 . ReplicaCount . ShouldBe ( ( ulong ) 1 ) ;
198+ cluster3 . IsLeader . ShouldBeTrue ( ) ;
197199
198200 await watchdog2 . Initialize ( ) ;
199201 await watchdog3 . PerformIteration ( utcNowTicks : 0 ) ;
200202 cluster3 . Offset . ShouldBe ( ( ulong ) 1 ) ;
201203 cluster3 . ReplicaCount . ShouldBe ( ( ulong ) 2 ) ;
202204 cluster2 . Offset . ShouldBe ( ( ulong ) 0 ) ;
203205 cluster2 . ReplicaCount . ShouldBe ( ( ulong ) 2 ) ;
204-
206+ cluster3 . IsLeader . ShouldBeFalse ( ) ;
207+ cluster2 . IsLeader . ShouldBeTrue ( ) ;
208+
205209 await watchdog1 . Initialize ( ) ;
206210 await watchdog2 . PerformIteration ( utcNowTicks : 0 ) ;
207211 await watchdog3 . PerformIteration ( utcNowTicks : 1 ) ;
@@ -211,6 +215,9 @@ public async Task ReplicaIdOffsetIsUpdatedWhenNodeIsAddedAndDeleted(Task<IFuncti
211215 cluster2 . ReplicaCount . ShouldBe ( ( ulong ) 3 ) ;
212216 cluster1 . Offset . ShouldBe ( ( ulong ) 0 ) ;
213217 cluster1 . ReplicaCount . ShouldBe ( ( ulong ) 3 ) ;
218+ cluster3 . IsLeader . ShouldBeFalse ( ) ;
219+ cluster2 . IsLeader . ShouldBeFalse ( ) ;
220+ cluster1 . IsLeader . ShouldBeTrue ( ) ;
214221
215222 await store . Delete ( cluster1 . ReplicaId ) ;
216223 await watchdog3 . PerformIteration ( utcNowTicks : 1 ) ;
@@ -219,11 +226,14 @@ public async Task ReplicaIdOffsetIsUpdatedWhenNodeIsAddedAndDeleted(Task<IFuncti
219226 cluster3 . ReplicaCount . ShouldBe ( ( ulong ) 2 ) ;
220227 cluster2 . Offset . ShouldBe ( ( ulong ) 0 ) ;
221228 cluster2 . ReplicaCount . ShouldBe ( ( ulong ) 2 ) ;
222-
229+ cluster3 . IsLeader . ShouldBeFalse ( ) ;
230+ cluster2 . IsLeader . ShouldBeTrue ( ) ;
231+
223232 await store . Delete ( cluster2 . ReplicaId ) ;
224233 await watchdog3 . PerformIteration ( utcNowTicks : 2 ) ;
225234 cluster3 . Offset . ShouldBe ( ( ulong ) 0 ) ;
226235 cluster3 . ReplicaCount . ShouldBe ( ( ulong ) 1 ) ;
236+ cluster3 . IsLeader . ShouldBeTrue ( ) ;
227237 }
228238
229239 public abstract Task ActiveReplicasDoNotDeleteEachOther ( ) ;
0 commit comments