]> git.r.bdr.sh - rbdr/mobius/blame - hotline/file_store.go
patch: v0.10.15
[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
JH
82 return nil, args.Error(1)
83
84 }
85 return args.Get(0).(os.FileInfo), args.Error(1)
86}
d492c46d 87
aebc4d36 88func (mfs *MockFileStore) Open(name string) (*os.File, error) {
d492c46d
JH
89 args := mfs.Called(name)
90 return args.Get(0).(*os.File), args.Error(1)
91}
decc2fbf 92
7cd900d6
JH
93func (mfs *MockFileStore) OpenFile(name string, flag int, perm fs.FileMode) (*os.File, error) {
94 args := mfs.Called(name, flag, perm)
95 return args.Get(0).(*os.File), args.Error(1)
96}
97
aebc4d36 98func (mfs *MockFileStore) Symlink(oldname, newname string) error {
decc2fbf
JH
99 args := mfs.Called(oldname, newname)
100 return args.Error(0)
101}
003a743e 102
7cd900d6
JH
103func (mfs *MockFileStore) RemoveAll(name string) error {
104 args := mfs.Called(name)
105 return args.Error(0)
106}
107
003a743e
JH
108func (mfs *MockFileStore) Remove(name string) error {
109 args := mfs.Called(name)
110 return args.Error(0)
111}
85767504
JH
112
113func (mfs *MockFileStore) Create(name string) (*os.File, error) {
114 args := mfs.Called(name)
115 return args.Get(0).(*os.File), args.Error(1)
116}
481631f6
JH
117
118func (mfs *MockFileStore) WriteFile(name string, data []byte, perm fs.FileMode) error {
119 args := mfs.Called(name, data, perm)
120 return args.Error(0)
121}
7cd900d6
JH
122
123func (mfs *MockFileStore) Rename(oldpath, newpath string) error {
124 args := mfs.Called(oldpath, newpath)
125 return args.Error(0)
126}
127
128func (mfs *MockFileStore) ReadFile(name string) ([]byte, error) {
129 args := mfs.Called(name)
130 return args.Get(0).([]byte), args.Error(1)
131}
132
133type MockFileInfo struct {
134 mock.Mock
135}
136
137func (mfi *MockFileInfo) Name() string {
138 args := mfi.Called()
139 return args.String(0)
140}
141
142func (mfi *MockFileInfo) Size() int64 {
143 args := mfi.Called()
144 return args.Get(0).(int64)
145}
146
147func (mfi *MockFileInfo) Mode() fs.FileMode {
148 args := mfi.Called()
149 return args.Get(0).(fs.FileMode)
150}
151
152func (mfi *MockFileInfo) ModTime() time.Time {
153 _ = mfi.Called()
154 return time.Now()
155}
156
157func (mfi *MockFileInfo) IsDir() bool {
158 args := mfi.Called()
159 return args.Bool(0)
160}
161
162func (mfi *MockFileInfo) Sys() interface{} {
163 _ = mfi.Called()
164 return nil
165}