_, err := gdnr.Create(garden.ContainerSpec{ Handle: "poor-banana", }) Expect(err).To(HaveOccurred()) Expect(networker.DestroyCallCount()).To(Equal(1)) _, handle := networker.DestroyArgsForCall(0) Expect(handle).To(Equal("poor-banana")) }) }) It("returns the container that Lookup would return", func() { c, err := gdnr.Create(garden.ContainerSpec{Handle: "handle"}) Expect(err).NotTo(HaveOccurred()) d, err := gdnr.Lookup("handle") Expect(err).NotTo(HaveOccurred()) Expect(c).To(Equal(d)) }) }) Context("when no handle is specified", func() { It("assigns a handle to the container", func() { uidGenerator.GenerateReturns("generated-handle") _, err := gdnr.Create(garden.ContainerSpec{}) Expect(err).NotTo(HaveOccurred()) Expect(containerizer.CreateCallCount()).To(Equal(1)) _, spec := containerizer.CreateArgsForCall(0) Expect(spec.Handle).To(Equal("generated-handle"))
stderr *gbytes.Buffer ) BeforeEach(func() { stdout = gbytes.NewBuffer() stderr = gbytes.NewBuffer() containerizer.RunStub = func(container string, spec garden.ProcessSpec, io garden.ProcessIO) (garden.Process, error) { io.Stdout.Write([]byte("stdout")) io.Stderr.Write([]byte("stderr")) return nil, nil } }) JustBeforeEach(func() { lookedupContainer, err := gdnr.Lookup(createdContainer.Handle()) Expect(err).NotTo(HaveOccurred()) lookedupContainer.Run(garden.ProcessSpec{ Path: "foo", Args: []string{"bar", "baz"}, Env: []string{"baked", "beans"}, }, garden.ProcessIO{ Stdout: stdout, Stderr: stderr, }) }) It("streams stdout", func() { Expect(stdout).To(gbytes.Say("stdout")) })