Beispiel #1
0
			It("cleans up the directory that it extracted to", func() {
				var tempDirWas string
				f := func(tempDir string) {
					tempDirWas = tempDir
				}
				err := actor.ProcessPath(zipFile, f)
				Expect(err).NotTo(HaveOccurred())
				_, err = os.Stat(tempDirWas)
				Expect(err).To(HaveOccurred())
			})

			It("returns an error if the unzipping fails", func() {
				e := errors.New("some-error")
				fakezipper.UnzipReturns(e)
				fakezipper.IsZipFileReturns(true)
				actor = actors.NewPushActor(appBitsRepo, fakezipper, appFiles)

				f := func(tempDir string) {}
				err := actor.ProcessPath(zipFile, f)
				Expect(err).To(HaveOccurred())
			})
		})

		It("calls the provided function with the provided directory", func() {
			appDir = filepath.Join(fixturesDir, "example-app")
			f := func(tempDir string) {
				wasCalled = true
				wasCalledWith = tempDir
			}
			err := actor.ProcessPath(appDir, f)
Beispiel #2
0
			}

			appDir = filepath.Join(fixturesDir, "example-app.zip")
			zipper.UnzipReturns(nil)
			appFiles.AppFilesInDirReturns(allFiles, nil)
			appBitsRepo.GetApplicationFilesReturns(presentFiles, nil)
		})

		AfterEach(func() {
		})

		Context("when the input is a zipfile", func() {
			var expectedFileMode string

			BeforeEach(func() {
				zipper.IsZipFileReturns(true)

				zipper.UnzipStub = func(source string, dest string) error {
					err := os.Mkdir(filepath.Join(dest, "example-app"), os.ModeDir|os.ModePerm)
					Expect(err).NotTo(HaveOccurred())

					f, err := os.Create(filepath.Join(dest, "example-app/ignore-me"))
					Expect(err).NotTo(HaveOccurred())
					defer f.Close()

					err = ioutil.WriteFile(filepath.Join(dest, "example-app/ignore-me"), []byte("This is a test file"), os.ModePerm)

					info, err := os.Lstat(filepath.Join(dest, "example-app/ignore-me"))
					Expect(err).NotTo(HaveOccurred())

					expectedFileMode = fmt.Sprintf("%#o", info.Mode())