Skip to content

Commit 129d0b6

Browse files
committed
validateVMClusterRefOrSpec: fix error message when both ref and spec are set
1 parent 95bc654 commit 129d0b6

File tree

2 files changed

+5
-8
lines changed

2 files changed

+5
-8
lines changed

internal/controller/operator/factory/vmdistributedcluster/vmdistributedcluster.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ func CreateOrUpdate(ctx context.Context, cr *vmv1alpha1.VMDistributedCluster, rc
174174
// validateVMClusterRefOrSpec checks for mutual exclusivity and required fields for VMClusterRefOrSpec.
175175
func validateVMClusterRefOrSpec(i int, refOrSpec vmv1alpha1.VMClusterRefOrSpec) error {
176176
if refOrSpec.Spec != nil && refOrSpec.Ref != nil {
177-
return fmt.Errorf("VMClusterRefOrSpec at index %d must have either Ref or Spec set, got: %+v", i, refOrSpec)
177+
return fmt.Errorf("VMClusterRefOrSpec at index %d must specify either Ref or Spec, got: %+v", i, refOrSpec)
178178
}
179179
if refOrSpec.Spec == nil && refOrSpec.Ref == nil {
180180
return fmt.Errorf("VMClusterRefOrSpec at index %d must have either Ref or Spec set, got: %+v", i, refOrSpec)
@@ -185,9 +185,6 @@ func validateVMClusterRefOrSpec(i int, refOrSpec vmv1alpha1.VMClusterRefOrSpec)
185185
if refOrSpec.Ref != nil && refOrSpec.Ref.Name == "" {
186186
return fmt.Errorf("VMClusterRefOrSpec.Ref.Name must be set for reference at index %d", i)
187187
}
188-
if refOrSpec.Spec != nil && refOrSpec.OverrideSpec != nil {
189-
return fmt.Errorf("VMClusterRefOrSpec at index %d cannot have both Spec and OverrideSpec set, got: %+v", i, refOrSpec)
190-
}
191188
return nil
192189
}
193190

internal/controller/operator/factory/vmdistributedcluster/vmdistributedcluster_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -549,14 +549,14 @@ func TestValidateVMClusterRefOrSpec(t *testing.T) {
549549
}
550550
err := validateVMClusterRefOrSpec(0, refOrSpec)
551551
assert.Error(t, err)
552-
assert.Contains(t, err.Error(), "must have either Ref or Spec set")
552+
assert.Contains(t, err.Error(), "VMClusterRefOrSpec at index 0 must specify either Ref or Spec")
553553
})
554554

555555
t.Run("Error: Neither Ref nor Spec set", func(t *testing.T) {
556556
refOrSpec := vmv1alpha1.VMClusterRefOrSpec{}
557557
err := validateVMClusterRefOrSpec(0, refOrSpec)
558558
assert.Error(t, err)
559-
assert.Contains(t, err.Error(), "must have either Ref or Spec set")
559+
assert.Contains(t, err.Error(), "VMClusterRefOrSpec at index 0 must have either Ref or Spec set")
560560
})
561561

562562
t.Run("Error: Spec set but Name missing", func(t *testing.T) {
@@ -565,7 +565,7 @@ func TestValidateVMClusterRefOrSpec(t *testing.T) {
565565
}
566566
err := validateVMClusterRefOrSpec(0, refOrSpec)
567567
assert.Error(t, err)
568-
assert.Contains(t, err.Error(), "Name must be set when Spec is provided")
568+
assert.Contains(t, err.Error(), "VMClusterRefOrSpec.Name must be set when Spec is provided for index 0")
569569
})
570570

571571
t.Run("Error: Ref set but Name missing in Ref", func(t *testing.T) {
@@ -574,7 +574,7 @@ func TestValidateVMClusterRefOrSpec(t *testing.T) {
574574
}
575575
err := validateVMClusterRefOrSpec(0, refOrSpec)
576576
assert.Error(t, err)
577-
assert.Contains(t, err.Error(), "Ref.Name must be set for reference")
577+
assert.Contains(t, err.Error(), "VMClusterRefOrSpec.Ref.Name must be set for reference at index 0")
578578
})
579579

580580
t.Run("Error: Spec and OverrideSpec set", func(t *testing.T) {

0 commit comments

Comments
 (0)