func New( cellID string, bbs bbs.Client, executorClient executor.Client, evacuationReporter evacuation_context.EvacuationReporter, evacuationTTLInSeconds uint64, ) Generator { containerDelegate := internal.NewContainerDelegate(executorClient) lrpProcessor := internal.NewLRPProcessor(bbs, containerDelegate, cellID, evacuationReporter, evacuationTTLInSeconds) taskProcessor := internal.NewTaskProcessor(bbs, containerDelegate, cellID) return &generator{ cellID: cellID, bbs: bbs, executorClient: executorClient, lrpProcessor: lrpProcessor, taskProcessor: taskProcessor, containerDelegate: containerDelegate, } }
var processor internal.TaskProcessor var _ = Describe("Task <-> Container table", func() { var containerDelegate *fake_internal.FakeContainerDelegate const ( taskGuid = "my-guid" localCellID = "a" otherCellID = "w" sessionPrefix = "task-table-test" ) BeforeEach(func() { etcdRunner.ResetAllBut(etcddb.VersionKey) containerDelegate = new(fake_internal.FakeContainerDelegate) processor = internal.NewTaskProcessor(bbsClient, containerDelegate, localCellID) containerDelegate.DeleteContainerReturns(true) containerDelegate.StopContainerReturns(true) containerDelegate.RunContainerReturns(true) }) itDeletesTheContainer := func(logger *lagertest.TestLogger) { It("deletes the container", func() { Expect(containerDelegate.DeleteContainerCallCount()).To(Equal(1)) _, containerGuid := containerDelegate.DeleteContainerArgsForCall(0) Expect(containerGuid).To(Equal(taskGuid)) }) } itCompletesTheTaskWithFailure := func(reason string) func(*lagertest.TestLogger) {