Example #1
0
					_, 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"))
Example #2
0
					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"))
				})