}, } }) 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)))