}) Describe("creating a container", func() { Context("when a handle is specified", func() { It("passes the created network to the containerizer", func() { networker.NetworkStub = func(_ lager.Logger, handle, spec string) (string, error) { return "/path/to/netns/" + handle, nil } _, err := gdnr.Create(garden.ContainerSpec{ Handle: "bob", Network: "10.0.0.2/30", }) Expect(err).NotTo(HaveOccurred()) Expect(containerizer.CreateCallCount()).To(Equal(1)) _, spec := containerizer.CreateArgsForCall(0) Expect(spec.NetworkPath).To(Equal("/path/to/netns/bob")) }) Context("when networker fails", func() { BeforeEach(func() { networker.NetworkReturns("", errors.New("booom!")) }) It("returns an error", func() { _, err := gdnr.Create(garden.ContainerSpec{Handle: "bob"}) Expect(err).To(MatchError("booom!")) }) It("should not create the volume", func() {