JustBeforeEach(func() { fakeContainer.StreamOutReturns(streamOut, nil) }) It("streams the bits out and succeeds", func() { reader, err := container.StreamOut("/src/path") Ω(err).ShouldNot(HaveOccurred()) Ω(reader).ShouldNot(BeZero()) streamedContent, err := ioutil.ReadAll(reader) Ω(err).ShouldNot(HaveOccurred()) Ω(string(streamedContent)).Should(Equal("hello-world!")) Ω(fakeContainer.StreamOutArgsForCall(0)).Should(Equal("/src/path")) }) Context("when the connection dies as we're streaming", func() { var closer *closeChecker BeforeEach(func() { closer = &closeChecker{} streamOut = closer }) It("closes the backend's stream", func() { reader, err := container.StreamOut("/src/path") Ω(err).ShouldNot(HaveOccurred())