BeforeEach(func() { fs.MkdirAll(targetDir, os.ModePerm) }) It("decompresses the blob into the target dir", func() { Expect(fs.FileExists(targetDir)).To(BeTrue()) Expect(compressor.DecompressFileToDirTarballPaths).ToNot(ContainElement(fileName)) err := extractor.Extract(blobID, blobSHA1, targetDir) Expect(err).ToNot(HaveOccurred()) Expect(fs.FileExists(targetDir)).To(BeTrue()) Expect(compressor.DecompressFileToDirTarballPaths).To(ContainElement(fileName)) }) It("does not re-create the target package dir", func() { fs.MkdirAllError = fakeError err := extractor.Extract(blobID, blobSHA1, targetDir) Expect(err).ToNot(HaveOccurred()) }) Context("and decompressing the blob fails", func() { It("returns an error and doesn't remove the target dir", func() { compressor.DecompressFileToDirErr = fakeError Expect(fs.FileExists(targetDir)).To(BeTrue()) err := extractor.Extract(blobID, blobSHA1, targetDir) Expect(err).To(HaveOccurred()) Expect(err.Error()).To(Equal("Decompressing compiled package: BlobID: 'fake-blob-id', BlobSHA1: 'fake-sha1': Initial error")) Expect(fs.FileExists(targetDir)).To(BeTrue()) }) }) })
Expect(err).To(HaveOccurred()) Expect(httpClient.GetInputs).To(HaveLen(3)) }) It("removes the downloaded file", func() { _, err := provider.Get(source, fakeStage) Expect(err).To(HaveOccurred()) Expect(fs.FileExists(tempDownloadFilePath)).To(BeFalse()) }) }) Context("when saving to cache fails", func() { BeforeEach(func() { // Creating cache base directory fails fs.MkdirAllError = errors.New("fake-mkdir-error") }) It("returns an error", func() { _, err := provider.Get(source, fakeStage) Expect(err).To(HaveOccurred()) Expect(err.Error()).To(ContainSubstring("fake-mkdir-error")) }) It("removes the downloaded file", func() { _, err := provider.Get(source, fakeStage) Expect(err).To(HaveOccurred()) Expect(fs.FileExists(tempDownloadFilePath)).To(BeFalse()) }) }) })
- fake-package-1 `, ) }) It("returns errors for each invalid job", func() { _, err := reader.Read() Expect(err).To(HaveOccurred()) Expect(err.Error()).To(ContainSubstring("Reading job 'fake-job' from archive")) Expect(err.Error()).To(ContainSubstring("Reading job 'fake-job-2' from archive")) }) }) Context("when an extracted job path cannot be created", func() { BeforeEach(func() { fakeFs.MkdirAllError = errors.New("") }) It("returns err", func() { _, err := reader.Read() Expect(err).To(HaveOccurred()) Expect(err.Error()).To(ContainSubstring("Creating extracted job path")) }) }) }) Context("when the CPI release manifest is invalid", func() { BeforeEach(func() { fakeFs.WriteFileString("/extracted/release/release.MF", "{") })