[]string{"fake-fingerprint", "fake-fingerprint", "fake-fingerprint"}, )) }) }) }) Describe("CleanUp", func() { It("delegates to inner blobstore to clean up", func() { err := retryableBlobstore.CleanUp("/some/file") Expect(err).ToNot(HaveOccurred()) Expect(innerBlobstore.CleanUpFileName).To(Equal("/some/file")) }) It("returns error if inner blobstore cleaning up fails", func() { innerBlobstore.CleanUpErr = errors.New("fake-clean-up-error") err := retryableBlobstore.CleanUp("/some/file") Expect(err).To(HaveOccurred()) Expect(err.Error()).To(ContainSubstring("fake-clean-up-error")) }) }) Describe("Delete", func() { It("delegates to inner blobstore to clean up", func() { err := retryableBlobstore.Delete("some-blob") Expect(err).ToNot(HaveOccurred()) Expect(innerBlobstore.DeleteBlobID).To(Equal("some-blob")) })
err := extractor.Extract(blobID, blobSHA1, targetDir) Expect(err).To(HaveOccurred()) Expect(err.Error()).To(ContainSubstring("Decompressing compiled package: BlobID: 'fake-blob-id', BlobSHA1: 'fake-sha1'")) }) It("cleans up the target dir if it was created by this extractor", func() { Expect(fs.FileExists(targetDir)).To(BeFalse()) err := extractor.Extract(blobID, blobSHA1, targetDir) Expect(err).To(HaveOccurred()) Expect(fs.FileExists(targetDir)).To(BeFalse()) }) }) Context("when cleaning up the downloaded blob errors", func() { BeforeEach(func() { blobstore.CleanUpErr = fakeError }) It("does not return the error", func() { err := extractor.Extract(blobID, blobSHA1, targetDir) Expect(err).ToNot(HaveOccurred()) }) }) }) }) Describe("ChmodExecutables", func() { var ( binGlob string filePath string )
_, err := cascadingBlobstore.Get(blobID, sha1) Expect(blobManager.GetPathCallCount()).To(Equal(1)) Expect(blobManager.GetPathArgsForCall(0)).To(Equal(blobID)) Expect(err).ToNot(BeNil()) Expect(err.Error()).To(Equal("inner blobstore GET is broken")) }) }) }) }) Describe("CleanUp", func() { It("delegates the action to the inner blobstore", func() { innerBlobstore.CleanUpErr = nil err := cascadingBlobstore.CleanUp("fileToDelete") Expect(err).To(BeNil()) Expect(innerBlobstore.CleanUpFileName).To(Equal("fileToDelete")) }) It("returns an error if the inner blobstore fails to clean up", func() { innerBlobstore.CleanUpErr = errors.New("error cleaning up") err := cascadingBlobstore.CleanUp("randomFile") Expect(err).ToNot(BeNil()) Expect(err.Error()).To(Equal("error cleaning up")) }) })