It("returns the error if nstar fails", func() { fakeNstarRunner.StreamInReturns(errors.New("failed")) Expect(containerizer.StreamIn(logger, "some-handle", garden.StreamInSpec{})).To(MatchError("stream-in: nstar: failed")) }) }) Describe("StreamOut", func() { It("should execute the NSTar command with the container PID", func() { fakeStater.StateReturns(rundmc.State{ Pid: 12, }, nil) fakeNstarRunner.StreamOutReturns(os.Stdin, nil) tarStream, err := containerizer.StreamOut(logger, "some-handle", garden.StreamOutSpec{ Path: "some-path", User: "******", }) Expect(err).NotTo(HaveOccurred()) Expect(tarStream).To(Equal(os.Stdin)) _, pid, path, user := fakeNstarRunner.StreamOutArgsForCall(0) Expect(pid).To(Equal(12)) Expect(path).To(Equal("some-path")) Expect(user).To(Equal("some-user")) }) It("returns an error if the PID cannot be found", func() { fakeStater.StateReturns(rundmc.State{}, errors.New("pid not found")) tarStream, err := containerizer.StreamOut(logger, "some-handle", garden.StreamOutSpec{})