Skip to content

Commit 6970629

Browse files
authored
Update Label Validation (#1390)
1 parent 34a13e6 commit 6970629

File tree

2 files changed

+51
-1
lines changed

2 files changed

+51
-1
lines changed

internal/config/config.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ const (
4747
// Regular expression to match invalid characters in paths.
4848
// It matches whitespace, control characters, non-printable characters, and specific Unicode characters.
4949
regexInvalidPath = "\\s|[[:cntrl:]]|[[:space:]]|[[^:print:]]|ㅤ|\\.\\.|\\*"
50-
regexLabelPattern = "^[a-zA-Z0-9]([a-zA-Z0-9-_]{0,254}[a-zA-Z0-9])?$"
50+
regexLabelPattern = "^[a-zA-Z0-9]([a-zA-Z0-9-_.]{0,254}[a-zA-Z0-9])?$"
5151
)
5252

5353
var viperInstance = viper.NewWithOptions(viper.KeyDelimiter(KeyDelimiter))

internal/config/config_test.go

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1559,6 +1559,56 @@ func TestValidateLabel(t *testing.T) {
15591559
input: "label 123",
15601560
expected: false,
15611561
},
1562+
{
1563+
name: "Test 9: Valid label - cluster id",
1564+
input: "73623aef-1d5b-4f6b-b73d-5561c36851cc",
1565+
expected: true,
1566+
},
1567+
{
1568+
name: "Test 10: Valid label - installation name",
1569+
input: "my-release-nginx-ingress-controller",
1570+
expected: true,
1571+
},
1572+
{
1573+
name: "Test 11: Valid label - product",
1574+
input: "nic",
1575+
expected: true,
1576+
},
1577+
{
1578+
name: "Test 12: Valid label - version",
1579+
input: "5.3.0",
1580+
expected: true,
1581+
},
1582+
{
1583+
name: "Test 13: Valid label - version snapshot",
1584+
input: "5.3.0-SNAPSHOT",
1585+
expected: true,
1586+
},
1587+
{
1588+
name: "Test 14: Invalid label - newlines",
1589+
input: "label-2\n\n",
1590+
expected: false,
1591+
},
1592+
{
1593+
name: "Test 15: Valid label - only numbers",
1594+
input: "1234567",
1595+
expected: true,
1596+
},
1597+
{
1598+
name: "Test 16: Invalid label - start and end with .",
1599+
input: ".label.",
1600+
expected: false,
1601+
},
1602+
{
1603+
name: "Test 17: Invalid label - lots of blank spaces",
1604+
input: " label",
1605+
expected: false,
1606+
},
1607+
{
1608+
name: "Test 18: Invalid label - start and end with blank space",
1609+
input: " label ",
1610+
expected: false,
1611+
},
15621612
}
15631613

15641614
for _, tt := range tests {

0 commit comments

Comments
 (0)