var _ = Describe("Container", func() { var container garden.Container var fakeConnection *connectionfakes.FakeConnection BeforeEach(func() { fakeConnection = new(connectionfakes.FakeConnection) }) JustBeforeEach(func() { var err error client := New(fakeConnection) fakeConnection.CreateReturns("some-handle", nil) container, err = client.Create(garden.ContainerSpec{}) Ω(err).ShouldNot(HaveOccurred()) }) Describe("Handle", func() { It("returns the container's handle", func() { Ω(container.Handle()).Should(Equal("some-handle")) }) }) Describe("Stop", func() { It("sends a stop request", func() { err := container.Stop(true) Ω(err).ShouldNot(HaveOccurred())
}) It("returns the error", func() { _, err := client.BulkMetrics(handles) Ω(err).Should(MatchError("Oh noes!")) }) }) }) Describe("Create", func() { It("sends a create request and returns a container", func() { spec := garden.ContainerSpec{ RootFSPath: "/some/roofs", } fakeConnection.CreateReturns("some-handle", nil) container, err := client.Create(spec) Ω(err).ShouldNot(HaveOccurred()) Ω(container).ShouldNot(BeNil()) Ω(fakeConnection.CreateArgsForCall(0)).Should(Equal(spec)) Ω(container.Handle()).Should(Equal("some-handle")) }) Context("when there is a connection error", func() { disaster := errors.New("oh no!") BeforeEach(func() { fakeConnection.CreateReturns("", disaster)