示例#1
0
		})
	})

	Describe("ExportDroplet", func() {
		BeforeEach(func() {
			fakeDropletReader := ioutil.NopCloser(strings.NewReader("some droplet reader"))
			fakeMetadataReader := ioutil.NopCloser(strings.NewReader("some metadata reader"))

			fakeBlobStore.DownloadStub = func(path string) (io.ReadCloser, error) {
				switch path {
				case "drippy/droplet.tgz":
					return fakeDropletReader, nil
				case "drippy/result.json":
					return fakeMetadataReader, nil
				case "no-such-droplet/droplet.tgz":
					return nil, errors.New("some missing droplet error")
				case "no-such-metadata/droplet.tgz":
					return fakeDropletReader, nil
				case "no-such-metadata/result.json":
					return nil, errors.New("some missing metadata error")
				default:
					return nil, errors.New("fake GetReader called with invalid arguments")
				}
			}
		})

		It("returns IO readers for the droplet and its metadata", func() {
			dropletReader, metadataReader, err := dropletRunner.ExportDroplet("drippy")
			defer dropletReader.Close()
			defer metadataReader.Close()
			Expect(err).NotTo(HaveOccurred())
			Expect(ioutil.ReadAll(dropletReader)).To(BeEquivalentTo("some droplet reader"))