Skip to content

Commit b306c42

Browse files
committed
adapt linodecluster controller tests to new mocktest changes
1 parent 2cb7633 commit b306c42

12 files changed

+1019
-762
lines changed

cloud/scope/cluster.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ func NewClusterScope(ctx context.Context, apiKey string, params ClusterScopePara
7272
}
7373

7474
return &ClusterScope{
75-
client: params.Client,
75+
Client: params.Client,
7676
Cluster: params.Cluster,
7777
LinodeClient: linodeClient,
7878
LinodeCluster: params.LinodeCluster,
@@ -82,7 +82,7 @@ func NewClusterScope(ctx context.Context, apiKey string, params ClusterScopePara
8282

8383
// ClusterScope defines the basic context for an actuator to operate upon.
8484
type ClusterScope struct {
85-
client K8sClient
85+
Client K8sClient
8686
PatchHelper *patch.Helper
8787
LinodeClient LinodeNodeBalancerClient
8888
Cluster *clusterv1.Cluster

cloud/scope/machine_test.go

+54-54
Original file line numberDiff line numberDiff line change
@@ -112,25 +112,25 @@ func TestValidateMachineScopeParams(t *testing.T) {
112112
func TestMachineScopeAddFinalizer(t *testing.T) {
113113
t.Parallel()
114114

115-
NewTestSuite(mock.MockK8sClient{}).Run(context.Background(), t, Paths(
116-
Call("scheme 1", func(ctx context.Context, m Mock) {
117-
m.K8sClient.EXPECT().Scheme().DoAndReturn(func() *runtime.Scheme {
115+
NewTestSuite(t, mock.MockK8sClient{}).Run(Paths(
116+
Call("scheme 1", func(ctx context.Context, mck Mock) {
117+
mck.K8sClient.EXPECT().Scheme().DoAndReturn(func() *runtime.Scheme {
118118
s := runtime.NewScheme()
119119
infrav1alpha1.AddToScheme(s)
120120
return s
121121
})
122122
}),
123123
Either(
124-
Call("scheme 2", func(ctx context.Context, m Mock) {
125-
m.K8sClient.EXPECT().Scheme().DoAndReturn(func() *runtime.Scheme {
124+
Call("scheme 2", func(ctx context.Context, mck Mock) {
125+
mck.K8sClient.EXPECT().Scheme().DoAndReturn(func() *runtime.Scheme {
126126
s := runtime.NewScheme()
127127
infrav1alpha1.AddToScheme(s)
128128
return s
129129
})
130130
}),
131-
Result("has finalizer", func(ctx context.Context, m Mock) {
131+
Result("has finalizer", func(ctx context.Context, mck Mock) {
132132
mScope, err := NewMachineScope(ctx, "token", MachineScopeParams{
133-
Client: m.K8sClient,
133+
Client: mck.K8sClient,
134134
Cluster: &clusterv1.Cluster{},
135135
Machine: &clusterv1.Machine{},
136136
LinodeCluster: &infrav1alpha1.LinodeCluster{},
@@ -147,13 +147,13 @@ func TestMachineScopeAddFinalizer(t *testing.T) {
147147
}),
148148
),
149149
Either(
150-
Case(
151-
Call("able to patch", func(ctx context.Context, m Mock) {
152-
m.K8sClient.EXPECT().Patch(ctx, gomock.Any(), gomock.Any()).Return(nil)
150+
Path(
151+
Call("able to patch", func(ctx context.Context, mck Mock) {
152+
mck.K8sClient.EXPECT().Patch(ctx, gomock.Any(), gomock.Any()).Return(nil)
153153
}),
154-
Result("finalizer added", func(ctx context.Context, m Mock) {
154+
Result("finalizer added", func(ctx context.Context, mck Mock) {
155155
mScope, err := NewMachineScope(ctx, "token", MachineScopeParams{
156-
Client: m.K8sClient,
156+
Client: mck.K8sClient,
157157
Cluster: &clusterv1.Cluster{},
158158
Machine: &clusterv1.Machine{},
159159
LinodeCluster: &infrav1alpha1.LinodeCluster{},
@@ -165,13 +165,13 @@ func TestMachineScopeAddFinalizer(t *testing.T) {
165165
assert.Equal(t, mScope.LinodeMachine.Finalizers[0], infrav1alpha1.GroupVersion.String())
166166
}),
167167
),
168-
Case(
169-
Call("unable to patch", func(ctx context.Context, m Mock) {
170-
m.K8sClient.EXPECT().Patch(ctx, gomock.Any(), gomock.Any()).Return(errors.New("fail"))
168+
Path(
169+
Call("unable to patch", func(ctx context.Context, mck Mock) {
170+
mck.K8sClient.EXPECT().Patch(ctx, gomock.Any(), gomock.Any()).Return(errors.New("fail"))
171171
}),
172-
Result("error", func(ctx context.Context, m Mock) {
172+
Result("error", func(ctx context.Context, mck Mock) {
173173
mScope, err := NewMachineScope(ctx, "token", MachineScopeParams{
174-
Client: m.K8sClient,
174+
Client: mck.K8sClient,
175175
Cluster: &clusterv1.Cluster{},
176176
Machine: &clusterv1.Machine{},
177177
LinodeCluster: &infrav1alpha1.LinodeCluster{},
@@ -189,16 +189,16 @@ func TestMachineScopeAddFinalizer(t *testing.T) {
189189
func TestNewMachineScope(t *testing.T) {
190190
t.Parallel()
191191

192-
NewTestSuite(mock.MockK8sClient{}).Run(context.Background(), t, Paths(
192+
NewTestSuite(t, mock.MockK8sClient{}).Run(Paths(
193193
Either(
194-
Result("invalid params", func(ctx context.Context, m Mock) {
194+
Result("invalid params", func(ctx context.Context, mck Mock) {
195195
mScope, err := NewMachineScope(ctx, "token", MachineScopeParams{})
196196
require.ErrorContains(t, err, "is required")
197197
assert.Nil(t, mScope)
198198
}),
199-
Result("no token", func(ctx context.Context, m Mock) {
199+
Result("no token", func(ctx context.Context, mck Mock) {
200200
mScope, err := NewMachineScope(ctx, "", MachineScopeParams{
201-
Client: m.K8sClient,
201+
Client: mck.K8sClient,
202202
Cluster: &clusterv1.Cluster{},
203203
Machine: &clusterv1.Machine{},
204204
LinodeCluster: &infrav1alpha1.LinodeCluster{},
@@ -207,13 +207,13 @@ func TestNewMachineScope(t *testing.T) {
207207
require.ErrorContains(t, err, "failed to create linode client")
208208
assert.Nil(t, mScope)
209209
}),
210-
Case(
211-
Call("no secret", func(ctx context.Context, m Mock) {
212-
m.K8sClient.EXPECT().Get(ctx, gomock.Any(), gomock.Any()).Return(apierrors.NewNotFound(schema.GroupResource{}, "example"))
210+
Path(
211+
Call("no secret", func(ctx context.Context, mck Mock) {
212+
mck.K8sClient.EXPECT().Get(ctx, gomock.Any(), gomock.Any()).Return(apierrors.NewNotFound(schema.GroupResource{}, "example"))
213213
}),
214-
Result("error", func(ctx context.Context, m Mock) {
214+
Result("error", func(ctx context.Context, mck Mock) {
215215
mScope, err := NewMachineScope(ctx, "", MachineScopeParams{
216-
Client: m.K8sClient,
216+
Client: mck.K8sClient,
217217
Cluster: &clusterv1.Cluster{},
218218
Machine: &clusterv1.Machine{},
219219
LinodeCluster: &infrav1alpha1.LinodeCluster{},
@@ -232,20 +232,20 @@ func TestNewMachineScope(t *testing.T) {
232232
),
233233
),
234234
Either(
235-
Call("valid scheme", func(ctx context.Context, m Mock) {
236-
m.K8sClient.EXPECT().Scheme().DoAndReturn(func() *runtime.Scheme {
235+
Call("valid scheme", func(ctx context.Context, mck Mock) {
236+
mck.K8sClient.EXPECT().Scheme().DoAndReturn(func() *runtime.Scheme {
237237
s := runtime.NewScheme()
238238
infrav1alpha1.AddToScheme(s)
239239
return s
240240
})
241241
}),
242-
Case(
243-
Call("invalid scheme", func(ctx context.Context, m Mock) {
244-
m.K8sClient.EXPECT().Scheme().Return(runtime.NewScheme())
242+
Path(
243+
Call("invalid scheme", func(ctx context.Context, mck Mock) {
244+
mck.K8sClient.EXPECT().Scheme().Return(runtime.NewScheme())
245245
}),
246-
Result("cannot init patch helper", func(ctx context.Context, m Mock) {
246+
Result("cannot init patch helper", func(ctx context.Context, mck Mock) {
247247
mScope, err := NewMachineScope(ctx, "token", MachineScopeParams{
248-
Client: m.K8sClient,
248+
Client: mck.K8sClient,
249249
Cluster: &clusterv1.Cluster{},
250250
Machine: &clusterv1.Machine{},
251251
LinodeCluster: &infrav1alpha1.LinodeCluster{},
@@ -257,8 +257,8 @@ func TestNewMachineScope(t *testing.T) {
257257
),
258258
),
259259
Either(
260-
Call("credentials in secret", func(ctx context.Context, m Mock) {
261-
m.K8sClient.EXPECT().Get(ctx, gomock.Any(), gomock.Any()).
260+
Call("credentials in secret", func(ctx context.Context, mck Mock) {
261+
mck.K8sClient.EXPECT().Get(ctx, gomock.Any(), gomock.Any()).
262262
DoAndReturn(func(ctx context.Context, key client.ObjectKey, obj *corev1.Secret, opts ...client.GetOption) error {
263263
*obj = corev1.Secret{
264264
Data: map[string][]byte{
@@ -268,9 +268,9 @@ func TestNewMachineScope(t *testing.T) {
268268
return nil
269269
})
270270
}),
271-
Result("default credentials", func(ctx context.Context, m Mock) {
271+
Result("default credentials", func(ctx context.Context, mck Mock) {
272272
mScope, err := NewMachineScope(ctx, "token", MachineScopeParams{
273-
Client: m.K8sClient,
273+
Client: mck.K8sClient,
274274
Cluster: &clusterv1.Cluster{},
275275
Machine: &clusterv1.Machine{},
276276
LinodeCluster: &infrav1alpha1.LinodeCluster{},
@@ -281,9 +281,9 @@ func TestNewMachineScope(t *testing.T) {
281281
}),
282282
),
283283
Either(
284-
Result("credentials from LinodeMachine credentialsRef", func(ctx context.Context, m Mock) {
284+
Result("credentials from LinodeMachine credentialsRef", func(ctx context.Context, mck Mock) {
285285
mScope, err := NewMachineScope(ctx, "", MachineScopeParams{
286-
Client: m.K8sClient,
286+
Client: mck.K8sClient,
287287
Cluster: &clusterv1.Cluster{},
288288
Machine: &clusterv1.Machine{},
289289
LinodeCluster: &infrav1alpha1.LinodeCluster{},
@@ -299,9 +299,9 @@ func TestNewMachineScope(t *testing.T) {
299299
require.NoError(t, err)
300300
assert.NotNil(t, mScope)
301301
}),
302-
Result("credentials from LinodeCluster credentialsRef", func(ctx context.Context, m Mock) {
302+
Result("credentials from LinodeCluster credentialsRef", func(ctx context.Context, mck Mock) {
303303
mScope, err := NewMachineScope(ctx, "token", MachineScopeParams{
304-
Client: m.K8sClient,
304+
Client: mck.K8sClient,
305305
Cluster: &clusterv1.Cluster{},
306306
Machine: &clusterv1.Machine{},
307307
LinodeCluster: &infrav1alpha1.LinodeCluster{
@@ -324,18 +324,18 @@ func TestNewMachineScope(t *testing.T) {
324324
func TestMachineScopeGetBootstrapData(t *testing.T) {
325325
t.Parallel()
326326

327-
NewTestSuite(mock.MockK8sClient{}).Run(context.Background(), t, Paths(
328-
Call("able to get secret", func(ctx context.Context, m Mock) {
329-
m.K8sClient.EXPECT().Get(ctx, gomock.Any(), gomock.Any()).
327+
NewTestSuite(t, mock.MockK8sClient{}).Run(Paths(
328+
Call("able to get secret", func(ctx context.Context, mck Mock) {
329+
mck.K8sClient.EXPECT().Get(ctx, gomock.Any(), gomock.Any()).
330330
DoAndReturn(func(ctx context.Context, key client.ObjectKey, obj *corev1.Secret, opts ...client.GetOption) error {
331331
secret := corev1.Secret{Data: map[string][]byte{"value": []byte("test-data")}}
332332
*obj = secret
333333
return nil
334334
})
335335
}),
336-
Result("success", func(ctx context.Context, m Mock) {
336+
Result("success", func(ctx context.Context, mck Mock) {
337337
mScope := MachineScope{
338-
Client: m.K8sClient,
338+
Client: mck.K8sClient,
339339
Machine: &clusterv1.Machine{
340340
Spec: clusterv1.MachineSpec{
341341
Bootstrap: clusterv1.Bootstrap{
@@ -351,20 +351,20 @@ func TestMachineScopeGetBootstrapData(t *testing.T) {
351351
assert.Equal(t, data, []byte("test-data"))
352352
}),
353353
Either(
354-
Call("unable to get secret", func(ctx context.Context, m Mock) {
355-
m.K8sClient.EXPECT().Get(ctx, gomock.Any(), gomock.Any()).
354+
Call("unable to get secret", func(ctx context.Context, mck Mock) {
355+
mck.K8sClient.EXPECT().Get(ctx, gomock.Any(), gomock.Any()).
356356
Return(apierrors.NewNotFound(schema.GroupResource{}, "test-data"))
357357
}),
358-
Call("secret is missing data", func(ctx context.Context, m Mock) {
359-
m.K8sClient.EXPECT().Get(ctx, gomock.Any(), gomock.Any()).
358+
Call("secret is missing data", func(ctx context.Context, mck Mock) {
359+
mck.K8sClient.EXPECT().Get(ctx, gomock.Any(), gomock.Any()).
360360
DoAndReturn(func(ctx context.Context, key client.ObjectKey, obj *corev1.Secret, opts ...client.GetOption) error {
361361
*obj = corev1.Secret{}
362362
return nil
363363
})
364364
}),
365-
Result("secret ref missing", func(ctx context.Context, m Mock) {
365+
Result("secret ref missing", func(ctx context.Context, mck Mock) {
366366
mScope := MachineScope{
367-
Client: m.K8sClient,
367+
Client: mck.K8sClient,
368368
Machine: &clusterv1.Machine{},
369369
LinodeMachine: &infrav1alpha1.LinodeMachine{},
370370
}
@@ -374,9 +374,9 @@ func TestMachineScopeGetBootstrapData(t *testing.T) {
374374
assert.Empty(t, data)
375375
}),
376376
),
377-
Result("error", func(ctx context.Context, m Mock) {
377+
Result("error", func(ctx context.Context, mck Mock) {
378378
mScope := MachineScope{
379-
Client: m.K8sClient,
379+
Client: mck.K8sClient,
380380
Machine: &clusterv1.Machine{
381381
Spec: clusterv1.MachineSpec{
382382
Bootstrap: clusterv1.Bootstrap{

controller/linodecluster_controller.go

+1
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ func (r *LinodeClusterReconciler) reconcileDelete(ctx context.Context, logger lo
192192
if clusterScope.LinodeCluster.Spec.Network.NodeBalancerID == nil {
193193
logger.Info("NodeBalancer ID is missing, nothing to do")
194194
controllerutil.RemoveFinalizer(clusterScope.LinodeCluster, infrav1alpha1.GroupVersion.String())
195+
r.Recorder.Event(clusterScope.LinodeCluster, corev1.EventTypeWarning, "NodeBalancerIDMissing", "NodeBalancer ID is missing, nothing to do")
195196

196197
return nil
197198
}

0 commit comments

Comments
 (0)