Skip to content

Commit aede2aa

Browse files
committed
fix tests
Signed-off-by: Tamal Saha <[email protected]>
1 parent f4ab1fb commit aede2aa

31 files changed

+117
-74
lines changed

api/v1beta2/awscluster_webhook.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,7 @@ func (*awsClusterWebhook) Default(_ context.Context, obj runtime.Object) error {
254254
return nil
255255
}
256256

257+
// Default satisfies the defaulting webhook interface.
257258
func (r *AWSCluster) Default() {
258259
SetObjectDefaults_AWSCluster(r)
259260
}

api/v1beta2/awscluster_webhook_test.go

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,19 @@ import (
2626
"github.com/aws/aws-sdk-go/aws"
2727
. "github.com/onsi/gomega"
2828
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
29+
"k8s.io/apimachinery/pkg/runtime"
2930
utilfeature "k8s.io/component-base/featuregate/testing"
3031
"k8s.io/utils/ptr"
3132
"sigs.k8s.io/controller-runtime/pkg/client"
3233

3334
"sigs.k8s.io/cluster-api-provider-aws/v2/feature"
34-
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
3535
"sigs.k8s.io/cluster-api-provider-aws/v2/util/defaulting"
36+
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
3637
)
3738

3839
func TestAWSClusterDefault(t *testing.T) {
3940
cluster := &AWSCluster{ObjectMeta: metav1.ObjectMeta{Name: "foo", Namespace: "default"}}
40-
t.Run("for AWSCluster", defaultValidateTest(cluster, true))
41+
t.Run("for AWSCluster", defaultValidateTest(context.Background(), cluster, &awsClusterWebhook{}, true))
4142
cluster.Default()
4243
g := NewWithT(t)
4344
g.Expect(cluster.Spec.IdentityRef).NotTo(BeNil())
@@ -1494,38 +1495,38 @@ func TestAWSClusterDefaultAllowedCIDRBlocks(t *testing.T) {
14941495
// update and delete.
14951496
// NOTE: This is a copy of the DefaultValidateTest function in the cluster-api
14961497
// package, but it has been modified to allow warnings to be returned.
1497-
func defaultValidateTest(object defaulting.DefaultingValidator, allowWarnings bool) func(*testing.T) {
1498+
func defaultValidateTest(ctx context.Context, object runtime.Object, webhook defaulting.DefaulterValidator, allowWarnings bool) func(*testing.T) {
14981499
return func(t *testing.T) {
14991500
t.Helper()
15001501

1501-
createCopy := object.DeepCopyObject().(defaulting.DefaultingValidator)
1502-
updateCopy := object.DeepCopyObject().(defaulting.DefaultingValidator)
1503-
deleteCopy := object.DeepCopyObject().(defaulting.DefaultingValidator)
1504-
defaultingUpdateCopy := updateCopy.DeepCopyObject().(defaulting.DefaultingValidator)
1502+
createCopy := object.DeepCopyObject()
1503+
updateCopy := object.DeepCopyObject()
1504+
deleteCopy := object.DeepCopyObject()
1505+
defaultingUpdateCopy := updateCopy.DeepCopyObject()
15051506

15061507
t.Run("validate-on-create", func(t *testing.T) {
15071508
g := NewWithT(t)
1508-
createCopy.Default()
1509-
warnings, err := createCopy.ValidateCreate()
1509+
g.Expect(webhook.Default(ctx, createCopy)).To(Succeed())
1510+
warnings, err := webhook.ValidateCreate(ctx, createCopy)
15101511
g.Expect(err).ToNot(HaveOccurred())
15111512
if !allowWarnings {
15121513
g.Expect(warnings).To(BeEmpty())
15131514
}
15141515
})
15151516
t.Run("validate-on-update", func(t *testing.T) {
15161517
g := NewWithT(t)
1517-
defaultingUpdateCopy.Default()
1518-
updateCopy.Default()
1519-
warnings, err := defaultingUpdateCopy.ValidateUpdate(updateCopy)
1518+
g.Expect(webhook.Default(ctx, defaultingUpdateCopy)).To(Succeed())
1519+
g.Expect(webhook.Default(ctx, updateCopy)).To(Succeed())
1520+
warnings, err := webhook.ValidateUpdate(ctx, updateCopy, defaultingUpdateCopy)
15201521
g.Expect(err).ToNot(HaveOccurred())
15211522
if !allowWarnings {
15221523
g.Expect(warnings).To(BeEmpty())
15231524
}
15241525
})
15251526
t.Run("validate-on-delete", func(t *testing.T) {
15261527
g := NewWithT(t)
1527-
deleteCopy.Default()
1528-
warnings, err := deleteCopy.ValidateDelete()
1528+
g.Expect(webhook.Default(ctx, deleteCopy)).To(Succeed())
1529+
warnings, err := webhook.ValidateDelete(ctx, deleteCopy)
15291530
g.Expect(err).ToNot(HaveOccurred())
15301531
if !allowWarnings {
15311532
g.Expect(warnings).To(BeEmpty())

api/v1beta2/awsclusterstaticidentity_webhook.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import (
3333
var _ = ctrl.Log.WithName("awsclusterstaticidentity-resource")
3434

3535
func (r *AWSClusterStaticIdentity) SetupWebhookWithManager(mgr ctrl.Manager) error {
36-
w := new(awsClusterRoleIdentityWebhook)
36+
w := new(awsClusterStaticIdentityWebhook)
3737
return ctrl.NewWebhookManagedBy(mgr).
3838
For(r).
3939
WithValidator(w).

api/v1beta2/awsclustertemplate_webhook.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package v1beta2
1919
import (
2020
"context"
2121
"fmt"
22+
2223
"github.com/google/go-cmp/cmp"
2324
apierrors "k8s.io/apimachinery/pkg/api/errors"
2425
"k8s.io/apimachinery/pkg/runtime"

api/v1beta2/awsmachine_webhook_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,10 @@ import (
3333

3434
func TestMachineDefault(t *testing.T) {
3535
machine := &AWSMachine{ObjectMeta: metav1.ObjectMeta{Name: "foo", Namespace: "default"}}
36-
t.Run("for AWSMachine", utildefaulting.DefaultValidateTest(machine))
37-
machine.Default()
36+
t.Run("for AWSMachine", utildefaulting.DefaultValidateTest(context.Background(), machine, &awsMachineWebhook{}))
3837
g := NewWithT(t)
38+
err := (&awsMachineWebhook{}).Default(context.Background(), machine)
39+
g.Expect(err).NotTo(HaveOccurred())
3940
g.Expect(machine.Spec.CloudInit.SecureSecretsBackend).To(Equal(SecretBackendSecretsManager))
4041
}
4142

api/v1beta2/awsmachinetemplate_webhook.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,11 @@ import (
3232
"sigs.k8s.io/cluster-api/util/topology"
3333
)
3434

35-
func (r *AWSMachineTemplateWebhook) SetupWebhookWithManager(mgr ctrl.Manager) error {
35+
func (r *AWSMachineTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error {
36+
w := new(AWSMachineTemplateWebhook)
3637
return ctrl.NewWebhookManagedBy(mgr).
3738
For(&AWSMachineTemplate{}).
38-
WithValidator(r).
39+
WithValidator(w).
3940
Complete()
4041
}
4142

api/v1beta2/suite_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ func setup() {
6464
if err := (&AWSMachine{}).SetupWebhookWithManager(testEnv); err != nil {
6565
panic(fmt.Sprintf("Unable to setup AWSMachine webhook: %v", err))
6666
}
67-
if err := (&AWSMachineTemplateWebhook{}).SetupWebhookWithManager(testEnv); err != nil {
67+
if err := (&AWSMachineTemplate{}).SetupWebhookWithManager(testEnv); err != nil {
6868
panic(fmt.Sprintf("Unable to setup AWSMachineTemplate webhook: %v", err))
6969
}
7070
if err := (&AWSClusterControllerIdentity{}).SetupWebhookWithManager(testEnv); err != nil {

bootstrap/eks/api/v1beta2/eksconfig_webhook.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package v1beta2
1818

1919
import (
2020
"context"
21+
2122
"k8s.io/apimachinery/pkg/runtime"
2223
ctrl "sigs.k8s.io/controller-runtime"
2324
"sigs.k8s.io/controller-runtime/pkg/webhook"

bootstrap/eks/api/v1beta2/eksconfigtemplate_webhook.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package v1beta2
1818

1919
import (
2020
"context"
21+
2122
"k8s.io/apimachinery/pkg/runtime"
2223
ctrl "sigs.k8s.io/controller-runtime"
2324
"sigs.k8s.io/controller-runtime/pkg/webhook"

controllers/suite_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func setup() {
6262
if err := (&infrav1.AWSMachine{}).SetupWebhookWithManager(testEnv); err != nil {
6363
panic(fmt.Sprintf("Unable to setup AWSMachine webhook: %v", err))
6464
}
65-
if err := (&infrav1.AWSMachineTemplateWebhook{}).SetupWebhookWithManager(testEnv); err != nil {
65+
if err := (&infrav1.AWSMachineTemplate{}).SetupWebhookWithManager(testEnv); err != nil {
6666
panic(fmt.Sprintf("Unable to setup AWSMachineTemplate webhook: %v", err))
6767
}
6868
if err := (&infrav1.AWSClusterControllerIdentity{}).SetupWebhookWithManager(testEnv); err != nil {

controlplane/eks/api/v1beta2/awsmanagedcontrolplane_webhook_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ func TestDefaultingWebhook(t *testing.T) {
145145
Namespace: tc.resourceNS,
146146
},
147147
}
148-
t.Run("for AWSManagedMachinePool", utildefaulting.DefaultValidateTest(mcp))
148+
t.Run("for AWSManagedMachinePool", utildefaulting.DefaultValidateTest(context.Background(), mcp, &awsManagedControlPlaneWebhook{}))
149149
mcp.Spec = tc.spec
150150

151151
g.Expect(testEnv.Create(ctx, mcp)).To(Succeed())
@@ -807,7 +807,8 @@ func TestValidatingWebhookCreateSecondaryCidr(t *testing.T) {
807807
if tc.cidrRange != "" {
808808
mcp.Spec.SecondaryCidrBlock = aws.String(tc.cidrRange)
809809
}
810-
warn, err := mcp.ValidateCreate()
810+
811+
warn, err := (&awsManagedControlPlaneWebhook{}).ValidateCreate(context.Background(), mcp)
811812

812813
if tc.expectError {
813814
g.Expect(err).ToNot(BeNil())
@@ -880,7 +881,7 @@ func TestValidatingWebhookUpdateSecondaryCidr(t *testing.T) {
880881
},
881882
}
882883

883-
warn, err := newMCP.ValidateUpdate(oldMCP)
884+
warn, err := (&awsManagedControlPlaneWebhook{}).ValidateUpdate(context.Background(), oldMCP, newMCP)
884885

885886
if tc.expectError {
886887
g.Expect(err).ToNot(BeNil())

exp/api/v1beta2/awsfargateprofile_webhook_test.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ limitations under the License.
1717
package v1beta2
1818

1919
import (
20+
"context"
2021
"strings"
2122
"testing"
2223

@@ -25,8 +26,8 @@ import (
2526

2627
infrav1 "sigs.k8s.io/cluster-api-provider-aws/v2/api/v1beta2"
2728
"sigs.k8s.io/cluster-api-provider-aws/v2/pkg/eks"
28-
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
2929
utildefaulting "sigs.k8s.io/cluster-api-provider-aws/v2/util/defaulting"
30+
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
3031
)
3132

3233
func TestAWSFargateProfileDefault(t *testing.T) {
@@ -35,9 +36,10 @@ func TestAWSFargateProfileDefault(t *testing.T) {
3536
ClusterName: "clustername",
3637
},
3738
}
38-
t.Run("for AWSFargateProfile", utildefaulting.DefaultValidateTest(fargate))
39-
fargate.Default()
39+
t.Run("for AWSFargateProfile", utildefaulting.DefaultValidateTest(context.Background(), fargate, &awsFargateProfileWebhook{}))
4040
g := NewWithT(t)
41+
err := (&awsFargateProfileWebhook{}).Default(context.Background(), fargate)
42+
g.Expect(err).NotTo(HaveOccurred())
4143
g.Expect(fargate.GetLabels()[clusterv1.ClusterNameLabel]).To(BeEquivalentTo(fargate.Spec.ClusterName))
4244
name, err := eks.GenerateEKSName(fargate.Name, fargate.Namespace, maxProfileNameLength)
4345
g.Expect(err).NotTo(HaveOccurred())
@@ -118,7 +120,7 @@ func TestAWSFargateProfileValidateRoleNameUpdate(t *testing.T) {
118120

119121
for _, tt := range tests {
120122
t.Run(tt.name, func(t *testing.T) {
121-
warn, err := tt.fargateProfile.ValidateUpdate(tt.before.DeepCopy())
123+
warn, err := (&awsFargateProfileWebhook{}).ValidateUpdate(context.Background(), tt.before.DeepCopy(), tt.fargateProfile)
122124
if tt.expectErr {
123125
g.Expect(err).To(HaveOccurred())
124126
} else {
@@ -180,7 +182,7 @@ func TestAWSFargateProfileValidateCreate(t *testing.T) {
180182
}
181183
for _, tt := range tests {
182184
t.Run(tt.name, func(t *testing.T) {
183-
warn, err := tt.profile.ValidateCreate()
185+
warn, err := (&awsFargateProfileWebhook{}).ValidateCreate(context.Background(), tt.profile)
184186
if tt.wantErr {
185187
g.Expect(err).To(HaveOccurred())
186188
} else {

exp/api/v1beta2/awsmachinepool_webhook.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,11 @@ var log = ctrl.Log.WithName("awsmachinepool-resource")
3636

3737
// SetupWebhookWithManager will setup the webhooks for the AWSMachinePool.
3838
func (r *AWSMachinePool) SetupWebhookWithManager(mgr ctrl.Manager) error {
39+
w := new(awsMachinePoolWebhook)
3940
return ctrl.NewWebhookManagedBy(mgr).
4041
For(r).
42+
WithValidator(w).
43+
WithDefaulter(w).
4144
Complete()
4245
}
4346

exp/api/v1beta2/awsmachinepool_webhook_test.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ limitations under the License.
1717
package v1beta2
1818

1919
import (
20+
"context"
2021
"strings"
2122
"testing"
2223
"time"
@@ -32,9 +33,10 @@ import (
3233

3334
func TestAWSMachinePoolDefault(t *testing.T) {
3435
m := &AWSMachinePool{ObjectMeta: metav1.ObjectMeta{Name: "foo", Namespace: "default"}}
35-
t.Run("for AWSCluster", utildefaulting.DefaultValidateTest(m))
36-
m.Default()
36+
t.Run("for AWSCluster", utildefaulting.DefaultValidateTest(context.Background(), m, &awsMachinePoolWebhook{}))
37+
err := (&awsMachinePoolWebhook{}).Default(context.Background(), m)
3738
g := NewWithT(t)
39+
g.Expect(err).NotTo(HaveOccurred())
3840
g.Expect(m.Spec.DefaultCoolDown.Duration).To(BeNumerically(">=", 0))
3941
}
4042

@@ -352,7 +354,7 @@ func TestAWSMachinePoolValidateCreate(t *testing.T) {
352354
}
353355
for _, tt := range tests {
354356
t.Run(tt.name, func(t *testing.T) {
355-
warn, err := tt.pool.ValidateCreate()
357+
warn, err := (&awsMachinePoolWebhook{}).ValidateCreate(context.Background(), tt.pool)
356358
if tt.wantErrToContain != nil {
357359
g.Expect(err).ToNot(BeNil())
358360
if err != nil {
@@ -510,7 +512,7 @@ func TestAWSMachinePoolValidateUpdate(t *testing.T) {
510512
}
511513
for _, tt := range tests {
512514
t.Run(tt.name, func(t *testing.T) {
513-
warn, err := tt.new.ValidateUpdate(tt.old.DeepCopy())
515+
warn, err := (&awsMachinePoolWebhook{}).ValidateUpdate(context.Background(), tt.old.DeepCopy(), tt.new)
514516
if tt.wantErrToContain != nil {
515517
g.Expect(err).ToNot(BeNil())
516518
if err != nil {

exp/api/v1beta2/awsmanagedmachinepool_webhook_test.go

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ limitations under the License.
1717
package v1beta2
1818

1919
import (
20+
"context"
2021
"strings"
2122
"testing"
2223

@@ -41,9 +42,13 @@ var (
4142
)
4243

4344
func TestAWSManagedMachinePoolDefault(t *testing.T) {
45+
g := NewWithT(t)
46+
4447
fargate := &AWSManagedMachinePool{ObjectMeta: metav1.ObjectMeta{Name: "foo", Namespace: "default"}}
45-
t.Run("for AWSManagedMachinePool", utildefaulting.DefaultValidateTest(fargate))
46-
fargate.Default()
48+
t.Run("for AWSManagedMachinePool", utildefaulting.DefaultValidateTest(context.Background(), fargate, &awsManagedMachinePoolWebhook{}))
49+
50+
err := (&awsManagedMachinePoolWebhook{}).Default(context.Background(), fargate)
51+
g.Expect(err).NotTo(HaveOccurred())
4752
}
4853

4954
func TestAWSManagedMachinePoolValidateCreate(t *testing.T) {
@@ -153,7 +158,7 @@ func TestAWSManagedMachinePoolValidateCreate(t *testing.T) {
153158
}
154159
for _, tt := range tests {
155160
t.Run(tt.name, func(t *testing.T) {
156-
warn, err := tt.pool.ValidateCreate()
161+
warn, err := (&awsManagedMachinePoolWebhook{}).ValidateCreate(context.Background(), tt.pool)
157162
if tt.wantErr {
158163
g.Expect(err).To(HaveOccurred())
159164
} else {
@@ -691,7 +696,7 @@ func TestAWSManagedMachinePoolValidateUpdate(t *testing.T) {
691696
}
692697
for _, tt := range tests {
693698
t.Run(tt.name, func(t *testing.T) {
694-
warn, err := tt.new.ValidateUpdate(tt.old.DeepCopy())
699+
warn, err := (&awsManagedMachinePoolWebhook{}).ValidateUpdate(context.Background(), tt.old.DeepCopy(), tt.new)
695700
if tt.wantErr {
696701
g.Expect(err).To(HaveOccurred())
697702
} else {

0 commit comments

Comments
 (0)