本文整理匯總了Golang中code/cloudfoundry/org/garden.Container.StreamOut方法的典型用法代碼示例。如果您正苦於以下問題:Golang Container.StreamOut方法的具體用法?Golang Container.StreamOut怎麽用?Golang Container.StreamOut使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類code/cloudfoundry/org/garden.Container
的用法示例。
在下文中一共展示了Container.StreamOut方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1:
It("returns the error", func() {
err := container.StreamIn(garden.StreamInSpec{
Path: "to",
})
Ω(err).Should(Equal(disaster))
})
})
})
Describe("StreamOut", func() {
It("sends a stream out request", func() {
fakeConnection.StreamOutReturns(ioutil.NopCloser(strings.NewReader("kewl")), nil)
reader, err := container.StreamOut(garden.StreamOutSpec{
User: "deandra",
Path: "from",
})
bytes, err := ioutil.ReadAll(reader)
Ω(err).ShouldNot(HaveOccurred())
Ω(string(bytes)).Should(Equal("kewl"))
handle, spec := fakeConnection.StreamOutArgsForCall(0)
Ω(handle).Should(Equal("some-handle"))
Ω(spec.Path).Should(Equal("from"))
Ω(spec.User).Should(Equal("deandra"))
})
Context("when streaming out fails", func() {
disaster := errors.New("oh no!")
BeforeEach(func() {
示例2:
process, err := container.Run(garden.ProcessSpec{
User: "root",
Path: "sh",
Args: []string{"-c", "mkdir -p /root/documents/some/reports && echo hello > /root/documents/some/reports/test"},
}, ginkgoIO)
Expect(err).NotTo(HaveOccurred())
statusCode, err := process.Wait()
Expect(err).NotTo(HaveOccurred())
Expect(statusCode).To(Equal(0))
})
It("should stream out the files", func() {
tarStream, err := container.StreamOut(garden.StreamOutSpec{
Path: "/root/documents/some/reports",
User: "root",
})
Expect(err).NotTo(HaveOccurred())
tarReader := tar.NewReader(tarStream)
header, err := tarReader.Next()
Expect(err).ToNot(HaveOccurred())
Expect(header.Name).To(Equal("reports/"))
header, err = tarReader.Next()
Expect(err).ToNot(HaveOccurred())
Expect(header.Name).To(Equal("reports/test"))
buffer := bytes.NewBufferString("")