Skip to content

Commit 166db0f

Browse files
author
Evsyukov Denis
committed
refactor: change function return types to pointers for KubeEventsManager and ScheduleManager for consistency
Signed-off-by: Evsyukov Denis <denis.evsyukov@flant.com>
1 parent 933ef2d commit 166db0f

11 files changed

Lines changed: 35 additions & 25 deletions

pkg/hook/controller/hook_controller.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
package controller
22

33
import (
4-
v1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
5-
64
"github.com/deckhouse/deckhouse/pkg/log"
5+
v1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
76

87
bctx "github.com/flant/shell-operator/pkg/hook/binding_context"
98
htypes "github.com/flant/shell-operator/pkg/hook/types"

pkg/hook/controller/kubernetes_bindings_controller.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,11 @@ type kubernetesBindingsController struct {
5555
BindingMonitorLinks map[string]*KubernetesBindingToMonitorLink
5656
}
5757

58+
// kubernetesHooksController should implement the KubernetesHooksController
59+
var _ KubernetesBindingsController = (*kubernetesBindingsController)(nil)
60+
5861
// NewKubernetesBindingsController returns an implementation of KubernetesBindingsController
59-
var NewKubernetesBindingsController = func(logger *log.Logger) KubernetesBindingsController {
62+
var NewKubernetesBindingsController = func(logger *log.Logger) *kubernetesBindingsController {
6063
return &kubernetesBindingsController{
6164
BindingMonitorLinks: make(map[string]*KubernetesBindingToMonitorLink),
6265
logger: logger,

pkg/hook/controller/schedule_bindings_controller.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,11 @@ type scheduleBindingsController struct {
4242
ScheduleBindings []htypes.ScheduleConfig
4343
}
4444

45+
// kubernetesHooksController should implement the KubernetesHooksController
46+
var _ ScheduleBindingsController = (*scheduleBindingsController)(nil)
47+
4548
// NewScheduleBindingsController returns an implementation of ScheduleBindingsController
46-
var NewScheduleBindingsController = func() ScheduleBindingsController {
49+
var NewScheduleBindingsController = func() *scheduleBindingsController {
4750
return &scheduleBindingsController{
4851
ScheduleLinks: make(map[string]*ScheduleBindingToCrontabLink),
4952
}

pkg/hook/hook_manager.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,8 @@ import (
1010
"sort"
1111
"strings"
1212

13-
v1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
14-
1513
"github.com/deckhouse/deckhouse/pkg/log"
14+
v1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
1615

1716
"github.com/flant/shell-operator/pkg/app"
1817
"github.com/flant/shell-operator/pkg/executor"

pkg/kube_events_manager/kube_events_manager.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,11 @@ type kubeEventsManager struct {
4343
logger *log.Logger
4444
}
4545

46+
// kubeEventsManager should implement KubeEventsManager.
47+
var _ KubeEventsManager = (*kubeEventsManager)(nil)
48+
4649
// NewKubeEventsManager returns an implementation of KubeEventsManager.
47-
func NewKubeEventsManager(ctx context.Context, client *klient.Client, logger *log.Logger) KubeEventsManager {
50+
func NewKubeEventsManager(ctx context.Context, client *klient.Client, logger *log.Logger) *kubeEventsManager {
4851
cctx, cancel := context.WithCancel(ctx)
4952
em := &kubeEventsManager{
5053
ctx: cctx,

pkg/kube_events_manager/kube_events_manager_test.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,14 @@ import (
66
"testing"
77
"time"
88

9+
"github.com/deckhouse/deckhouse/pkg/log"
910
"github.com/stretchr/testify/assert"
10-
"github.com/stretchr/testify/require"
1111
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1212
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
1313
"k8s.io/apimachinery/pkg/runtime/schema"
1414
"k8s.io/apimachinery/pkg/version"
1515
fakediscovery "k8s.io/client-go/discovery/fake"
1616

17-
"github.com/deckhouse/deckhouse/pkg/log"
18-
1917
klient "github.com/flant/kube-client/client"
2018
kemtypes "github.com/flant/shell-operator/pkg/kube_events_manager/types"
2119
)
@@ -72,7 +70,9 @@ func Test_MainKubeEventsManager_Run(t *testing.T) {
7270

7371
err := mgr.AddMonitor(monitor)
7472

75-
require.NoError(t, err)
73+
if assert.NoError(t, err) {
74+
assert.Len(t, mgr.Monitors, 1)
75+
}
7676
}
7777

7878
// FIXME: sometimes fails, skip for now.
@@ -139,6 +139,7 @@ func Test_MainKubeEventsManager_HandleEvents(t *testing.T) {
139139

140140
// Init() replacement
141141
mgr := NewKubeEventsManager(ctx, kubeClient, log.NewNop())
142+
mgr.KubeEventCh = make(chan kemtypes.KubeEvent, 10)
142143

143144
// monitor with 3 namespaces and 4 object names and all event types
144145
monitor := &MonitorConfig{

pkg/kube_events_manager/monitor.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,9 @@ type monitor struct {
5252
logger *log.Logger
5353
}
5454

55-
func NewMonitor(ctx context.Context, client *klient.Client, mstor metric.Storage, config *MonitorConfig, eventCb func(kemtypes.KubeEvent), logger *log.Logger) Monitor {
55+
var _ Monitor = (*monitor)(nil)
56+
57+
func NewMonitor(ctx context.Context, client *klient.Client, mstor metric.Storage, config *MonitorConfig, eventCb func(kemtypes.KubeEvent), logger *log.Logger) *monitor {
5658
cctx, cancel := context.WithCancel(ctx)
5759

5860
return &monitor{

pkg/kube_events_manager/monitor_test.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,12 @@ import (
66
"sync"
77
"testing"
88

9+
"github.com/deckhouse/deckhouse/pkg/log"
910
. "github.com/onsi/gomega"
1011
"github.com/stretchr/testify/assert"
1112
corev1 "k8s.io/api/core/v1"
1213
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1314

14-
"github.com/deckhouse/deckhouse/pkg/log"
15-
1615
"github.com/flant/kube-client/fake"
1716
"github.com/flant/kube-client/manifest"
1817
kemtypes "github.com/flant/shell-operator/pkg/kube_events_manager/types"

pkg/kube_events_manager/resource_informer.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,13 @@ import (
88
"sync"
99
"time"
1010

11+
"github.com/deckhouse/deckhouse/pkg/log"
1112
"github.com/gofrs/uuid/v5"
1213
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1314
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
1415
"k8s.io/apimachinery/pkg/runtime/schema"
1516
"k8s.io/client-go/tools/cache"
1617

17-
"github.com/deckhouse/deckhouse/pkg/log"
18-
1918
klient "github.com/flant/kube-client/client"
2019
"github.com/flant/shell-operator/pkg/app"
2120
"github.com/flant/shell-operator/pkg/filter/jq"
@@ -67,7 +66,7 @@ type resourceInformer struct {
6766
logger *log.Logger
6867
}
6968

70-
// resourceInformer should implement resourceInformer
69+
// resourceInformer should implement ResourceInformer
7170
type resourceInformerConfig struct {
7271
client *klient.Client
7372
mstor metric.Storage

pkg/schedule_manager/schedule_manager.go

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,19 @@ import (
1111
smtypes "github.com/flant/shell-operator/pkg/schedule_manager/types"
1212
)
1313

14-
type CronEntry struct {
15-
EntryID cron.EntryID
16-
Ids map[string]bool
17-
}
18-
1914
type ScheduleManager interface {
2015
Stop()
2116
Start()
2217
Add(entry smtypes.ScheduleEntry)
2318
Remove(entry smtypes.ScheduleEntry)
2419
Ch() chan string
2520
}
21+
22+
type CronEntry struct {
23+
EntryID cron.EntryID
24+
Ids map[string]bool
25+
}
26+
2627
type scheduleManager struct {
2728
ctx context.Context
2829
cancel context.CancelFunc
@@ -33,7 +34,9 @@ type scheduleManager struct {
3334
logger *log.Logger
3435
}
3536

36-
func NewScheduleManager(ctx context.Context, logger *log.Logger) ScheduleManager {
37+
var _ ScheduleManager = (*scheduleManager)(nil)
38+
39+
func NewScheduleManager(ctx context.Context, logger *log.Logger) *scheduleManager {
3740
cctx, cancel := context.WithCancel(ctx)
3841
sm := &scheduleManager{
3942
ctx: cctx,

0 commit comments

Comments
 (0)