Skip to content

Commit f40081d

Browse files
committed
Clean up repetition in transformer tests
Signed-off-by: Nolan Brubaker <[email protected]>
1 parent f6620e8 commit f40081d

File tree

2 files changed

+40
-21
lines changed

2 files changed

+40
-21
lines changed

pkg/cloud/azure/azure_test.go

Lines changed: 30 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,25 @@ func makeInfrastructureResource(platform configv1.PlatformType, cloudName config
125125
return &cfg
126126
}
127127

128+
// makeExpectedConfig sets some repetitive default fields for tests, assuming that they are not already set.
129+
func makeExpectedConfig(config *azure.Config, cloud configv1.AzureCloudEnvironment) azure.Config {
130+
if config.ClusterServiceLoadBalancerHealthProbeMode == "" {
131+
config.ClusterServiceLoadBalancerHealthProbeMode = azureconsts.ClusterServiceLoadBalancerHealthProbeModeShared
132+
}
133+
134+
if config.VMType == "" {
135+
config.VMType = "standard"
136+
}
137+
138+
config.AzureAuthConfig = ratelimitconfig.AzureAuthConfig{
139+
ARMClientConfig: azclient.ARMClientConfig{
140+
Cloud: string(cloud),
141+
},
142+
}
143+
144+
return *config
145+
}
146+
128147
// This test is a little complicated with all the JSON marshalling and
129148
// unmarshalling, but it is necessary due to the nature of how this data
130149
// is stored in Kuberenetes. The ConfigMaps containing the cloud config
@@ -148,45 +167,45 @@ func TestCloudConfigTransformer(t *testing.T) {
148167
{
149168
name: "Azure sets the vmType to standard and cloud to AzurePublicCloud when neither is set",
150169
source: azure.Config{},
151-
expected: azure.Config{VMType: "standard", ClusterServiceLoadBalancerHealthProbeMode: azureconsts.ClusterServiceLoadBalancerHealthProbeModeShared, AzureAuthConfig: ratelimitconfig.AzureAuthConfig{ARMClientConfig: azclient.ARMClientConfig{Cloud: string(configv1.AzurePublicCloud)}}},
170+
expected: makeExpectedConfig(&azure.Config{}, configv1.AzurePublicCloud),
152171
infra: makeInfrastructureResource(configv1.AzurePlatformType, configv1.AzurePublicCloud),
153172
},
154173
{
155174
name: "Azure doesn't modify vmType if user set",
156175
source: azure.Config{VMType: "vmss"},
157-
expected: azure.Config{VMType: "vmss", ClusterServiceLoadBalancerHealthProbeMode: azureconsts.ClusterServiceLoadBalancerHealthProbeModeShared, AzureAuthConfig: ratelimitconfig.AzureAuthConfig{ARMClientConfig: azclient.ARMClientConfig{Cloud: string(configv1.AzurePublicCloud)}}},
176+
expected: makeExpectedConfig(&azure.Config{VMType: "vmss"}, configv1.AzurePublicCloud),
158177
infra: makeInfrastructureResource(configv1.AzurePlatformType, configv1.AzurePublicCloud),
159178
},
160179
{
161180
name: "Azure sets the cloud to AzurePublicCloud and keeps existing fields",
162181
source: azure.Config{
163182
ResourceGroup: "test-rg",
164183
},
165-
expected: azure.Config{VMType: "standard", ClusterServiceLoadBalancerHealthProbeMode: azureconsts.ClusterServiceLoadBalancerHealthProbeModeShared, ResourceGroup: "test-rg", AzureAuthConfig: ratelimitconfig.AzureAuthConfig{ARMClientConfig: azclient.ARMClientConfig{Cloud: string(configv1.AzurePublicCloud)}}},
184+
expected: makeExpectedConfig(&azure.Config{ResourceGroup: "test-rg"}, configv1.AzurePublicCloud),
166185
infra: makeInfrastructureResource(configv1.AzurePlatformType, configv1.AzurePublicCloud),
167186
},
168187
{
169188
name: "Azure keeps the cloud set to AzurePublicCloud",
170189
source: azure.Config{AzureAuthConfig: ratelimitconfig.AzureAuthConfig{ARMClientConfig: azclient.ARMClientConfig{Cloud: string(configv1.AzurePublicCloud)}}},
171-
expected: azure.Config{VMType: "standard", ClusterServiceLoadBalancerHealthProbeMode: azureconsts.ClusterServiceLoadBalancerHealthProbeModeShared, AzureAuthConfig: ratelimitconfig.AzureAuthConfig{ARMClientConfig: azclient.ARMClientConfig{Cloud: string(configv1.AzurePublicCloud)}}},
190+
expected: makeExpectedConfig(&azure.Config{}, configv1.AzurePublicCloud),
172191
infra: makeInfrastructureResource(configv1.AzurePlatformType, configv1.AzurePublicCloud),
173192
},
174193
{
175194
name: "Azure keeps the cloud set to US Gov cloud",
176195
source: azure.Config{AzureAuthConfig: ratelimitconfig.AzureAuthConfig{ARMClientConfig: azclient.ARMClientConfig{Cloud: string(configv1.AzureUSGovernmentCloud)}}},
177-
expected: azure.Config{VMType: "standard", ClusterServiceLoadBalancerHealthProbeMode: azureconsts.ClusterServiceLoadBalancerHealthProbeModeShared, AzureAuthConfig: ratelimitconfig.AzureAuthConfig{ARMClientConfig: azclient.ARMClientConfig{Cloud: string(configv1.AzureUSGovernmentCloud)}}},
196+
expected: makeExpectedConfig(&azure.Config{}, configv1.AzureUSGovernmentCloud),
178197
infra: makeInfrastructureResource(configv1.AzurePlatformType, configv1.AzureUSGovernmentCloud),
179198
},
180199
{
181200
name: "Azure keeps the cloud set to China cloud",
182201
source: azure.Config{AzureAuthConfig: ratelimitconfig.AzureAuthConfig{ARMClientConfig: azclient.ARMClientConfig{Cloud: string(configv1.AzureChinaCloud)}}},
183-
expected: azure.Config{VMType: "standard", ClusterServiceLoadBalancerHealthProbeMode: azureconsts.ClusterServiceLoadBalancerHealthProbeModeShared, AzureAuthConfig: ratelimitconfig.AzureAuthConfig{ARMClientConfig: azclient.ARMClientConfig{Cloud: string(configv1.AzureChinaCloud)}}},
202+
expected: makeExpectedConfig(&azure.Config{}, configv1.AzureChinaCloud),
184203
infra: makeInfrastructureResource(configv1.AzurePlatformType, configv1.AzureChinaCloud),
185204
},
186205
{
187206
name: "Azure keeps the cloud set to German cloud",
188207
source: azure.Config{AzureAuthConfig: ratelimitconfig.AzureAuthConfig{ARMClientConfig: azclient.ARMClientConfig{Cloud: string(configv1.AzureGermanCloud)}}},
189-
expected: azure.Config{VMType: "standard", ClusterServiceLoadBalancerHealthProbeMode: azureconsts.ClusterServiceLoadBalancerHealthProbeModeShared, AzureAuthConfig: ratelimitconfig.AzureAuthConfig{ARMClientConfig: azclient.ARMClientConfig{Cloud: string(configv1.AzureGermanCloud)}}},
208+
expected: makeExpectedConfig(&azure.Config{}, configv1.AzureGermanCloud),
190209
infra: makeInfrastructureResource(configv1.AzurePlatformType, configv1.AzureGermanCloud),
191210
},
192211
{
@@ -198,19 +217,19 @@ func TestCloudConfigTransformer(t *testing.T) {
198217
{
199218
name: "Azure keeps the cloud set in the source when there is not one set in infrastructure",
200219
source: azure.Config{AzureAuthConfig: ratelimitconfig.AzureAuthConfig{ARMClientConfig: azclient.ARMClientConfig{Cloud: string(configv1.AzurePublicCloud)}}},
201-
expected: azure.Config{VMType: "standard", ClusterServiceLoadBalancerHealthProbeMode: azureconsts.ClusterServiceLoadBalancerHealthProbeModeShared, AzureAuthConfig: ratelimitconfig.AzureAuthConfig{ARMClientConfig: azclient.ARMClientConfig{Cloud: string(configv1.AzurePublicCloud)}}},
220+
expected: makeExpectedConfig(&azure.Config{}, configv1.AzurePublicCloud),
202221
infra: makeInfrastructureResource(configv1.AzurePlatformType, ""),
203222
},
204223
{
205224
name: "Azure sets the cloud to match the infrastructure if an empty string is provided in source",
206225
source: azure.Config{AzureAuthConfig: ratelimitconfig.AzureAuthConfig{ARMClientConfig: azclient.ARMClientConfig{Cloud: ""}}},
207-
expected: azure.Config{VMType: "standard", ClusterServiceLoadBalancerHealthProbeMode: azureconsts.ClusterServiceLoadBalancerHealthProbeModeShared, AzureAuthConfig: ratelimitconfig.AzureAuthConfig{ARMClientConfig: azclient.ARMClientConfig{Cloud: string(configv1.AzurePublicCloud)}}},
226+
expected: makeExpectedConfig(&azure.Config{}, configv1.AzurePublicCloud),
208227
infra: makeInfrastructureResource(configv1.AzurePlatformType, configv1.AzurePublicCloud),
209228
},
210229
{
211230
name: "Azure sets the cloud to match the infrastructure if an empty string is provided in source and the infrastructure is non standard",
212231
source: azure.Config{AzureAuthConfig: ratelimitconfig.AzureAuthConfig{ARMClientConfig: azclient.ARMClientConfig{Cloud: ""}}},
213-
expected: azure.Config{VMType: "standard", ClusterServiceLoadBalancerHealthProbeMode: azureconsts.ClusterServiceLoadBalancerHealthProbeModeShared, AzureAuthConfig: ratelimitconfig.AzureAuthConfig{ARMClientConfig: azclient.ARMClientConfig{Cloud: string(configv1.AzureUSGovernmentCloud)}}},
232+
expected: makeExpectedConfig(&azure.Config{}, configv1.AzureUSGovernmentCloud),
214233
infra: makeInfrastructureResource(configv1.AzurePlatformType, configv1.AzureUSGovernmentCloud),
215234
},
216235
{
@@ -222,7 +241,7 @@ func TestCloudConfigTransformer(t *testing.T) {
222241
{
223242
name: "Azure keeps the cloud set to AzurePublicCloud if the source is upper case",
224243
source: azure.Config{AzureAuthConfig: ratelimitconfig.AzureAuthConfig{ARMClientConfig: azclient.ARMClientConfig{Cloud: "AZUREPUBLICCLOUD"}}},
225-
expected: azure.Config{VMType: "standard", ClusterServiceLoadBalancerHealthProbeMode: azureconsts.ClusterServiceLoadBalancerHealthProbeModeShared, AzureAuthConfig: ratelimitconfig.AzureAuthConfig{ARMClientConfig: azclient.ARMClientConfig{Cloud: string(configv1.AzurePublicCloud)}}},
244+
expected: makeExpectedConfig(&azure.Config{}, configv1.AzurePublicCloud),
226245
infra: makeInfrastructureResource(configv1.AzurePlatformType, configv1.AzurePublicCloud),
227246
},
228247
}

pkg/controllers/cloud_config_sync_controller_test.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -264,11 +264,11 @@ var _ = Describe("Cloud config sync controller", func() {
264264
})
265265

266266
It("config should be synced up after first reconcile", func() {
267-
Eventually(func(g Gomega) (string, error) {
267+
Eventually(func(g Gomega) string {
268268
syncedCloudConfigMap := &corev1.ConfigMap{}
269269
err := cl.Get(ctx, syncedConfigMapKey, syncedCloudConfigMap)
270270
g.Expect(err).NotTo(HaveOccurred())
271-
return syncedCloudConfigMap.Data[defaultConfigKey], nil
271+
return syncedCloudConfigMap.Data[defaultConfigKey]
272272
}).Should(Equal(defaultAzureConfig))
273273
})
274274

@@ -278,11 +278,11 @@ var _ = Describe("Cloud config sync controller", func() {
278278
changedManagedConfig.Data = map[string]string{"cloud.conf": changedConfigString}
279279
Expect(cl.Update(ctx, changedManagedConfig)).To(Succeed())
280280

281-
Eventually(func(g Gomega) (string, error) {
281+
Eventually(func(g Gomega) string {
282282
syncedCloudConfigMap := &corev1.ConfigMap{}
283283
err := cl.Get(ctx, syncedConfigMapKey, syncedCloudConfigMap)
284284
g.Expect(err).NotTo(HaveOccurred())
285-
return syncedCloudConfigMap.Data[defaultConfigKey], nil
285+
return syncedCloudConfigMap.Data[defaultConfigKey]
286286
}).Should(Equal(changedConfigString))
287287
})
288288

@@ -295,10 +295,10 @@ var _ = Describe("Cloud config sync controller", func() {
295295
changedConfigString := `{"cloud":"AzurePublicCloud","tenantId":"0000000-1234-1234-0000-000000000000","subscriptionId":"0000000-0000-0000-0000-000000000000","vmType":"standard","putVMSSVMBatchSize":0,"enableMigrateToIPBasedBackendPoolAPI":false,"clusterServiceLoadBalancerHealthProbeMode":"shared"}`
296296
syncedCloudConfigMap.Data = map[string]string{"foo": changedConfigString}
297297
Expect(cl.Update(ctx, syncedCloudConfigMap)).To(Succeed())
298-
Eventually(func(g Gomega) (string, error) {
298+
Eventually(func(g Gomega) string {
299299
err := cl.Get(ctx, syncedConfigMapKey, syncedCloudConfigMap)
300300
g.Expect(err).NotTo(HaveOccurred())
301-
return syncedCloudConfigMap.Data[defaultConfigKey], nil
301+
return syncedCloudConfigMap.Data[defaultConfigKey]
302302
}).Should(Equal(defaultAzureConfig))
303303

304304
Expect(cl.Delete(ctx, syncedCloudConfigMap)).To(Succeed())
@@ -335,11 +335,11 @@ var _ = Describe("Cloud config sync controller", func() {
335335
changedInfraConfig.Data = map[string]string{infraCloudConfKey: changedInfraConfigString}
336336
Expect(cl.Update(ctx, changedInfraConfig)).Should(Succeed())
337337

338-
Eventually(func(g Gomega) (string, error) {
338+
Eventually(func(g Gomega) string {
339339
syncedCloudConfigMap := &corev1.ConfigMap{}
340340
err := cl.Get(ctx, syncedConfigMapKey, syncedCloudConfigMap)
341341
g.Expect(err).NotTo(HaveOccurred())
342-
return syncedCloudConfigMap.Data[defaultConfigKey], nil
342+
return syncedCloudConfigMap.Data[defaultConfigKey]
343343
}).Should(Equal(changedInfraConfigString))
344344
})
345345

@@ -353,11 +353,11 @@ var _ = Describe("Cloud config sync controller", func() {
353353
}
354354
Expect(cl.Update(ctx, changedManagedConfig)).Should(Succeed())
355355

356-
Eventually(func(g Gomega) (int, error) {
356+
Eventually(func(g Gomega) int {
357357
syncedCloudConfigMap := &corev1.ConfigMap{}
358358
err := cl.Get(ctx, syncedConfigMapKey, syncedCloudConfigMap)
359359
g.Expect(err).NotTo(HaveOccurred())
360-
return len(syncedCloudConfigMap.Data), nil
360+
return len(syncedCloudConfigMap.Data)
361361
}).Should(Equal(3))
362362
})
363363
})

0 commit comments

Comments
 (0)