fakeWorkerProvider.FindContainerForIdentifierReturns(db.Container{ Handle: "provider-handle", }, true, nil) fakeGardenClient.LookupReturns(fakeContainer, nil) }) It("succeeds", func() { Expect(lookupErr).NotTo(HaveOccurred()) }) It("looks for containers with matching properties via the Garden client", func() { Expect(fakeWorkerProvider.FindContainerForIdentifierCallCount()).To(Equal(1)) Expect(fakeWorkerProvider.FindContainerForIdentifierArgsForCall(0)).To(Equal(id)) Expect(fakeGardenClient.LookupCallCount()).To(Equal(1)) lookupHandle := fakeGardenClient.LookupArgsForCall(0) Expect(lookupHandle).To(Equal("provider-handle")) }) Describe("the found container", func() { It("can be destroyed", func() { err := foundContainer.Destroy() Expect(err).NotTo(HaveOccurred()) By("destroying via garden") Expect(fakeGardenClient.DestroyCallCount()).To(Equal(1)) Expect(fakeGardenClient.DestroyArgsForCall(0)).To(Equal("provider-handle")) By("no longer heartbeating")