var fakeContainer *gfakes.FakeContainer BeforeEach(func() { fakeContainer = new(gfakes.FakeContainer) fakeContainer.HandleReturns("some-handle") fakeGardenClient.ContainersReturns([]garden.Container{fakeContainer}, nil) }) It("succeeds", func() { Ω(lookupErr).ShouldNot(HaveOccurred()) }) It("looks for containers with matching properties via the Garden client", func() { Ω(fakeGardenClient.ContainersCallCount()).Should(Equal(1)) Ω(fakeGardenClient.ContainersArgsForCall(0)).Should(Equal(garden.Properties{ "concourse:name": "some-name", })) }) Describe("the found container", func() { It("can be destroyed", func() { err := foundContainer.Destroy() Ω(err).ShouldNot(HaveOccurred()) By("destroying via garden") Ω(fakeGardenClient.DestroyCallCount()).Should(Equal(1)) Ω(fakeGardenClient.DestroyArgsForCall(0)).Should(Equal("some-handle")) By("no longer heartbeating") fakeClock.Increment(30 * time.Second)