func deleteFiles(fs boshsys.FileSystem, path string, filenamePrefix string) (int, error) { var deletedFilesCount int files, err := fs.Glob(fmt.Sprintf("%s%s*", path, filenamePrefix)) if err != nil { return deletedFilesCount, bosherr.WrapError(err, "Glob command failed") } for _, file := range files { err = fs.RemoveAll(file) if err != nil { return deletedFilesCount, bosherr.WrapErrorf(err, "deleting %s failed", file) } deletedFilesCount++ } return deletedFilesCount, err }
BeforeEach(func() { logger := boshlog.NewLogger(boshlog.LevelNone) cmdRunner = boshsys.NewExecCmdRunner(logger) fs = boshsys.NewOsFileSystem(logger) tmpDir, err := fs.TempDir("tarballCompressor-test") Expect(err).NotTo(HaveOccurred()) dstDir = filepath.Join(tmpDir, "TestCompressor") compressor = NewTarballCompressor(cmdRunner, fs) }) BeforeEach(func() { fs.MkdirAll(dstDir, os.ModePerm) }) AfterEach(func() { fs.RemoveAll(dstDir) }) Describe("CompressFilesInDir", func() { It("compresses the files in the given directory", func() { srcDir := fixtureSrcDir() tgzName, err := compressor.CompressFilesInDir(srcDir) Expect(err).ToNot(HaveOccurred()) defer os.Remove(tgzName) tarballContents, _, _, err := cmdRunner.RunCommand("tar", "-tf", tgzName) Expect(err).ToNot(HaveOccurred()) contentElements := strings.Split(strings.TrimSpace(tarballContents), "\n") Expect(contentElements).To(ConsistOf(
toWrite = bytes.NewReader([]byte("new data")) }) readFile := func(fileIO boshsys.File) []byte { fileStat, _ := fileIO.Stat() fileBytes := make([]byte, fileStat.Size()) fileIO.Read(fileBytes) return fileBytes } It("fetches", func() { blobManager := NewBlobManager(fs, basePath) fs.WriteFileString(blobPath, "some data") readOnlyFile, err, _ := blobManager.Fetch(blobId) defer fs.RemoveAll(readOnlyFile.Name()) Expect(err).ToNot(HaveOccurred()) fileBytes := readFile(readOnlyFile) Expect(string(fileBytes)).To(Equal("some data")) }) It("writes", func() { blobManager := NewBlobManager(fs, basePath) fs.WriteFileString(blobPath, "some data") defer fs.RemoveAll(blobPath) err := blobManager.Write(blobId, toWrite) Expect(err).ToNot(HaveOccurred())