]> git.r.bdr.sh - rbdr/mobius/blame_incremental - hotline/file_store.go
patch: v0.10.16
[rbdr/mobius] / hotline / file_store.go
... / ...
CommitLineData
1package hotline
2
3import (
4 "github.com/stretchr/testify/mock"
5 "io/fs"
6 "os"
7 "time"
8)
9
10type FileStore interface {
11 Create(name string) (*os.File, error)
12 Mkdir(name string, perm os.FileMode) error
13 Open(name string) (*os.File, error)
14 OpenFile(name string, flag int, perm fs.FileMode) (*os.File, error)
15 Remove(name string) error
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
20 WriteFile(name string, data []byte, perm fs.FileMode) error
21 ReadFile(name string) ([]byte, error)
22}
23
24type OSFileStore struct{}
25
26func (fs *OSFileStore) Mkdir(name string, perm os.FileMode) error {
27 return os.Mkdir(name, perm)
28}
29
30func (fs *OSFileStore) Stat(name string) (os.FileInfo, error) {
31 return os.Stat(name)
32}
33
34func (fs *OSFileStore) Open(name string) (*os.File, error) {
35 return os.Open(name)
36}
37
38func (fs *OSFileStore) Symlink(oldname, newname string) error {
39 return os.Symlink(oldname, newname)
40}
41
42func (fs *OSFileStore) RemoveAll(name string) error {
43 return os.RemoveAll(name)
44}
45
46func (fs *OSFileStore) Remove(name string) error {
47 return os.Remove(name)
48}
49
50func (fs *OSFileStore) Create(name string) (*os.File, error) {
51 return os.Create(name)
52}
53
54func (fs *OSFileStore) WriteFile(name string, data []byte, perm fs.FileMode) error {
55 return os.WriteFile(name, data, perm)
56}
57
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
70type MockFileStore struct {
71 mock.Mock
72}
73
74func (mfs *MockFileStore) Mkdir(name string, perm os.FileMode) error {
75 args := mfs.Called(name, perm)
76 return args.Error(0)
77}
78
79func (mfs *MockFileStore) Stat(name string) (os.FileInfo, error) {
80 args := mfs.Called(name)
81 if args.Get(0) == nil {
82 return nil, args.Error(1)
83
84 }
85 return args.Get(0).(os.FileInfo), args.Error(1)
86}
87
88func (mfs *MockFileStore) Open(name string) (*os.File, error) {
89 args := mfs.Called(name)
90 return args.Get(0).(*os.File), args.Error(1)
91}
92
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
98func (mfs *MockFileStore) Symlink(oldname, newname string) error {
99 args := mfs.Called(oldname, newname)
100 return args.Error(0)
101}
102
103func (mfs *MockFileStore) RemoveAll(name string) error {
104 args := mfs.Called(name)
105 return args.Error(0)
106}
107
108func (mfs *MockFileStore) Remove(name string) error {
109 args := mfs.Called(name)
110 return args.Error(0)
111}
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}
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}
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}