]> git.r.bdr.sh - rbdr/mobius/blame_incremental - hotline/file_store.go
minor: v0.11.0
[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 return args.Get(0).(os.FileInfo), args.Error(1)
85}
86
87func (mfs *MockFileStore) Open(name string) (*os.File, error) {
88 args := mfs.Called(name)
89 return args.Get(0).(*os.File), args.Error(1)
90}
91
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
97func (mfs *MockFileStore) Symlink(oldname, newname string) error {
98 args := mfs.Called(oldname, newname)
99 return args.Error(0)
100}
101
102func (mfs *MockFileStore) RemoveAll(name string) error {
103 args := mfs.Called(name)
104 return args.Error(0)
105}
106
107func (mfs *MockFileStore) Remove(name string) error {
108 args := mfs.Called(name)
109 return args.Error(0)
110}
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}
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}
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}