...

Package filesystem

Overview ▾

type DefaultFs

DefaultFs implements Filesystem using same-named functions from "os" and "io"

type DefaultFs struct{}

func (DefaultFs) Chmod

func (f DefaultFs) Chmod(name string, mode os.FileMode) error

Chmod via os.Chmod

func (DefaultFs) Chtimes

func (DefaultFs) Chtimes(name string, atime time.Time, mtime time.Time) error

Chtimes via os.Chtimes

func (DefaultFs) Create

func (DefaultFs) Create(name string) (File, error)

Create via os.Create

func (DefaultFs) Getwd

func (DefaultFs) Getwd() (dir string, err error)

Getwd via os.Getwd

func (DefaultFs) MkdirAll

func (DefaultFs) MkdirAll(path string, perm os.FileMode) error

MkdirAll via os.MkdirAll

func (DefaultFs) Open

func (DefaultFs) Open(name string) (File, error)

Open via os.Open

func (DefaultFs) OpenFile

func (DefaultFs) OpenFile(name string, flag int, perm os.FileMode) (File, error)

OpenFile via os.OpenFile

func (DefaultFs) ReadDir

func (DefaultFs) ReadDir(dirname string) ([]os.FileInfo, error)

ReadDir via ioutil.ReadDir

func (DefaultFs) ReadFile

func (DefaultFs) ReadFile(filename string) ([]byte, error)

ReadFile via ioutil.ReadFile

func (DefaultFs) Remove

func (DefaultFs) Remove(name string) error

Remove via os.RemoveAll

func (DefaultFs) RemoveAll

func (DefaultFs) RemoveAll(path string) error

RemoveAll via os.RemoveAll

func (DefaultFs) Rename

func (DefaultFs) Rename(oldpath, newpath string) error

Rename via os.Rename

func (DefaultFs) Stat

func (DefaultFs) Stat(name string) (os.FileInfo, error)

Stat via os.Stat

func (DefaultFs) TempDir

func (DefaultFs) TempDir(dir, prefix string) (string, error)

TempDir via ioutil.TempDir

func (DefaultFs) TempFile

func (DefaultFs) TempFile(dir, prefix string) (File, error)

TempFile via ioutil.TempFile

func (DefaultFs) Walk

func (DefaultFs) Walk(root string, walkFn filepath.WalkFunc) error

Walk via filepath.Walk

func (DefaultFs) WriteFile

func (DefaultFs) WriteFile(filename string, data []byte, perm os.FileMode) error

WriteFile via ioutil.WriteFile

type FSErrorHandler

FSErrorHandler is called when a fsnotify error occurs.

type FSErrorHandler func(err error)

type FSEventHandler

FSEventHandler is called when a fsnotify event occurs.

type FSEventHandler func(event fsnotify.Event)

type FSWatcher

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
}

type File

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)
}

type Filesystem

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

func Get() Filesystem

func NewFakeFs

func NewFakeFs() Filesystem

NewFakeFs returns a fake Filesystem that exists in-memory, useful for unit tests