@@ -125,6 +125,25 @@ func makeInfrastructureResource(platform configv1.PlatformType, cloudName config
125
125
return & cfg
126
126
}
127
127
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
+
128
147
// This test is a little complicated with all the JSON marshalling and
129
148
// unmarshalling, but it is necessary due to the nature of how this data
130
149
// is stored in Kuberenetes. The ConfigMaps containing the cloud config
@@ -148,45 +167,45 @@ func TestCloudConfigTransformer(t *testing.T) {
148
167
{
149
168
name : "Azure sets the vmType to standard and cloud to AzurePublicCloud when neither is set" ,
150
169
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 ),
152
171
infra : makeInfrastructureResource (configv1 .AzurePlatformType , configv1 .AzurePublicCloud ),
153
172
},
154
173
{
155
174
name : "Azure doesn't modify vmType if user set" ,
156
175
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 ),
158
177
infra : makeInfrastructureResource (configv1 .AzurePlatformType , configv1 .AzurePublicCloud ),
159
178
},
160
179
{
161
180
name : "Azure sets the cloud to AzurePublicCloud and keeps existing fields" ,
162
181
source : azure.Config {
163
182
ResourceGroup : "test-rg" ,
164
183
},
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 ),
166
185
infra : makeInfrastructureResource (configv1 .AzurePlatformType , configv1 .AzurePublicCloud ),
167
186
},
168
187
{
169
188
name : "Azure keeps the cloud set to AzurePublicCloud" ,
170
189
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 ),
172
191
infra : makeInfrastructureResource (configv1 .AzurePlatformType , configv1 .AzurePublicCloud ),
173
192
},
174
193
{
175
194
name : "Azure keeps the cloud set to US Gov cloud" ,
176
195
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 ),
178
197
infra : makeInfrastructureResource (configv1 .AzurePlatformType , configv1 .AzureUSGovernmentCloud ),
179
198
},
180
199
{
181
200
name : "Azure keeps the cloud set to China cloud" ,
182
201
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 ),
184
203
infra : makeInfrastructureResource (configv1 .AzurePlatformType , configv1 .AzureChinaCloud ),
185
204
},
186
205
{
187
206
name : "Azure keeps the cloud set to German cloud" ,
188
207
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 ),
190
209
infra : makeInfrastructureResource (configv1 .AzurePlatformType , configv1 .AzureGermanCloud ),
191
210
},
192
211
{
@@ -198,19 +217,19 @@ func TestCloudConfigTransformer(t *testing.T) {
198
217
{
199
218
name : "Azure keeps the cloud set in the source when there is not one set in infrastructure" ,
200
219
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 ),
202
221
infra : makeInfrastructureResource (configv1 .AzurePlatformType , "" ),
203
222
},
204
223
{
205
224
name : "Azure sets the cloud to match the infrastructure if an empty string is provided in source" ,
206
225
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 ),
208
227
infra : makeInfrastructureResource (configv1 .AzurePlatformType , configv1 .AzurePublicCloud ),
209
228
},
210
229
{
211
230
name : "Azure sets the cloud to match the infrastructure if an empty string is provided in source and the infrastructure is non standard" ,
212
231
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 ),
214
233
infra : makeInfrastructureResource (configv1 .AzurePlatformType , configv1 .AzureUSGovernmentCloud ),
215
234
},
216
235
{
@@ -222,7 +241,7 @@ func TestCloudConfigTransformer(t *testing.T) {
222
241
{
223
242
name : "Azure keeps the cloud set to AzurePublicCloud if the source is upper case" ,
224
243
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 ),
226
245
infra : makeInfrastructureResource (configv1 .AzurePlatformType , configv1 .AzurePublicCloud ),
227
246
},
228
247
}
0 commit comments