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")) })