Skip to content

Commit fe5af44

Browse files
author
Joshua Reed
committed
Updated webhook tests to use/reuse dummy vars.
1 parent 2378498 commit fe5af44

File tree

3 files changed

+63
-38
lines changed

3 files changed

+63
-38
lines changed

api/v1beta1/cloudstackmachinetemplate_webhook_test.go

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,27 +19,22 @@ package v1beta1_test
1919
import (
2020
"context"
2121

22+
"github.com/aws/cluster-api-provider-cloudstack/test/dummies"
2223
. "github.com/onsi/ginkgo"
2324
. "github.com/onsi/gomega"
2425
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2526
)
2627

2728
var _ = Describe("CloudStackMachineTemplate webhook", func() {
28-
const (
29-
apiVersion = "infrastructure.cluster.x-k8s.io/v1beta1"
30-
identityReferenceKind = "ConfigMap"
31-
identityReferenceName = "IdentitySecret"
32-
namespace = "default"
33-
templateKind = "CloudStackMachineTemplate"
34-
templateName = "test-machinetemplate"
35-
templateResourceName = "test-machinetemplateresource"
36-
template = "Template"
37-
offering = "Offering"
38-
)
29+
var ctx context.Context
30+
31+
BeforeEach(func() { // Reset test vars to initial state.
32+
dummies.SetDummyVars()
33+
ctx = context.Background()
34+
})
3935

4036
Context("When creating a CloudStackMachineTemplate with all validated attributes", func() {
4137
It("Should succeed", func() {
42-
ctx := context.Background()
4338
cloudStackMachineTemplate := &CloudStackMachineTemplate{
4439
TypeMeta: metav1.TypeMeta{
4540
APIVersion: apiVersion,

api/v1beta1/webhook_suite_test.go

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import (
3030

3131
admissionv1beta1 "k8s.io/api/admission/v1beta1"
3232
//+kubebuilder:scaffold:imports
33+
infrav1 "github.com/aws/cluster-api-provider-cloudstack/api/v1beta1"
3334
"k8s.io/apimachinery/pkg/runtime"
3435
ctrl "sigs.k8s.io/controller-runtime"
3536
"sigs.k8s.io/controller-runtime/pkg/client"
@@ -70,7 +71,7 @@ var _ = BeforeSuite(func() {
7071
Expect(cfg).NotTo(BeNil())
7172

7273
scheme := runtime.NewScheme()
73-
err = AddToScheme(scheme)
74+
err = infrav1.AddToScheme(scheme)
7475
Expect(err).NotTo(HaveOccurred())
7576

7677
err = admissionv1beta1.AddToScheme(scheme)
@@ -100,14 +101,9 @@ var _ = BeforeSuite(func() {
100101
})
101102
Expect(err).NotTo(HaveOccurred())
102103

103-
err = (&CloudStackCluster{}).SetupWebhookWithManager(mgr)
104-
Expect(err).NotTo(HaveOccurred())
105-
106-
err = (&CloudStackMachine{}).SetupWebhookWithManager(mgr)
107-
Expect(err).NotTo(HaveOccurred())
108-
109-
err = (&CloudStackMachineTemplate{}).SetupWebhookWithManager(mgr)
110-
Expect(err).NotTo(HaveOccurred())
104+
Ω((&infrav1.CloudStackCluster{}).SetupWebhookWithManager(mgr)).Should(Succeed())
105+
Ω((&infrav1.CloudStackMachine{}).SetupWebhookWithManager(mgr)).Should(Succeed())
106+
Ω((&infrav1.CloudStackMachineTemplate{}).SetupWebhookWithManager(mgr)).Should(Succeed())
111107

112108
//+kubebuilder:scaffold:webhook
113109

test/dummies/vars.go

Lines changed: 51 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,24 @@ import (
1010
)
1111

1212
var ( // Declare exported dummy vars.
13-
AffinityGroup *cloud.AffinityGroup
14-
CSCluster *infrav1.CloudStackCluster
15-
CAPIMachine *capiv1.Machine
16-
CSMachine1 *infrav1.CloudStackMachine
17-
CAPICluster *clusterv1.Cluster
18-
Zone1 infrav1.Zone
19-
Zone2 infrav1.Zone
20-
Net1 infrav1.Network
21-
Net2 infrav1.Network
22-
DomainId string
23-
Tags map[string]string
24-
Tag1Key string
25-
Tag1Val string
26-
CSApiVersion string
27-
CSClusterKind string
28-
CSClusterName string
29-
CSlusterNamespace string
13+
AffinityGroup *cloud.AffinityGroup
14+
CSCluster *infrav1.CloudStackCluster
15+
CAPIMachine *capiv1.Machine
16+
CSMachine1 *infrav1.CloudStackMachine
17+
CAPICluster *clusterv1.Cluster
18+
CSMachineTemplate1 *infrav1.CloudStackMachineTemplate
19+
Zone1 infrav1.Zone
20+
Zone2 infrav1.Zone
21+
Net1 infrav1.Network
22+
Net2 infrav1.Network
23+
DomainId string
24+
Tags map[string]string
25+
Tag1Key string
26+
Tag1Val string
27+
CSApiVersion string
28+
CSClusterKind string
29+
CSClusterName string
30+
CSlusterNamespace string
3031
)
3132

3233
// clusterId = "0"
@@ -40,6 +41,39 @@ func SetDummyVars() {
4041
SetDummyTagVars()
4142
}
4243

44+
// SetDummyClusterSpecVars resets the values in each of the exported CloudStackMachines related dummy variables.
45+
func SetDummyCSMachineTemplateVars() {
46+
CSMachineTemplate1 = &infrav1.CloudStackMachineTemplate{
47+
TypeMeta: metav1.TypeMeta{
48+
APIVersion: apiVersion,
49+
Kind: templateKind,
50+
},
51+
ObjectMeta: metav1.ObjectMeta{
52+
Name: "test-machinetemplate-2",
53+
Namespace: namespace,
54+
},
55+
Spec: CloudStackMachineTemplateSpec{
56+
Spec: CloudStackMachineTemplateResource{
57+
ObjectMeta: metav1.ObjectMeta{
58+
Name: templateResourceName,
59+
Namespace: namespace,
60+
},
61+
Spec: CloudStackMachineSpec{
62+
IdentityRef: &CloudStackIdentityReference{
63+
Kind: defaultIdentityRefKind,
64+
Name: identityReferenceName,
65+
},
66+
Template: template,
67+
Offering: offering,
68+
Details: map[string]string{
69+
"memoryOvercommitRatio": "1.2",
70+
},
71+
},
72+
},
73+
},
74+
}
75+
}
76+
4377
// SetDummyClusterSpecVars resets the values in each of the exported CloudStackMachines related dummy variables.
4478
func SetDummyCSMachineVars() {
4579
CSMachine1 = &infrav1.CloudStackMachine{

0 commit comments

Comments
 (0)