fakeConnection.ListReturns(nil, disaster) }) It("returns it", func() { _, err := client.Containers(nil) Ω(err).Should(Equal(disaster)) }) }) }) Describe("Destroy", func() { It("sends a destroy request", func() { err := client.Destroy("some-handle") Ω(err).ShouldNot(HaveOccurred()) Ω(fakeConnection.DestroyArgsForCall(0)).Should(Equal("some-handle")) }) Context("when there is a connection error", func() { disaster := errors.New("oh no!") BeforeEach(func() { fakeConnection.DestroyReturns(disaster) }) It("returns it", func() { err := client.Destroy("some-handle") Ω(err).Should(Equal(disaster)) }) }) })
}) Describe("Destroy", func() { handle := "mozart" itRetries(func() error { return conn.Destroy(handle) }, func(err error) { innerConnection.DestroyReturns(err) }, func() int { return innerConnection.DestroyCallCount() }, func() { It("calls through to garden", func() { Ω(innerConnection.DestroyCallCount()).Should(Equal(1)) calledHandle := innerConnection.DestroyArgsForCall(0) Ω(calledHandle).Should(Equal(handle)) }) }) }) Describe("Property", func() { handle := "suitcase" property := "dfghjkl" var gotValue string itRetries(func() error { var err error gotValue, err = conn.Property(handle, property) return err