Exemple #1
0
				},
			}
		})

		It("sends an attach request and returns a stream", func() {
			fakeConnection.WhenAttaching = func(handle string, processID uint32) (<-chan warden.ProcessStream, error) {
				stream := make(chan warden.ProcessStream, 3)

				stream <- warden.ProcessStream{
					Source: warden.ProcessStreamSourceStdout,
					Data:   []byte("stdout data"),
				}

				stream <- warden.ProcessStream{
					Source: warden.ProcessStreamSourceStderr,
					Data:   []byte("stderr data"),
				}

				exitStatus := uint32(123)
				stream <- warden.ProcessStream{
					ExitStatus: &exitStatus,
				}

				close(stream)

				return stream, nil
			}

			stream, err := container.Attach(42)
			Ω(err).ShouldNot(HaveOccurred())

			Ω(fakeConnection.AttachedProcesses("some-handle")).Should(ContainElement(uint32(42)))