diff --git a/prowler/lib/outputs/utils.py b/prowler/lib/outputs/utils.py index 636f4003e5..205280c438 100644 --- a/prowler/lib/outputs/utils.py +++ b/prowler/lib/outputs/utils.py @@ -59,8 +59,14 @@ def unroll_tags(tags: list) -> dict: >>> tags = [] >>> unroll_tags(tags) {} + + >>> tags = {"name": "John", "age": "30"} + >>> unroll_tags(tags) + {'name': 'John', 'age': '30'} """ if tags and tags != [{}] and tags != [None]: + if isinstance(tags, dict): + return 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 43b16026c7..a42766d270 100644 --- a/tests/lib/outputs/outputs_test.py +++ b/tests/lib/outputs/outputs_test.py @@ -106,6 +106,21 @@ class TestOutputs: "terraform": "true", } + def test_unroll_dict_tags(self): + tags_dict = { + "environment": "dev", + "name": "test", + "project": "prowler", + "terraform": "true", + } + + assert unroll_tags(tags_dict) == { + "environment": "dev", + "name": "test", + "project": "prowler", + "terraform": "true", + } + def test_unroll_tags_unique(self): unique_dict_list = [ {