Esempio n. 1
0
			tmpDir, err = ioutil.TempDir(os.TempDir(), "droplet")
			Expect(err).NotTo(HaveOccurred())

			dropletPathArg = filepath.Join(tmpDir, "totally-drippy.tgz")
			metadataPathArg = filepath.Join(tmpDir, "result.json")
			Expect(ioutil.WriteFile(dropletPathArg, []byte("droplet contents"), 0644)).To(Succeed())
			Expect(ioutil.WriteFile(metadataPathArg, []byte("result metadata"), 0644)).To(Succeed())
		})

		AfterEach(func() {
			Expect(os.RemoveAll(tmpDir)).To(Succeed())
		})

		Context("when the droplet files exist", func() {
			It("uploads the droplet files to the blob store", func() {
				err := dropletRunner.ImportDroplet("drippy", dropletPathArg, metadataPathArg)
				Expect(err).NotTo(HaveOccurred())

				Expect(fakeBlobStore.UploadCallCount()).To(Equal(2))

				path, _ := fakeBlobStore.UploadArgsForCall(0)
				Expect(path).To(Equal("drippy/droplet.tgz"))

				path, _ = fakeBlobStore.UploadArgsForCall(1)
				Expect(path).To(Equal("drippy/result.json"))
			})

			Context("when the blob bucket returns error(s)", func() {
				It("returns an error uploading the droplet file", func() {
					fakeBlobStore.UploadReturns(errors.New("some error"))
		BeforeEach(func() {
			var err error
			tmpDir, err = ioutil.TempDir(os.TempDir(), "droplet")
			Expect(err).NotTo(HaveOccurred())

			dropletPathArg = filepath.Join(tmpDir, "totally-drippy.tgz")
			Expect(ioutil.WriteFile(dropletPathArg, []byte("droplet contents"), 0644)).To(Succeed())
		})

		AfterEach(func() {
			Expect(os.RemoveAll(tmpDir)).To(Succeed())
		})

		Context("when the droplet files exist", func() {
			It("uploads the droplet files to the blob store", func() {
				err := dropletRunner.ImportDroplet("drippy", dropletPathArg)
				Expect(err).NotTo(HaveOccurred())

				Expect(fakeBlobStore.UploadCallCount()).To(Equal(1))

				path, _ := fakeBlobStore.UploadArgsForCall(0)
				Expect(path).To(Equal("drippy-droplet.tgz"))
			})

			Context("when the blob bucket returns error(s)", func() {
				It("returns an error uploading the droplet file", func() {
					fakeBlobStore.UploadReturns(errors.New("some error"))

					err := dropletRunner.ImportDroplet("drippy", dropletPathArg)
					Expect(err).To(MatchError("some error"))
				})