sourcePath = createSourcePath() }) Describe("Install", func() { It("installs the bundle from source at the given path", func() { actualFs, path, err := fileBundle.Install(sourcePath) Expect(err).NotTo(HaveOccurred()) Expect(actualFs).To(Equal(fs)) Expect(path).To(Equal(installPath)) Expect(fs.RenameOldPaths[0]).To(Equal(sourcePath)) Expect(fs.RenameNewPaths[0]).To(Equal(installPath)) }) It("returns an error if creation of parent directory fails", func() { fs.MkdirAllError = errors.New("fake-mkdir-error") _, _, err := fileBundle.Install(sourcePath) Expect(err).To(HaveOccurred()) Expect(err.Error()).To(ContainSubstring("fake-mkdir-error")) }) It("sets correct permissions on install path", func() { fs.Chmod(sourcePath, os.FileMode(0700)) _, _, err := fileBundle.Install(sourcePath) Expect(err).NotTo(HaveOccurred()) fileStats := fs.GetFileTestStat(installPath) Expect(fileStats).ToNot(BeNil()) Expect(fileStats.FileType).To(Equal(fakesys.FakeFileType(fakesys.FakeFileTypeDir)))