Example #1
0
					fakeContainer.PropertyStub = func(name string) (string, error) {
						switch name {
						case "concourse:task-process":
							return "42", nil
						default:
							return "", errors.New("unstubbed property: " + name)
						}
					}
				})

				Context("when attaching to the process succeeds", func() {
					var fakeProcess *gfakes.FakeProcess

					BeforeEach(func() {
						fakeProcess = new(gfakes.FakeProcess)
						fakeContainer.AttachReturns(fakeProcess, nil)
					})

					It("attaches to the correct process", func() {
						Ω(fakeContainer.AttachCallCount()).Should(Equal(1))

						pid, _ := fakeContainer.AttachArgsForCall(0)
						Ω(pid).Should(Equal(uint32(42)))
					})

					It("directs the process's stdout/stderr to the io config", func() {
						Ω(fakeContainer.AttachCallCount()).Should(Equal(1))

						_, pio := fakeContainer.AttachArgsForCall(0)
						Ω(pio.Stdout).Should(Equal(stdoutBuf))
						Ω(pio.Stderr).Should(Equal(stderrBuf))