Skip to content

Commit 3cba96d

Browse files
authored
fix: adjust label validation for max length of 63 characters (#194)
Related to hetznercloud/hcloud-go#273
1 parent 47eb9f1 commit 3cba96d

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

hcloud/helpers/labels.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44

55
class LabelValidator:
66
KEY_REGEX = re.compile(
7-
"^([a-z0-9A-Z]((?:[\-_.]|[a-z0-9A-Z]){0,253}[a-z0-9A-Z])?/)?[a-z0-9A-Z]((?:[\-_.]|[a-z0-9A-Z]|){0,62}[a-z0-9A-Z])?$"
7+
"^([a-z0-9A-Z]((?:[\-_.]|[a-z0-9A-Z]){0,253}[a-z0-9A-Z])?/)?[a-z0-9A-Z]((?:[\-_.]|[a-z0-9A-Z]|){0,61}[a-z0-9A-Z])?$"
88
)
99
VALUE_REGEX = re.compile(
10-
"^(([a-z0-9A-Z](?:[\-_.]|[a-z0-9A-Z]){0,62})?[a-z0-9A-Z]$|$)"
10+
"^(([a-z0-9A-Z](?:[\-_.]|[a-z0-9A-Z]){0,61})?[a-z0-9A-Z]$|$)"
1111
)
1212

1313
@staticmethod

tests/unit/helpers/test_labels.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,12 @@
2222
},
2323
False,
2424
),
25+
(
26+
{
27+
"valid_key": "63-characters-are-allowed-in-a-label__this-is-one-character-more",
28+
},
29+
False,
30+
),
2531
# invalid keys
2632
({"incorrect.de/": "correct.de"}, False),
2733
({"incor rect.de/": "correct.de"}, False),
@@ -75,6 +81,13 @@ def test_validate(labels, expected):
7581
False,
7682
"value",
7783
),
84+
(
85+
{
86+
"valid_key": "63-characters-are-allowed-in-a-label__this-is-one-character-more",
87+
},
88+
False,
89+
"value",
90+
),
7891
# invalid keys
7992
({"incorrect.de/": "correct.de"}, False, "key"),
8093
({"incor rect.de/": "correct.de"}, False, "key"),

0 commit comments

Comments
 (0)