chore(storage): minor refactoring
- Unexport `SyncServers` - Re-generate mock file - Remove single use function
This commit is contained in:
@@ -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)
|
|
||||||
}
|
|
||||||
@@ -7,17 +7,6 @@ import (
|
|||||||
"github.com/qdm12/gluetun/internal/models"
|
"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 {
|
func (s *Storage) mergeServers(hardcoded, persisted models.AllServers) models.AllServers {
|
||||||
allProviders := providers.All()
|
allProviders := providers.All()
|
||||||
merged := models.AllServers{
|
merged := models.AllServers{
|
||||||
@@ -41,6 +30,14 @@ func (s *Storage) mergeProviderServers(provider string,
|
|||||||
return hardcoded
|
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
|
return persisted
|
||||||
}
|
}
|
||||||
|
|||||||
3
internal/storage/mocks_generate_test.go
Normal file
3
internal/storage/mocks_generate_test.go
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
package storage
|
||||||
|
|
||||||
|
//go:generate mockgen -destination=mocks_test.go -package $GOPACKAGE . Infoer
|
||||||
46
internal/storage/mocks_test.go
Normal file
46
internal/storage/mocks_test.go
Normal 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)
|
||||||
|
}
|
||||||
@@ -63,7 +63,8 @@ func (s *Storage) extractServersFromBytes(b []byte, hardcodedVersions map[string
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
mergedServers, versionsMatch, err := s.readServers(provider, hardcodedVersion, rawMessage, titleCaser)
|
mergedServers, versionsMatch, err := s.readServers(provider,
|
||||||
|
hardcodedVersion, rawMessage, titleCaser)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return models.AllServers{}, err
|
return models.AllServers{}, err
|
||||||
} else if !versionsMatch {
|
} else if !versionsMatch {
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ func Test_extractServersFromBytes(t *testing.T) {
|
|||||||
t.Parallel()
|
t.Parallel()
|
||||||
ctrl := gomock.NewController(t)
|
ctrl := gomock.NewController(t)
|
||||||
|
|
||||||
logger := NewMockInfoErrorer(ctrl)
|
logger := NewMockInfoer(ctrl)
|
||||||
var previousLogCall *gomock.Call
|
var previousLogCall *gomock.Call
|
||||||
for _, logged := range testCase.logged {
|
for _, logged := range testCase.logged {
|
||||||
call := logger.EXPECT().Info(logged)
|
call := logger.EXPECT().Info(logged)
|
||||||
|
|||||||
@@ -5,8 +5,6 @@ import (
|
|||||||
"github.com/qdm12/gluetun/internal/models"
|
"github.com/qdm12/gluetun/internal/models"
|
||||||
)
|
)
|
||||||
|
|
||||||
//go:generate mockgen -destination=infoerrorer_mock_test.go -package $GOPACKAGE . InfoErrorer
|
|
||||||
|
|
||||||
type Storage struct {
|
type Storage struct {
|
||||||
mergedServers models.AllServers
|
mergedServers models.AllServers
|
||||||
// this is stored in memory to avoid re-parsing
|
// 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,
|
filepath: filepath,
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := storage.SyncServers(); err != nil {
|
if err := storage.syncServers(); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ func countServers(allServers models.AllServers) (count int) {
|
|||||||
return count
|
return count
|
||||||
}
|
}
|
||||||
|
|
||||||
// SyncServers merges the hardcoded servers with the ones from the file.
|
// syncServers merges the hardcoded servers with the ones from the file.
|
||||||
func (s *Storage) SyncServers() (err error) {
|
func (s *Storage) syncServers() (err error) {
|
||||||
hardcodedVersions := make(map[string]uint16, len(s.hardcodedServers.ProviderToServers))
|
hardcodedVersions := make(map[string]uint16, len(s.hardcodedServers.ProviderToServers))
|
||||||
for provider, servers := range s.hardcodedServers.ProviderToServers {
|
for provider, servers := range s.hardcodedServers.ProviderToServers {
|
||||||
hardcodedVersions[provider] = servers.Version
|
hardcodedVersions[provider] = servers.Version
|
||||||
|
|||||||
Reference in New Issue
Block a user