Code maintenance: OS package for file system

- OS custom internal package for file system interaction
- Remove fileManager external dependency
- Closer API to Go's native API on the OS
- Create directories at startup
- Better testability
- Move Unsetenv to os interface
This commit is contained in:
Quentin McGaw
2020-12-29 00:55:31 +00:00
parent f5366c33bc
commit 73479bab26
43 changed files with 923 additions and 353 deletions
+121
View File
@@ -0,0 +1,121 @@
// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/qdm12/gluetun/internal/os (interfaces: File)
// Package mock_os is a generated GoMock package.
package mock_os
import (
gomock "github.com/golang/mock/gomock"
os "os"
reflect "reflect"
)
// MockFile is a mock of File interface
type MockFile struct {
ctrl *gomock.Controller
recorder *MockFileMockRecorder
}
// MockFileMockRecorder is the mock recorder for MockFile
type MockFileMockRecorder struct {
mock *MockFile
}
// NewMockFile creates a new mock instance
func NewMockFile(ctrl *gomock.Controller) *MockFile {
mock := &MockFile{ctrl: ctrl}
mock.recorder = &MockFileMockRecorder{mock}
return mock
}
// EXPECT returns an object that allows the caller to indicate expected use
func (m *MockFile) EXPECT() *MockFileMockRecorder {
return m.recorder
}
// Chmod mocks base method
func (m *MockFile) Chmod(arg0 os.FileMode) error {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "Chmod", arg0)
ret0, _ := ret[0].(error)
return ret0
}
// Chmod indicates an expected call of Chmod
func (mr *MockFileMockRecorder) Chmod(arg0 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Chmod", reflect.TypeOf((*MockFile)(nil).Chmod), arg0)
}
// Chown mocks base method
func (m *MockFile) Chown(arg0, arg1 int) error {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "Chown", arg0, arg1)
ret0, _ := ret[0].(error)
return ret0
}
// Chown indicates an expected call of Chown
func (mr *MockFileMockRecorder) Chown(arg0, arg1 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Chown", reflect.TypeOf((*MockFile)(nil).Chown), arg0, arg1)
}
// Close mocks base method
func (m *MockFile) Close() error {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "Close")
ret0, _ := ret[0].(error)
return ret0
}
// Close indicates an expected call of Close
func (mr *MockFileMockRecorder) Close() *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockFile)(nil).Close))
}
// Read mocks base method
func (m *MockFile) Read(arg0 []byte) (int, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "Read", arg0)
ret0, _ := ret[0].(int)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// Read indicates an expected call of Read
func (mr *MockFileMockRecorder) Read(arg0 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Read", reflect.TypeOf((*MockFile)(nil).Read), arg0)
}
// Write mocks base method
func (m *MockFile) Write(arg0 []byte) (int, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "Write", arg0)
ret0, _ := ret[0].(int)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// Write indicates an expected call of Write
func (mr *MockFileMockRecorder) Write(arg0 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Write", reflect.TypeOf((*MockFile)(nil).Write), arg0)
}
// WriteString mocks base method
func (m *MockFile) WriteString(arg0 string) (int, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "WriteString", arg0)
ret0, _ := ret[0].(int)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// WriteString indicates an expected call of WriteString
func (mr *MockFileMockRecorder) WriteString(arg0 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WriteString", reflect.TypeOf((*MockFile)(nil).WriteString), arg0)
}
+121
View File
@@ -0,0 +1,121 @@
// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/qdm12/gluetun/internal/os (interfaces: OS)
// Package mock_os is a generated GoMock package.
package mock_os
import (
gomock "github.com/golang/mock/gomock"
os "github.com/qdm12/gluetun/internal/os"
os0 "os"
reflect "reflect"
)
// MockOS is a mock of OS interface
type MockOS struct {
ctrl *gomock.Controller
recorder *MockOSMockRecorder
}
// MockOSMockRecorder is the mock recorder for MockOS
type MockOSMockRecorder struct {
mock *MockOS
}
// NewMockOS creates a new mock instance
func NewMockOS(ctrl *gomock.Controller) *MockOS {
mock := &MockOS{ctrl: ctrl}
mock.recorder = &MockOSMockRecorder{mock}
return mock
}
// EXPECT returns an object that allows the caller to indicate expected use
func (m *MockOS) EXPECT() *MockOSMockRecorder {
return m.recorder
}
// Chown mocks base method
func (m *MockOS) Chown(arg0 string, arg1, arg2 int) error {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "Chown", arg0, arg1, arg2)
ret0, _ := ret[0].(error)
return ret0
}
// Chown indicates an expected call of Chown
func (mr *MockOSMockRecorder) Chown(arg0, arg1, arg2 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Chown", reflect.TypeOf((*MockOS)(nil).Chown), arg0, arg1, arg2)
}
// MkdirAll mocks base method
func (m *MockOS) MkdirAll(arg0 string, arg1 os.FileMode) error {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "MkdirAll", arg0, arg1)
ret0, _ := ret[0].(error)
return ret0
}
// MkdirAll indicates an expected call of MkdirAll
func (mr *MockOSMockRecorder) MkdirAll(arg0, arg1 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MkdirAll", reflect.TypeOf((*MockOS)(nil).MkdirAll), arg0, arg1)
}
// OpenFile mocks base method
func (m *MockOS) OpenFile(arg0 string, arg1 int, arg2 os.FileMode) (os.File, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "OpenFile", arg0, arg1, arg2)
ret0, _ := ret[0].(os.File)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// OpenFile indicates an expected call of OpenFile
func (mr *MockOSMockRecorder) OpenFile(arg0, arg1, arg2 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "OpenFile", reflect.TypeOf((*MockOS)(nil).OpenFile), arg0, arg1, arg2)
}
// Remove mocks base method
func (m *MockOS) Remove(arg0 string) error {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "Remove", arg0)
ret0, _ := ret[0].(error)
return ret0
}
// Remove indicates an expected call of Remove
func (mr *MockOSMockRecorder) Remove(arg0 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Remove", reflect.TypeOf((*MockOS)(nil).Remove), arg0)
}
// Stat mocks base method
func (m *MockOS) Stat(arg0 string) (os0.FileInfo, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "Stat", arg0)
ret0, _ := ret[0].(os0.FileInfo)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// Stat indicates an expected call of Stat
func (mr *MockOSMockRecorder) Stat(arg0 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Stat", reflect.TypeOf((*MockOS)(nil).Stat), arg0)
}
// Unsetenv mocks base method
func (m *MockOS) Unsetenv(arg0 string) error {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "Unsetenv", arg0)
ret0, _ := ret[0].(error)
return ret0
}
// Unsetenv indicates an expected call of Unsetenv
func (mr *MockOSMockRecorder) Unsetenv(arg0 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Unsetenv", reflect.TypeOf((*MockOS)(nil).Unsetenv), arg0)
}