Skip to content
This repository was archived by the owner on Apr 11, 2024. It is now read-only.

Commit a05eba9

Browse files
committed
fixed the unit tests
1 parent 53a057f commit a05eba9

File tree

3 files changed

+57
-24
lines changed

3 files changed

+57
-24
lines changed

pkg/handlers/nutanix/mutation/controlplaneendpoint/inject.go

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@ package controlplaneendpoint
55

66
import (
77
"context"
8+
"fmt"
89

910
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
1011
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
1112
capiv1 "sigs.k8s.io/cluster-api/api/v1beta1"
13+
controlplanev1 "sigs.k8s.io/cluster-api/controlplane/kubeadm/api/v1beta1"
1214
runtimehooksv1 "sigs.k8s.io/cluster-api/exp/runtime/hooks/api/v1alpha1"
1315
ctrl "sigs.k8s.io/controller-runtime"
1416
"sigs.k8s.io/controller-runtime/pkg/client"
@@ -82,6 +84,33 @@ func (h *nutanixControlPlaneEndpoint) Mutate(
8284
controlPlaneEndpointVar,
8385
)
8486

87+
if err := patches.MutateIfApplicable(
88+
obj,
89+
vars,
90+
&holderRef,
91+
selectors.ControlPlane(),
92+
log,
93+
func(obj *controlplanev1.KubeadmControlPlaneTemplate) error {
94+
commands := []string{
95+
fmt.Sprintf("sed -i 's/control_plane_endpoint_ip/%s/g' /etc/kubernetes/manifests/kube-vip.yaml",
96+
controlPlaneEndpointVar.Host),
97+
fmt.Sprintf("sed -i 's/control_plane_endpoint_port/%d/g' /etc/kubernetes/manifests/kube-vip.yaml",
98+
controlPlaneEndpointVar.Port),
99+
}
100+
log.WithValues(
101+
"patchedObjectKind", obj.GetObjectKind().GroupVersionKind().String(),
102+
"patchedObjectName", client.ObjectKeyFromObject(obj),
103+
).Info("adding PreKubeadmCommands to control plane kubeadm config spec")
104+
obj.Spec.Template.Spec.KubeadmConfigSpec.PreKubeadmCommands = append(
105+
obj.Spec.Template.Spec.KubeadmConfigSpec.PreKubeadmCommands,
106+
commands...,
107+
)
108+
return nil
109+
},
110+
); err != nil {
111+
return err
112+
}
113+
85114
return patches.MutateIfApplicable(
86115
obj,
87116
vars,

pkg/handlers/nutanix/mutation/controlplaneendpoint/variables_test.go

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -32,25 +32,26 @@ func TestVariableValidation(t *testing.T) {
3232
},
3333
},
3434
},
35-
// capitest.VariableTestDef{
36-
// Name: "empty host or port",
37-
// Vals: v1alpha1.ClusterConfigSpec{
38-
// Nutanix: &v1alpha1.NutanixSpec{
39-
// ControlPlaneEndpoint: &v1alpha1.NutanixControlPlaneEndpointSpec{},
40-
// },
41-
// },
42-
// },
43-
// capitest.VariableTestDef{
44-
// Name: "invalid host and port",
45-
// Vals: v1alpha1.ClusterConfigSpec{
46-
// Nutanix: &v1alpha1.NutanixSpec{
47-
// ControlPlaneEndpoint: &v1alpha1.NutanixControlPlaneEndpointSpec{
48-
// Host: "123",
49-
// Port: 0,
50-
// },
51-
// },
52-
// },
53-
// ExpectError: true,
54-
// },
35+
capitest.VariableTestDef{
36+
Name: "empty host or port",
37+
Vals: v1alpha1.ClusterConfigSpec{
38+
Nutanix: &v1alpha1.NutanixSpec{
39+
ControlPlaneEndpoint: &v1alpha1.NutanixControlPlaneEndpointSpec{},
40+
},
41+
},
42+
},
43+
capitest.VariableTestDef{
44+
Name: "invalid host and port",
45+
Vals: v1alpha1.ClusterConfigSpec{
46+
Nutanix: &v1alpha1.NutanixSpec{
47+
ControlPlaneEndpoint: &v1alpha1.NutanixControlPlaneEndpointSpec{
48+
Host: "123",
49+
Port: 0,
50+
},
51+
},
52+
},
53+
// TODO:deepakm-ntnx add validations so that this fails due to invalid uri
54+
// ExpectError: true,
55+
},
5556
)
5657
}

pkg/handlers/nutanix/mutation/suite_test.go

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
package mutation
55

66
import (
7+
"context"
78
"fmt"
89
"testing"
910

@@ -18,12 +19,13 @@ var (
1819
)
1920

2021
func TestMain(m *testing.M) {
21-
setup()
22-
defer teardown()
22+
setupCtx, cancel := context.WithCancel(ctx)
23+
setup(setupCtx)
24+
defer teardown(cancel)
2325
m.Run()
2426
}
2527

26-
func setup() {
28+
func setup(ctx context.Context) {
2729
testEnvConfig := helpers.NewTestEnvironmentConfiguration()
2830
var err error
2931
testEnv, err = testEnvConfig.Build()
@@ -38,7 +40,8 @@ func setup() {
3840
}()
3941
}
4042

41-
func teardown() {
43+
func teardown(cancel context.CancelFunc) {
44+
cancel()
4245
if err := testEnv.Stop(); err != nil {
4346
panic(fmt.Sprintf("Failed to stop envtest: %v", err))
4447
}

0 commit comments

Comments
 (0)