etcdRunner.Stop() }) startConverger := func() { runner = convergerrunner.New(convergerConfig) convergerProcess = ginkgomon.Invoke(runner) time.Sleep(convergeRepeatInterval) } createRunningTaskWithDeadCell := func() { task := model_helpers.NewValidTask("task-guid") err := bbsClient.DesireTask(task.TaskGuid, task.Domain, task.TaskDefinition) Expect(err).NotTo(HaveOccurred()) _, err = bbsClient.StartTask(task.TaskGuid, "dead-cell") Expect(err).NotTo(HaveOccurred()) } itIsInactive := func() { Describe("when a task is desired but its cell is dead", func() { JustBeforeEach(createRunningTaskWithDeadCell) It("does not converge the task", func() { Consistently(func() []*models.Task { return getTasksByState(bbsClient, models.Task_Completed) }, 10*convergeRepeatInterval).Should(BeEmpty()) }) }) }