chore(all): return concrete types, accept interfaces

- Remove exported interfaces unused locally
- Define interfaces to accept arguments
- Return concrete types, not interfaces
This commit is contained in:
Quentin McGaw
2022-06-11 01:34:30 +00:00
parent 0378fe4a7b
commit 578ef768ab
132 changed files with 594 additions and 935 deletions

View File

@@ -25,7 +25,7 @@ func Test_Updater_GetServers(t *testing.T) {
minServers int
// Mocks
warnerBuilder func(ctrl *gomock.Controller) Warner
warnerBuilder func(ctrl *gomock.Controller) common.Warner
// From API
responseBody string
@@ -43,12 +43,12 @@ func Test_Updater_GetServers(t *testing.T) {
err error
}{
"http response error": {
warnerBuilder: func(ctrl *gomock.Controller) Warner { return nil },
warnerBuilder: func(ctrl *gomock.Controller) common.Warner { return nil },
responseStatus: http.StatusNoContent,
err: errors.New("failed fetching API: HTTP status code not OK: 204 No Content"),
},
"resolve error": {
warnerBuilder: func(ctrl *gomock.Controller) Warner {
warnerBuilder: func(ctrl *gomock.Controller) common.Warner {
warner := NewMockWarner(ctrl)
warner.EXPECT().Warn("resolve warning")
return warner
@@ -65,7 +65,7 @@ func Test_Updater_GetServers(t *testing.T) {
},
"not enough servers": {
minServers: 2,
warnerBuilder: func(ctrl *gomock.Controller) Warner { return nil },
warnerBuilder: func(ctrl *gomock.Controller) common.Warner { return nil },
responseBody: `{"servers":[
{"hostnames":{"openvpn":"hosta"}}
]}`,
@@ -74,7 +74,7 @@ func Test_Updater_GetServers(t *testing.T) {
},
"success": {
minServers: 1,
warnerBuilder: func(ctrl *gomock.Controller) Warner {
warnerBuilder: func(ctrl *gomock.Controller) common.Warner {
warner := NewMockWarner(ctrl)
warner.EXPECT().Warn("resolve warning")
return warner

View File

@@ -9,14 +9,10 @@ import (
type Updater struct {
client *http.Client
presolver common.ParallelResolver
warner Warner
warner common.Warner
}
type Warner interface {
Warn(s string)
}
func New(client *http.Client, warner Warner) *Updater {
func New(client *http.Client, warner common.Warner) *Updater {
return &Updater{
client: client,
presolver: newParallelResolver(),