From 85b3638efbd88d59a675b44cd8fa5bc07cd021d8 Mon Sep 17 00:00:00 2001 From: LordMathis Date: Mon, 4 Aug 2025 20:46:15 +0200 Subject: [PATCH] Update ValidateInstanceName to return the validated name and modify tests accordingly --- pkg/manager/operations.go | 2 +- pkg/validation/validation.go | 10 +++++----- pkg/validation/validation_test.go | 9 ++++++++- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/pkg/manager/operations.go b/pkg/manager/operations.go index 68f8f58..baa4eb7 100644 --- a/pkg/manager/operations.go +++ b/pkg/manager/operations.go @@ -31,7 +31,7 @@ func (im *instanceManager) CreateInstance(name string, options *instance.CreateI return nil, fmt.Errorf("maximum number of instances (%d) reached", im.instancesConfig.MaxInstances) } - err := validation.ValidateInstanceName(name) + name, err := validation.ValidateInstanceName(name) if err != nil { return nil, err } diff --git a/pkg/validation/validation.go b/pkg/validation/validation.go index 2b06b37..9145cf6 100644 --- a/pkg/validation/validation.go +++ b/pkg/validation/validation.go @@ -102,16 +102,16 @@ func validateStructStrings(v any, fieldPath string) error { return nil } -func ValidateInstanceName(name string) error { +func ValidateInstanceName(name string) (string, error) { // Validate instance name if name == "" { - return ValidationError(fmt.Errorf("name cannot be empty")) + return "", ValidationError(fmt.Errorf("name cannot be empty")) } if !validNamePattern.MatchString(name) { - return ValidationError(fmt.Errorf("name contains invalid characters (only alphanumeric, hyphens, underscores allowed)")) + return "", ValidationError(fmt.Errorf("name contains invalid characters (only alphanumeric, hyphens, underscores allowed)")) } if len(name) > 50 { - return ValidationError(fmt.Errorf("name too long (max 50 characters)")) + return "", ValidationError(fmt.Errorf("name too long (max 50 characters)")) } - return nil + return name, nil } diff --git a/pkg/validation/validation_test.go b/pkg/validation/validation_test.go index 53e52b9..3e12606 100644 --- a/pkg/validation/validation_test.go +++ b/pkg/validation/validation_test.go @@ -41,10 +41,17 @@ func TestValidateInstanceName(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - err := validation.ValidateInstanceName(tt.input) + name, err := validation.ValidateInstanceName(tt.input) if (err != nil) != tt.wantErr { t.Errorf("ValidateInstanceName(%q) error = %v, wantErr %v", tt.input, err, tt.wantErr) } + if tt.wantErr { + return // Skip further checks if we expect an error + } + // If no error, check that the name is returned as expected + if name != tt.input { + t.Errorf("ValidateInstanceName(%q) = %q, want %q", tt.input, name, tt.input) + } }) } }