Ejemplo n.º 1
0
func (appfiles ApplicationFiles) copyFile(srcPath string, dstPath string, fileMode os.FileMode) error {
	dst, err := fileutils.Create(dstPath)
	if err != nil {
		return err
	}
	defer dst.Close()

	if runtime.GOOS != "windows" {
		err = dst.Chmod(fileMode)
		if err != nil {
			return err
		}
	}

	src, err := os.Open(srcPath)
	if err != nil {
		return err
	}
	defer src.Close()

	_, err = io.Copy(dst, src)
	if err != nil {
		return err
	}

	return nil
}
Ejemplo n.º 2
0
			fileBytes, err := ioutil.ReadFile(fd.Name())
			Expect(err).NotTo(HaveOccurred())
			Expect(string(fileBytes)).To(Equal("Never Gonna Give You Up"))
		})
	})

	Describe("Create", func() {
		It("truncates an existing file", func() {
			tmpFile, err := ioutil.TempFile("", "create_test")
			Expect(err).NotTo(HaveOccurred())
			_, err = tmpFile.WriteString("Never Gonna Give You Up")
			Expect(err).NotTo(HaveOccurred())
			filePath := tmpFile.Name()
			tmpFile.Close()

			fd, err := fileutils.Create(filePath)
			Expect(err).NotTo(HaveOccurred())

			fileBytes, err := ioutil.ReadAll(fd)
			Expect(err).NotTo(HaveOccurred())
			Expect(len(fileBytes)).To(Equal(0))
			fd.Close()
		})

		It("creates a non-existing file and all intermediary directories", func() {
			fd, err := ioutil.TempFile("", "create_test")
			Expect(err).NotTo(HaveOccurred())

			_, err = fd.WriteString("Never Gonna Let You Down")
			Expect(err).NotTo(HaveOccurred())
			fd.Close()