Skip to content

Commit

Permalink
Parameter of list<number> can have an integer default (#3372)
Browse files Browse the repository at this point in the history
  • Loading branch information
kddejong authored Jun 21, 2024
1 parent 8dd8907 commit 6b17797
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 2 deletions.
11 changes: 9 additions & 2 deletions src/cfnlint/context/context.py
Original file line number Diff line number Diff line change
Expand Up @@ -304,9 +304,16 @@ def __post_init__(self, parameter) -> None:

if self.type == "CommaDelimitedList" or self.type.startswith("List<"):
if "Default" in parameter:
self.default = parameter.get("Default", "").split(",")
default = parameter.get("Default", "")
if isinstance(default, str):
self.default = default.split(",")
else:
self.default = [default]
for allowed_value in parameter.get("AllowedValues", []):
self.allowed_values.append(allowed_value.split(","))
if isinstance(allowed_value, str):
self.allowed_values.append(allowed_value.split(","))
else:
self.allowed_values.append([allowed_value])
else:
self.default = parameter.get("Default")
self.allowed_values = parameter.get("AllowedValues")
Expand Down
12 changes: 12 additions & 0 deletions test/unit/module/context/test_parameter.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,18 @@
"Number",
[("10", deque(["MinValue"])), ("20", deque(["MaxValue"]))],
),
(
"Valid list parameter with an integer value",
{"Type": "List<Number>", "Default": 10},
"List<Number>",
[(["10"], deque(["Default"]))],
),
(
"Valid list parameter with an integer value",
{"Type": "List<Number>", "AllowedValues": [10]},
"List<Number>",
[(["10"], deque(["AllowedValues", 0]))],
),
],
)
def test_parameter(name, instance, expected_type, expected_ref):
Expand Down

0 comments on commit 6b17797

Please sign in to comment.