diff --git a/prowler/lib/outputs/utils.py b/prowler/lib/outputs/utils.py index 205280c438..9d03e1cc31 100644 --- a/prowler/lib/outputs/utils.py +++ b/prowler/lib/outputs/utils.py @@ -63,10 +63,16 @@ def unroll_tags(tags: list) -> dict: >>> tags = {"name": "John", "age": "30"} >>> unroll_tags(tags) {'name': 'John', 'age': '30'} + + >>> tags = ["name", "age"] + >>> unroll_tags(tags) + {'name': '', 'age': ''} """ - if tags and tags != [{}] and tags != [None]: + if tags and tags != [{}] and tags != [None] and tags != []: if isinstance(tags, dict): return tags + if isinstance(tags[0], str) and len(tags) > 0: + return {tag: "" for tag in tags} if "key" in tags[0]: return {item["key"]: item["value"] for item in tags} elif "Key" in tags[0]: diff --git a/tests/lib/outputs/outputs_test.py b/tests/lib/outputs/outputs_test.py index a42766d270..2eaf6c8f43 100644 --- a/tests/lib/outputs/outputs_test.py +++ b/tests/lib/outputs/outputs_test.py @@ -150,6 +150,15 @@ class TestOutputs: "terraform": "true", } + def test_unroll_tags_only_list(self): + tags_list = ["tag1", "tag2", "tag3"] + + assert unroll_tags(tags_list) == { + "tag1": "", + "tag2": "", + "tag3": "", + } + def test_unroll_dict(self): test_compliance_dict = { "CISA": ["your-systems-3", "your-data-1", "your-data-2"],