DefaultFs implements Filesystem using same-named functions from "os" and "io"
type DefaultFs struct{}
func (f DefaultFs) Chmod(name string, mode os.FileMode) error
Chmod via os.Chmod
func (DefaultFs) Chtimes(name string, atime time.Time, mtime time.Time) error
Chtimes via os.Chtimes
func (DefaultFs) Create(name string) (File, error)
Create via os.Create
func (DefaultFs) Getwd() (dir string, err error)
Getwd via os.Getwd
func (DefaultFs) MkdirAll(path string, perm os.FileMode) error
MkdirAll via os.MkdirAll
func (DefaultFs) Open(name string) (File, error)
Open via os.Open
func (DefaultFs) OpenFile(name string, flag int, perm os.FileMode) (File, error)
OpenFile via os.OpenFile
func (DefaultFs) ReadDir(dirname string) ([]os.FileInfo, error)
ReadDir via ioutil.ReadDir
func (DefaultFs) ReadFile(filename string) ([]byte, error)
ReadFile via ioutil.ReadFile
func (DefaultFs) Remove(name string) error
Remove via os.RemoveAll
func (DefaultFs) RemoveAll(path string) error
RemoveAll via os.RemoveAll
func (DefaultFs) Rename(oldpath, newpath string) error
Rename via os.Rename
func (DefaultFs) Stat(name string) (os.FileInfo, error)
Stat via os.Stat
func (DefaultFs) TempDir(dir, prefix string) (string, error)
TempDir via ioutil.TempDir
func (DefaultFs) TempFile(dir, prefix string) (File, error)
TempFile via ioutil.TempFile
func (DefaultFs) Walk(root string, walkFn filepath.WalkFunc) error
Walk via filepath.Walk
func (DefaultFs) WriteFile(filename string, data []byte, perm os.FileMode) error
WriteFile via ioutil.WriteFile
FSErrorHandler is called when a fsnotify error occurs.
type FSErrorHandler func(err error)
FSEventHandler is called when a fsnotify event occurs.
type FSEventHandler func(event fsnotify.Event)
FSWatcher is a callback-based filesystem watcher abstraction for fsnotify.
type FSWatcher interface { // Initializes the watcher with the given watch handlers. // Called before all other methods. Init(FSEventHandler, FSErrorHandler) error // Starts listening for events and errors. // When an event or error occurs, the corresponding handler is called. Run() // Add a filesystem path to watch AddWatch(path string) error }
File is an interface that we can use to mock various filesystem operations typically accessed through the File object from the "os" package
type File interface { // for now, the only os.File methods used are those below, add more as necessary Name() string Write(b []byte) (n int, err error) WriteString(s string) (n int, err error) Sync() error Close() error Read(b []byte) (n int, err error) Readdir(n int) ([]os.FileInfo, error) }
Filesystem is an interface that we can use to mock various filesystem operations
type Filesystem interface { // from "os" Stat(name string) (os.FileInfo, error) Create(name string) (File, error) Open(name string) (File, error) OpenFile(name string, flag int, perm os.FileMode) (File, error) Rename(oldpath, newpath string) error MkdirAll(path string, perm os.FileMode) error Chtimes(name string, atime time.Time, mtime time.Time) error RemoveAll(path string) error Remove(name string) error Chmod(name string, mode os.FileMode) error Getwd() (dir string, err error) // from "io/ioutil" ReadFile(filename string) ([]byte, error) WriteFile(filename string, data []byte, perm os.FileMode) error TempDir(dir, prefix string) (string, error) TempFile(dir, prefix string) (File, error) ReadDir(dirname string) ([]os.FileInfo, error) Walk(root string, walkFn filepath.WalkFunc) error }
func Get() Filesystem
func NewFakeFs() Filesystem
NewFakeFs returns a fake Filesystem that exists in-memory, useful for unit tests