Skip to content

Commit 0d2f5dc

Browse files
committed
FIx unit tests
Signed-off-by: Borja Clemente <bclement@redhat.com>
1 parent 5169bd4 commit 0d2f5dc

File tree

15 files changed

+920
-560
lines changed

15 files changed

+920
-560
lines changed

api/v1beta1/conversion_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ package v1beta1
1919
import (
2020
"testing"
2121

22-
fuzz "github.com/google/gofuzz"
2322
. "github.com/onsi/gomega"
2423
"k8s.io/apimachinery/pkg/api/apitesting/fuzzer"
2524
"k8s.io/apimachinery/pkg/runtime"
2625
runtimeserializer "k8s.io/apimachinery/pkg/runtime/serializer"
26+
"sigs.k8s.io/randfill"
2727

2828
"sigs.k8s.io/cluster-api-provider-aws/v2/api/v1beta2"
2929
utilconversion "sigs.k8s.io/cluster-api/util/conversion"
@@ -36,8 +36,8 @@ func fuzzFuncs(_ runtimeserializer.CodecFactory) []interface{} {
3636
}
3737
}
3838

39-
func AWSMachineFuzzer(obj *AWSMachine, c fuzz.Continue) {
40-
c.FuzzNoCustom(obj)
39+
func AWSMachineFuzzer(obj *AWSMachine, c randfill.Continue) {
40+
c.FillNoCustom(obj)
4141

4242
// AWSMachine.Spec.FailureDomain, AWSMachine.Spec.Subnet.ARN and AWSMachine.Spec.AdditionalSecurityGroups.ARN has been removed in v1beta2, so setting it to nil in order to avoid v1beta1 --> v1beta2 --> v1beta1 round trip errors.
4343
if obj.Spec.Subnet != nil {
@@ -52,8 +52,8 @@ func AWSMachineFuzzer(obj *AWSMachine, c fuzz.Continue) {
5252
obj.Spec.FailureDomain = nil
5353
}
5454

55-
func AWSMachineTemplateFuzzer(obj *AWSMachineTemplate, c fuzz.Continue) {
56-
c.FuzzNoCustom(obj)
55+
func AWSMachineTemplateFuzzer(obj *AWSMachineTemplate, c randfill.Continue) {
56+
c.FillNoCustom(obj)
5757

5858
// AWSMachineTemplate.Spec.Template.Spec.FailureDomain, AWSMachineTemplate.Spec.Template.Spec.Subnet.ARN and AWSMachineTemplate.Spec.Template.Spec.AdditionalSecurityGroups.ARN has been removed in v1beta2, so setting it to nil in order to avoid v1beta1 --> v1beta2 --> v1beta round trip errors.
5959
if obj.Spec.Template.Spec.Subnet != nil {

cmd/clusterawsadm/gc/gc.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222
"fmt"
2323
"strings"
2424

25+
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
2526
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
2627
"k8s.io/apimachinery/pkg/runtime"
2728
_ "k8s.io/client-go/plugin/pkg/client/auth/exec" // import all auth plugins
@@ -45,6 +46,7 @@ func init() {
4546
_ = clusterv1.AddToScheme(scheme)
4647
_ = infrav1.AddToScheme(scheme)
4748
_ = ekscontrolplanev1.AddToScheme(scheme)
49+
_ = apiextensionsv1.AddToScheme(scheme)
4850
}
4951

5052
// CmdProcessor handles the garbage collection commands.

cmd/clusterawsadm/gc/gc_test.go

Lines changed: 63 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222
"testing"
2323

2424
. "github.com/onsi/gomega"
25+
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
2526
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2627
"k8s.io/apimachinery/pkg/runtime"
2728
"sigs.k8s.io/controller-runtime/pkg/client"
@@ -288,7 +289,68 @@ func TestConfigureGC(t *testing.T) {
288289
}
289290

290291
func newFakeClient(scheme *runtime.Scheme, objs ...client.Object) client.Client {
291-
return fake.NewClientBuilder().WithScheme(scheme).WithObjects(objs...).Build()
292+
// Add CRDs to the fake client so external.GetObjectFromContractVersionedRef can find them
293+
crds := []client.Object{
294+
&apiextensionsv1.CustomResourceDefinition{
295+
ObjectMeta: metav1.ObjectMeta{
296+
Name: "awsmanagedcontrolplanes.controlplane.cluster.x-k8s.io",
297+
Labels: map[string]string{
298+
"cluster.x-k8s.io/v1beta2": "v1beta2",
299+
"cluster.x-k8s.io/v1beta1": "v1beta2",
300+
},
301+
},
302+
Spec: apiextensionsv1.CustomResourceDefinitionSpec{
303+
Group: ekscontrolplanev1.GroupVersion.Group,
304+
Names: apiextensionsv1.CustomResourceDefinitionNames{
305+
Kind: "AWSManagedControlPlane",
306+
Plural: "awsmanagedcontrolplanes",
307+
},
308+
Versions: []apiextensionsv1.CustomResourceDefinitionVersion{
309+
{
310+
Name: "v1beta2",
311+
Served: true,
312+
Storage: true,
313+
Schema: &apiextensionsv1.CustomResourceValidation{
314+
OpenAPIV3Schema: &apiextensionsv1.JSONSchemaProps{
315+
Type: "object",
316+
},
317+
},
318+
},
319+
},
320+
},
321+
},
322+
&apiextensionsv1.CustomResourceDefinition{
323+
ObjectMeta: metav1.ObjectMeta{
324+
Name: "awsclusters.infrastructure.cluster.x-k8s.io",
325+
Labels: map[string]string{
326+
"cluster.x-k8s.io/v1beta2": "v1beta2",
327+
"cluster.x-k8s.io/v1beta1": "v1beta2",
328+
},
329+
},
330+
Spec: apiextensionsv1.CustomResourceDefinitionSpec{
331+
Group: infrav1.GroupVersion.Group,
332+
Names: apiextensionsv1.CustomResourceDefinitionNames{
333+
Kind: "AWSCluster",
334+
Plural: "awsclusters",
335+
},
336+
Versions: []apiextensionsv1.CustomResourceDefinitionVersion{
337+
{
338+
Name: "v1beta2",
339+
Served: true,
340+
Storage: true,
341+
Schema: &apiextensionsv1.CustomResourceValidation{
342+
OpenAPIV3Schema: &apiextensionsv1.JSONSchemaProps{
343+
Type: "object",
344+
},
345+
},
346+
},
347+
},
348+
},
349+
},
350+
}
351+
352+
allObjs := append(crds, objs...)
353+
return fake.NewClientBuilder().WithScheme(scheme).WithObjects(allObjs...).Build()
292354
}
293355

294356
func newManagedCluster(name string, excludeInfra bool) []client.Object {

controllers/awscluster_controller_unit_test.go

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,19 @@ func TestAWSClusterReconcilerReconcile(t *testing.T) {
6868
expectError: false,
6969
},
7070
{
71-
name: "Should not Reconcile if cluster is paused",
72-
awsCluster: &infrav1.AWSCluster{ObjectMeta: metav1.ObjectMeta{GenerateName: "aws-test-", Annotations: map[string]string{clusterv1.PausedAnnotation: ""}}},
73-
ownerCluster: &clusterv1.Cluster{ObjectMeta: metav1.ObjectMeta{GenerateName: "capi-test-"}},
74-
expectError: false,
71+
name: "Should not Reconcile if cluster is paused",
72+
awsCluster: &infrav1.AWSCluster{ObjectMeta: metav1.ObjectMeta{GenerateName: "aws-test-", Annotations: map[string]string{clusterv1.PausedAnnotation: ""}}},
73+
ownerCluster: &clusterv1.Cluster{
74+
ObjectMeta: metav1.ObjectMeta{GenerateName: "capi-test-"},
75+
Spec: clusterv1.ClusterSpec{
76+
InfrastructureRef: clusterv1.ContractVersionedObjectReference{
77+
Kind: "AWSCluster",
78+
Name: "aws-cluster",
79+
APIGroup: infrav1.GroupVersion.Group,
80+
},
81+
},
82+
},
83+
expectError: false,
7584
},
7685
{
7786
name: "Should Reconcile successfully if no AWSCluster found",

0 commit comments

Comments
 (0)