Exemple #1
0
			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)