]> git.r.bdr.sh - rbdr/mobius/blame - hotline/file_store.go
minor: v0.11.0
[rbdr/mobius] / hotline / file_store.go
CommitLineData
00d1ef67
JH
1package hotline
2
3import (
4 "github.com/stretchr/testify/mock"
481631f6 5 "io/fs"
00d1ef67 6 "os"
7cd900d6 7 "time"
00d1ef67
JH
8)
9
00d1ef67 10type FileStore interface {
7cd900d6 11 Create(name string) (*os.File, error)
00d1ef67 12 Mkdir(name string, perm os.FileMode) error
d492c46d 13 Open(name string) (*os.File, error)
7cd900d6 14 OpenFile(name string, flag int, perm fs.FileMode) (*os.File, error)
003a743e 15 Remove(name string) error
7cd900d6
JH
16 RemoveAll(path string) error
17 Rename(oldpath string, newpath string) error
18 Stat(name string) (fs.FileInfo, error)
19 Symlink(oldname, newname string) error
481631f6 20 WriteFile(name string, data []byte, perm fs.FileMode) error
7cd900d6 21 ReadFile(name string) ([]byte, error)
00d1ef67
JH
22}
23
24type OSFileStore struct{}
25
aebc4d36 26func (fs *OSFileStore) Mkdir(name string, perm os.FileMode) error {
00d1ef67
JH
27 return os.Mkdir(name, perm)
28}
29
aebc4d36 30func (fs *OSFileStore) Stat(name string) (os.FileInfo, error) {
00d1ef67
JH
31 return os.Stat(name)
32}
33
aebc4d36 34func (fs *OSFileStore) Open(name string) (*os.File, error) {
d492c46d
JH
35 return os.Open(name)
36}
37
aebc4d36 38func (fs *OSFileStore) Symlink(oldname, newname string) error {
decc2fbf
JH
39 return os.Symlink(oldname, newname)
40}
41
7cd900d6
JH
42func (fs *OSFileStore) RemoveAll(name string) error {
43 return os.RemoveAll(name)
44}
45
003a743e
JH
46func (fs *OSFileStore) Remove(name string) error {
47 return os.Remove(name)
48}
49
85767504
JH
50func (fs *OSFileStore) Create(name string) (*os.File, error) {
51 return os.Create(name)
52}
53
481631f6
JH
54func (fs *OSFileStore) WriteFile(name string, data []byte, perm fs.FileMode) error {
55 return os.WriteFile(name, data, perm)
56}
57
7cd900d6
JH
58func (fs *OSFileStore) Rename(oldpath string, newpath string) error {
59 return os.Rename(oldpath, newpath)
60}
61
62func (fs *OSFileStore) ReadFile(name string) ([]byte, error) {
63 return os.ReadFile(name)
64}
65
66func (fs *OSFileStore) OpenFile(name string, flag int, perm fs.FileMode) (*os.File, error) {
67 return os.OpenFile(name, flag, perm)
68}
69
00d1ef67
JH
70type MockFileStore struct {
71 mock.Mock
72}
73
aebc4d36 74func (mfs *MockFileStore) Mkdir(name string, perm os.FileMode) error {
00d1ef67
JH
75 args := mfs.Called(name, perm)
76 return args.Error(0)
77}
78
aebc4d36 79func (mfs *MockFileStore) Stat(name string) (os.FileInfo, error) {
00d1ef67 80 args := mfs.Called(name)
d492c46d 81 if args.Get(0) == nil {
00d1ef67 82 return nil, args.Error(1)
00d1ef67
JH
83 }
84 return args.Get(0).(os.FileInfo), args.Error(1)
85}
d492c46d 86
aebc4d36 87func (mfs *MockFileStore) Open(name string) (*os.File, error) {
d492c46d
JH
88 args := mfs.Called(name)
89 return args.Get(0).(*os.File), args.Error(1)
90}
decc2fbf 91
7cd900d6
JH
92func (mfs *MockFileStore) OpenFile(name string, flag int, perm fs.FileMode) (*os.File, error) {
93 args := mfs.Called(name, flag, perm)
94 return args.Get(0).(*os.File), args.Error(1)
95}
96
aebc4d36 97func (mfs *MockFileStore) Symlink(oldname, newname string) error {
decc2fbf
JH
98 args := mfs.Called(oldname, newname)
99 return args.Error(0)
100}
003a743e 101
7cd900d6
JH
102func (mfs *MockFileStore) RemoveAll(name string) error {
103 args := mfs.Called(name)
104 return args.Error(0)
105}
106
003a743e
JH
107func (mfs *MockFileStore) Remove(name string) error {
108 args := mfs.Called(name)
109 return args.Error(0)
110}
85767504
JH
111
112func (mfs *MockFileStore) Create(name string) (*os.File, error) {
113 args := mfs.Called(name)
114 return args.Get(0).(*os.File), args.Error(1)
115}
481631f6
JH
116
117func (mfs *MockFileStore) WriteFile(name string, data []byte, perm fs.FileMode) error {
118 args := mfs.Called(name, data, perm)
119 return args.Error(0)
120}
7cd900d6
JH
121
122func (mfs *MockFileStore) Rename(oldpath, newpath string) error {
123 args := mfs.Called(oldpath, newpath)
124 return args.Error(0)
125}
126
127func (mfs *MockFileStore) ReadFile(name string) ([]byte, error) {
128 args := mfs.Called(name)
129 return args.Get(0).([]byte), args.Error(1)
130}
131
132type MockFileInfo struct {
133 mock.Mock
134}
135
136func (mfi *MockFileInfo) Name() string {
137 args := mfi.Called()
138 return args.String(0)
139}
140
141func (mfi *MockFileInfo) Size() int64 {
142 args := mfi.Called()
143 return args.Get(0).(int64)
144}
145
146func (mfi *MockFileInfo) Mode() fs.FileMode {
147 args := mfi.Called()
148 return args.Get(0).(fs.FileMode)
149}
150
151func (mfi *MockFileInfo) ModTime() time.Time {
152 _ = mfi.Called()
153 return time.Now()
154}
155
156func (mfi *MockFileInfo) IsDir() bool {
157 args := mfi.Called()
158 return args.Bool(0)
159}
160
161func (mfi *MockFileInfo) Sys() interface{} {
162 _ = mfi.Called()
163 return nil
164}