chore(storage): minor refactoring

- Unexport `SyncServers`
- Re-generate mock file
- Remove single use function
This commit is contained in:
Quentin McGaw
2022-05-28 22:51:19 +00:00
parent b345368257
commit 8e1316bd8a
8 changed files with 64 additions and 65 deletions

View File

@@ -1,46 +0,0 @@
// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/qdm12/gluetun/internal/storage (interfaces: InfoErrorer)
// Package storage is a generated GoMock package.
package storage
import (
reflect "reflect"
gomock "github.com/golang/mock/gomock"
)
// MockInfoErrorer is a mock of InfoErrorer interface.
type MockInfoErrorer struct {
ctrl *gomock.Controller
recorder *MockInfoErrorerMockRecorder
}
// MockInfoErrorerMockRecorder is the mock recorder for MockInfoErrorer.
type MockInfoErrorerMockRecorder struct {
mock *MockInfoErrorer
}
// NewMockInfoErrorer creates a new mock instance.
func NewMockInfoErrorer(ctrl *gomock.Controller) *MockInfoErrorer {
mock := &MockInfoErrorer{ctrl: ctrl}
mock.recorder = &MockInfoErrorerMockRecorder{mock}
return mock
}
// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockInfoErrorer) EXPECT() *MockInfoErrorerMockRecorder {
return m.recorder
}
// Info mocks base method.
func (m *MockInfoErrorer) Info(arg0 string) {
m.ctrl.T.Helper()
m.ctrl.Call(m, "Info", arg0)
}
// Info indicates an expected call of Info.
func (mr *MockInfoErrorerMockRecorder) Info(arg0 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Info", reflect.TypeOf((*MockInfoErrorer)(nil).Info), arg0)
}

View File

@@ -7,17 +7,6 @@ import (
"github.com/qdm12/gluetun/internal/models"
)
func (s *Storage) logTimeDiff(provider string, persistedUnix, hardcodedUnix int64) {
diff := time.Unix(persistedUnix, 0).Sub(time.Unix(hardcodedUnix, 0))
if diff < 0 {
diff = -diff
}
diff = diff.Truncate(time.Second)
message := "Using " + provider + " servers from file which are " +
diff.String() + " more recent"
s.logger.Info(message)
}
func (s *Storage) mergeServers(hardcoded, persisted models.AllServers) models.AllServers {
allProviders := providers.All()
merged := models.AllServers{
@@ -41,6 +30,14 @@ func (s *Storage) mergeProviderServers(provider string,
return hardcoded
}
s.logTimeDiff(provider, persisted.Timestamp, hardcoded.Timestamp)
diff := time.Unix(persisted.Timestamp, 0).Sub(time.Unix(hardcoded.Timestamp, 0))
if diff < 0 {
diff = -diff
}
diff = diff.Truncate(time.Second)
message := "Using " + provider + " servers from file which are " +
diff.String() + " more recent"
s.logger.Info(message)
return persisted
}

View File

@@ -0,0 +1,3 @@
package storage
//go:generate mockgen -destination=mocks_test.go -package $GOPACKAGE . Infoer

View File

@@ -0,0 +1,46 @@
// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/qdm12/gluetun/internal/storage (interfaces: Infoer)
// Package storage is a generated GoMock package.
package storage
import (
reflect "reflect"
gomock "github.com/golang/mock/gomock"
)
// MockInfoer is a mock of Infoer interface.
type MockInfoer struct {
ctrl *gomock.Controller
recorder *MockInfoerMockRecorder
}
// MockInfoerMockRecorder is the mock recorder for MockInfoer.
type MockInfoerMockRecorder struct {
mock *MockInfoer
}
// NewMockInfoer creates a new mock instance.
func NewMockInfoer(ctrl *gomock.Controller) *MockInfoer {
mock := &MockInfoer{ctrl: ctrl}
mock.recorder = &MockInfoerMockRecorder{mock}
return mock
}
// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockInfoer) EXPECT() *MockInfoerMockRecorder {
return m.recorder
}
// Info mocks base method.
func (m *MockInfoer) Info(arg0 string) {
m.ctrl.T.Helper()
m.ctrl.Call(m, "Info", arg0)
}
// Info indicates an expected call of Info.
func (mr *MockInfoerMockRecorder) Info(arg0 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Info", reflect.TypeOf((*MockInfoer)(nil).Info), arg0)
}

View File

@@ -63,7 +63,8 @@ func (s *Storage) extractServersFromBytes(b []byte, hardcodedVersions map[string
continue
}
mergedServers, versionsMatch, err := s.readServers(provider, hardcodedVersion, rawMessage, titleCaser)
mergedServers, versionsMatch, err := s.readServers(provider,
hardcodedVersion, rawMessage, titleCaser)
if err != nil {
return models.AllServers{}, err
} else if !versionsMatch {

View File

@@ -160,7 +160,7 @@ func Test_extractServersFromBytes(t *testing.T) {
t.Parallel()
ctrl := gomock.NewController(t)
logger := NewMockInfoErrorer(ctrl)
logger := NewMockInfoer(ctrl)
var previousLogCall *gomock.Call
for _, logged := range testCase.logged {
call := logger.EXPECT().Info(logged)

View File

@@ -5,8 +5,6 @@ import (
"github.com/qdm12/gluetun/internal/models"
)
//go:generate mockgen -destination=infoerrorer_mock_test.go -package $GOPACKAGE . InfoErrorer
type Storage struct {
mergedServers models.AllServers
// this is stored in memory to avoid re-parsing
@@ -35,7 +33,7 @@ func New(logger Infoer, filepath string) (storage *Storage, err error) {
filepath: filepath,
}
if err := storage.SyncServers(); err != nil {
if err := storage.syncServers(); err != nil {
return nil, err
}

View File

@@ -14,8 +14,8 @@ func countServers(allServers models.AllServers) (count int) {
return count
}
// SyncServers merges the hardcoded servers with the ones from the file.
func (s *Storage) SyncServers() (err error) {
// syncServers merges the hardcoded servers with the ones from the file.
func (s *Storage) syncServers() (err error) {
hardcodedVersions := make(map[string]uint16, len(s.hardcodedServers.ProviderToServers))
for provider, servers := range s.hardcodedServers.ProviderToServers {
hardcodedVersions[provider] = servers.Version