}) itCompletesTheTaskWithFailure("failed to fetch result")(logger) itDeletesTheContainer(logger) }) } failedRunResult := executor.ContainerRunResult{ Failed: true, FailureReason: "because", } itCompletesTheFailedTaskAndDeletesTheContainer := func(logger *lagertest.TestLogger) { It("does not attempt to fetch the result", func() { Expect(containerDelegate.FetchContainerResultFileCallCount()).To(BeZero()) }) itCompletesTheTaskWithFailure("because")(logger) itDeletesTheContainer(logger) } itSetsTheTaskToRunning := func(logger *lagertest.TestLogger) { It("transitions the task to the running state", func() { task, err := bbsClient.TaskByGuid(taskGuid) Expect(err).NotTo(HaveOccurred()) Expect(task.State).To(Equal(models.Task_Running)) }) }