func (cmd *Push) uploadApp(appGuid string, appDir string) (apiErr error) { fileutils.TempDir("apps", func(uploadDir string, err error) { if err != nil { apiErr = err return } presentFiles, err := cmd.actor.GatherFiles(appDir, uploadDir) if err != nil { apiErr = err return } fileutils.TempFile("uploads", func(zipFile *os.File, err error) { err = cmd.zipAppFiles(zipFile, appDir, uploadDir) if err != nil { apiErr = err return } err = cmd.actor.UploadApp(appGuid, zipFile, presentFiles) if err != nil { apiErr = err return } }) return }) return }
func withFakeHome(callback func(dirPath string)) { fileutils.TempDir("test-config", func(dir string, err error) { if err != nil { Fail("Couldn't create tmp file") } callback(filepath.Join(dir, ".cf", "config.json")) }) }
copyDir := filepath.Join(fixturePath, "app-copy-test") filesToCopy := []models.AppFileFields{ {Path: filepath.Join("dir1")}, {Path: filepath.Join("dir1", "child-dir", "file2.txt")}, } files := []string{} cffileutils.TempDir("copyToDir", func(tmpDir string, err error) { copyErr := appFiles.CopyFiles(filesToCopy, copyDir, tmpDir) Expect(copyErr).ToNot(HaveOccurred()) filepath.Walk(tmpDir, func(path string, fileInfo os.FileInfo, err error) error { Expect(err).ToNot(HaveOccurred()) if !fileInfo.IsDir() { files = append(files, fileInfo.Name()) } return nil }) }) // file2.txt is in lowest subtree, thus is walked first. Expect(files).To(Equal([]string{ "file2.txt", })) }) }) })