From c1b1b8a100be61e7f37bed92badb0e8ce2d2fe4c Mon Sep 17 00:00:00 2001 From: Aphral Griffin Date: Fri, 14 Nov 2025 15:07:36 +0000 Subject: [PATCH 1/2] fix label regex --- internal/config/config.go | 2 +- internal/config/config_test.go | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/internal/config/config.go b/internal/config/config.go index e7489310b..540311b3d 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -47,7 +47,7 @@ const ( // Regular expression to match invalid characters in paths. // It matches whitespace, control characters, non-printable characters, and specific Unicode characters. regexInvalidPath = "\\s|[[:cntrl:]]|[[:space:]]|[[^:print:]]|ㅤ|\\.\\.|\\*" - regexLabelPattern = "^[a-zA-Z0-9]([a-zA-Z0-9-_]{0,254}[a-zA-Z0-9])?$" + regexLabelPattern = "^[a-zA-Z0-9]([a-zA-Z0-9-_.]{0,254}[a-zA-Z0-9])?$" ) var viperInstance = viper.NewWithOptions(viper.KeyDelimiter(KeyDelimiter)) diff --git a/internal/config/config_test.go b/internal/config/config_test.go index 38c8f98e3..f3c5af0c0 100644 --- a/internal/config/config_test.go +++ b/internal/config/config_test.go @@ -1559,6 +1559,31 @@ func TestValidateLabel(t *testing.T) { input: "label 123", expected: false, }, + { + name: "Test 9: Valid label - cluster id", + input: "73623aef-1d5b-4f6b-b73d-5561c36851cc", + expected: true, + }, + { + name: "Test 10: Valid label - installation name", + input: "my-release-nginx-ingress-controller", + expected: true, + }, + { + name: "Test 11: Valid label - product", + input: "nic", + expected: true, + }, + { + name: "Test 12: Valid label - version", + input: "5.3.0", + expected: true, + }, + { + name: "Test 13: Valid label - version snapshot", + input: "5.3.0-SNAPSHOT", + expected: true, + }, } for _, tt := range tests { From 1a4204a77f396ab23a590a6e2a7722ef0cddcf58 Mon Sep 17 00:00:00 2001 From: Aphral Griffin Date: Tue, 18 Nov 2025 09:22:51 +0000 Subject: [PATCH 2/2] PR feedback - add unit test --- internal/config/config_test.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/internal/config/config_test.go b/internal/config/config_test.go index f3c5af0c0..334d60502 100644 --- a/internal/config/config_test.go +++ b/internal/config/config_test.go @@ -1584,6 +1584,31 @@ func TestValidateLabel(t *testing.T) { input: "5.3.0-SNAPSHOT", expected: true, }, + { + name: "Test 14: Invalid label - newlines", + input: "label-2\n\n", + expected: false, + }, + { + name: "Test 15: Valid label - only numbers", + input: "1234567", + expected: true, + }, + { + name: "Test 16: Invalid label - start and end with .", + input: ".label.", + expected: false, + }, + { + name: "Test 17: Invalid label - lots of blank spaces", + input: " label", + expected: false, + }, + { + name: "Test 18: Invalid label - start and end with blank space", + input: " label ", + expected: false, + }, } for _, tt := range tests {