From dd578430e80f9bafe3721567e35460b27a4c075e Mon Sep 17 00:00:00 2001 From: Ole Markus With Date: Tue, 16 Aug 2022 09:19:46 +0200 Subject: [PATCH] Create a better image validation test --- .../kops/validation/instancegroup_test.go | 27 ++++++++++++++----- .../populate_instancegroup_spec_test.go | 10 ------- 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/pkg/apis/kops/validation/instancegroup_test.go b/pkg/apis/kops/validation/instancegroup_test.go index 84b3e0bb3f..d45e452d8b 100644 --- a/pkg/apis/kops/validation/instancegroup_test.go +++ b/pkg/apis/kops/validation/instancegroup_test.go @@ -385,7 +385,7 @@ func TestIGUpdatePolicy(t *testing.T) { func TestValidInstanceGroup(t *testing.T) { grid := []struct { IG *kops.InstanceGroup - ExpectedErrors int + ExpectedErrors []string Description string }{ { @@ -401,7 +401,7 @@ func TestValidInstanceGroup(t *testing.T) { Image: "my-image", }, }, - ExpectedErrors: 0, + ExpectedErrors: []string{}, Description: "Valid master instance group failed to validate", }, { @@ -417,7 +417,7 @@ func TestValidInstanceGroup(t *testing.T) { Image: "my-image", }, }, - ExpectedErrors: 0, + ExpectedErrors: []string{}, Description: "Valid API Server instance group failed to validate", }, { @@ -433,7 +433,7 @@ func TestValidInstanceGroup(t *testing.T) { Image: "my-image", }, }, - ExpectedErrors: 0, + ExpectedErrors: []string{}, Description: "Valid node instance group failed to validate", }, { @@ -449,13 +449,28 @@ func TestValidInstanceGroup(t *testing.T) { Image: "my-image", }, }, - ExpectedErrors: 0, + ExpectedErrors: []string{}, Description: "Valid bastion instance group failed to validate", }, + { + IG: &kops.InstanceGroup{ + ObjectMeta: v1.ObjectMeta{ + Name: "eu-central-1a", + }, + Spec: kops.InstanceGroupSpec{ + Role: kops.InstanceGroupRoleBastion, + Subnets: []string{"eu-central-1a"}, + MaxSize: fi.Int32(1), + MinSize: fi.Int32(1), + }, + }, + ExpectedErrors: []string{"Forbidden::spec.image"}, + Description: "Valid instance group must have image set", + }, } for _, g := range grid { errList := ValidateInstanceGroup(g.IG, nil, true) - testErrors(t, g.Description, errList, []string{}) + testErrors(t, g.Description, errList, g.ExpectedErrors) } } diff --git a/upup/pkg/fi/cloudup/populate_instancegroup_spec_test.go b/upup/pkg/fi/cloudup/populate_instancegroup_spec_test.go index 7ca1bc946c..a713b19dd9 100644 --- a/upup/pkg/fi/cloudup/populate_instancegroup_spec_test.go +++ b/upup/pkg/fi/cloudup/populate_instancegroup_spec_test.go @@ -70,16 +70,6 @@ func TestPopulateInstanceGroup_Role_Required(t *testing.T) { expectErrorFromPopulateInstanceGroup(t, cluster, g, channel, "spec.role") } -func TestPopulateInstanceGroup_Image_Required(t *testing.T) { - _, cluster := buildMinimalCluster() - g := buildMinimalNodeInstanceGroup() - g.Spec.Image = "" - - channel := &kopsapi.Channel{} - - expectErrorFromPopulateInstanceGroup(t, cluster, g, channel, "unable to determine default image for InstanceGroup nodes") -} - func TestPopulateInstanceGroup_AddTaintsCollision(t *testing.T) { _, cluster := buildMinimalCluster() input := buildMinimalNodeInstanceGroup()