You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fieldErrors=append(fieldErrors, field.Invalid(fldPath.Child("preference"), opc.Preference, fmt.Sprintf("invalid value, must be one of %q, %q or omitted", config.OptionalFieldsPointerPreferenceAlways, config.OptionalFieldsPointerPreferenceWhenRequired)))
fieldErrors=append(fieldErrors, field.Invalid(fldPath.Child("policy"), opc.Policy, fmt.Sprintf("invalid value, must be one of %q, %q or omitted", config.OptionalFieldsPointerPolicySuggestFix, config.OptionalFieldsPointerPolicyWarn)))
118
+
}
119
+
120
+
returnfieldErrors
121
+
}
122
+
123
+
// validateOptionFieldsOmitEmpty is used to validate the configuration in the config.OptionalFieldsOmitEmpty struct.
fieldErrors=append(fieldErrors, field.Invalid(fldPath.Child("policy"), oec.Policy, fmt.Sprintf("invalid value, must be one of %q, %q or omitted", config.OptionalFieldsOmitEmptyPolicyIgnore, config.OptionalFieldsOmitEmptyPolicySuggestFix)))
131
+
}
132
+
133
+
returnfieldErrors
134
+
}
135
+
93
136
// validateOptionalOrRequiredConfig is used to validate the configuration in the config.OptionalOrRequiredConfig struct.
Copy file name to clipboardExpand all lines: pkg/validation/linters_config_test.go
+106Lines changed: 106 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -221,6 +221,112 @@ var _ = Describe("LintersConfig", func() {
221
221
expectedErr: `lintersConfig.nomaps.policy: Invalid value: "invalid": invalid value, must be one of "Enforce", "AllowStringToStringMaps", "Ignore" or omitted`,
222
222
}),
223
223
224
+
// OptionalFieldsConfig validation
225
+
Entry("With a valid OptionalFieldsConfig", validateLintersConfigTableInput{
226
+
config: config.LintersConfig{
227
+
OptionalFields: config.OptionalFieldsConfig{
228
+
Pointers: config.OptionalFieldsPointers{
229
+
Preference: "",
230
+
Policy: "",
231
+
},
232
+
OmitEmpty: config.OptionalFieldsOmitEmpty{
233
+
Policy: "",
234
+
},
235
+
},
236
+
},
237
+
expectedErr: "",
238
+
}),
239
+
Entry("With a valid OptionalFieldsConfig: Pointer Preference Always", validateLintersConfigTableInput{
Entry("With an invalid OptionalFieldsConfig: Pointer Preference", validateLintersConfigTableInput{
260
+
config: config.LintersConfig{
261
+
OptionalFields: config.OptionalFieldsConfig{
262
+
Pointers: config.OptionalFieldsPointers{
263
+
Preference: "invalid",
264
+
},
265
+
},
266
+
},
267
+
expectedErr: "lintersConfig.optionalFields.pointers.preference: Invalid value: \"invalid\": invalid value, must be one of \"Always\", \"WhenRequired\" or omitted",
268
+
}),
269
+
Entry("With a valid OptionalFieldsConfig: Pointer Policy SuggestFix", validateLintersConfigTableInput{
Entry("With a valid OptionalFieldsConfig: Pointer Policy Warn", validateLintersConfigTableInput{
280
+
config: config.LintersConfig{
281
+
OptionalFields: config.OptionalFieldsConfig{
282
+
Pointers: config.OptionalFieldsPointers{
283
+
Policy: config.OptionalFieldsPointerPolicyWarn,
284
+
},
285
+
},
286
+
},
287
+
expectedErr: "",
288
+
}),
289
+
Entry("With an invalid OptionalFieldsConfig: Pointer Policy", validateLintersConfigTableInput{
290
+
config: config.LintersConfig{
291
+
OptionalFields: config.OptionalFieldsConfig{
292
+
Pointers: config.OptionalFieldsPointers{
293
+
Policy: "invalid",
294
+
},
295
+
},
296
+
},
297
+
expectedErr: "lintersConfig.optionalFields.pointers.policy: Invalid value: \"invalid\": invalid value, must be one of \"SuggestFix\", \"Warn\" or omitted",
298
+
}),
299
+
Entry("With a valid OptionalFieldsConfig: OmitEmpty Policy Ignore", validateLintersConfigTableInput{
Entry("With an invalid OptionalFieldsConfig: OmitEmpty Policy", validateLintersConfigTableInput{
320
+
config: config.LintersConfig{
321
+
OptionalFields: config.OptionalFieldsConfig{
322
+
OmitEmpty: config.OptionalFieldsOmitEmpty{
323
+
Policy: "invalid",
324
+
},
325
+
},
326
+
},
327
+
expectedErr: "lintersConfig.optionalFields.omitEmpty.policy: Invalid value: \"invalid\": invalid value, must be one of \"Ignore\", \"SuggestFix\" or omitted",
328
+
}),
329
+
224
330
// OptionalOrRequiredConfig validation
225
331
Entry("With a valid OptionalOrRequiredConfig", validateLintersConfigTableInput{
0 commit comments