) }) AfterEach(func() { ginkgomon.Interrupt(process) Eventually(process.Wait()).Should(Receive()) }) Describe("converging over time", func() { It("converges tasks, LRPs, and auctions when the lock is periodically reestablished", func() { fakeClock.Increment(convergeRepeatInterval + aBit) Eventually(fakeBBSClient.ConvergeTasksCallCount, aBit).Should(Equal(1)) Eventually(fakeBBSClient.ConvergeLRPsCallCount, aBit).Should(Equal(1)) actualKickTaskDuration, actualExpirePendingTaskDuration, actualExpireCompletedTaskDuration := fakeBBSClient.ConvergeTasksArgsForCall(0) Expect(actualKickTaskDuration).To(Equal(kickTaskDuration)) Expect(actualExpirePendingTaskDuration).To(Equal(expirePendingTaskDuration)) Expect(actualExpireCompletedTaskDuration).To(Equal(expireCompletedTaskDuration)) fakeClock.Increment(convergeRepeatInterval + aBit) Eventually(fakeBBSClient.ConvergeTasksCallCount, aBit).Should(Equal(2)) Eventually(fakeBBSClient.ConvergeLRPsCallCount, aBit).Should(Equal(2)) actualKickTaskDuration, actualExpirePendingTaskDuration, actualExpireCompletedTaskDuration = fakeBBSClient.ConvergeTasksArgsForCall(1) Expect(actualKickTaskDuration).To(Equal(kickTaskDuration)) Expect(actualExpirePendingTaskDuration).To(Equal(expirePendingTaskDuration)) Expect(actualExpireCompletedTaskDuration).To(Equal(expireCompletedTaskDuration)) }) })