filesystem

package
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 6, 2023 License: Apache-2.0 Imports: 6 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DefaultFs

type DefaultFs struct{}

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

func (DefaultFs) Chtimes

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

Chtimes via os.Chtimes

func (DefaultFs) Create

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

Create via os.Create

func (DefaultFs) MkdirAll

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

MkdirAll via os.MkdirAll

func (DefaultFs) ReadDir

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

ReadDir via os.ReadDir

func (DefaultFs) ReadFile

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

ReadFile via ioutil.ReadFile

func (DefaultFs) Readlink(name string) (string, error)

Readlink via os.Readlink

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) Symlink(oldname, newname string) error

Symlink via os.Symlink

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 FakeFs

type FakeFs struct {
	// contains filtered or unexported fields
}

FakeFs is implemented in terms of afero

func (*FakeFs) Chtimes

func (fs *FakeFs) Chtimes(name string, atime, mtime time.Time) error

Chtimes via afero.Fs.Chtimes

func (*FakeFs) Create

func (fs *FakeFs) Create(name string) (File, error)

Create via afero.Fs.Create

func (*FakeFs) MkdirAll

func (fs *FakeFs) MkdirAll(path string, perm os.FileMode) error

MkdirAll via afero.Fs.MkdirAll

func (*FakeFs) ReadDir

func (fs *FakeFs) ReadDir(dirname string) ([]os.FileInfo, error)

ReadDir via afero.ReadDir

func (*FakeFs) ReadFile

func (fs *FakeFs) ReadFile(filename string) ([]byte, error)

ReadFile via afero.ReadFile

func (fs *FakeFs) Readlink(name string) (string, error)

Readlink via afero.ReadlinkIfPossible

func (*FakeFs) Remove

func (fs *FakeFs) Remove(name string) error

Remove via afero.Remove

func (*FakeFs) RemoveAll

func (fs *FakeFs) RemoveAll(path string) error

RemoveAll via afero.RemoveAll

func (*FakeFs) Rename

func (fs *FakeFs) Rename(oldpath, newpath string) error

Rename via afero.Fs.Rename

func (*FakeFs) Stat

func (fs *FakeFs) Stat(name string) (os.FileInfo, error)

Stat via afero.Fs.Stat

func (fs *FakeFs) Symlink(oldname, newname string) error

Symlink via afero.FS.(Symlinker).SymlinkIfPossible

func (*FakeFs) TempDir

func (fs *FakeFs) TempDir(dir, prefix string) (string, error)

TempDir via afero.TempDir

func (*FakeFs) TempFile

func (fs *FakeFs) TempFile(dir, prefix string) (File, error)

TempFile via afero.TempFile

func (*FakeFs) Walk

func (fs *FakeFs) Walk(root string, walkFn filepath.WalkFunc) error

Walk via afero.Walk

func (*FakeFs) WriteFile

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

WriteFile via afero.WriteFile

type File

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)
	Sync() error
	Close() 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 Filesystem

type Filesystem interface {
	// from "os"
	Stat(name string) (os.FileInfo, error)
	Create(name string) (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
	Readlink(name string) (string, error)
	Symlink(oldname, newname string) 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
}

Filesystem is an interface that we can use to mock various filesystem operations

var Fs Filesystem = DefaultFs{}

func NewFakeFs

func NewFakeFs(fakeFsRoot string) (Filesystem, func(), error)

NewFakeFs returns a fake Filesystem that exists at fakeFsRoot as its base path, useful for unit tests. Returns: Filesystem interface, teardown method (cleanup of provided root path) and error. teardown method should be called at the end of each test to ensure environment is left clean.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL