It("returns the error", func() { err := container.Stop(true) Ω(err).Should(Equal(disaster)) }) }) }) Describe("Info", func() { It("sends an info request", func() { infoToReturn := warden.ContainerInfo{ State: "chillin", } fakeConnection.WhenGettingInfo = func(handle string) (warden.ContainerInfo, error) { Ω(handle).Should(Equal("some-handle")) return infoToReturn, nil } info, err := container.Info() Ω(err).ShouldNot(HaveOccurred()) Ω(info).Should(Equal(infoToReturn)) }) Context("when getting info fails", func() { disaster := errors.New("oh no!") BeforeEach(func() { fakeConnection.WhenGettingInfo = func(handle string) (warden.ContainerInfo, error) { return warden.ContainerInfo{}, disaster }