From e312aee613e2c48d5d32b24ef34f1f1ca62bf6b7 Mon Sep 17 00:00:00 2001 From: Augustin Date: Fri, 8 Apr 2022 13:38:46 -0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20octavia-cli:=20handle=20array=20?= =?UTF-8?q?in=20types=20for=20generated=20comments=20(#11846)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- octavia-cli/octavia_cli/generate/renderers.py | 2 ++ .../unit_tests/test_generate/test_renderers.py | 12 +++++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/octavia-cli/octavia_cli/generate/renderers.py b/octavia-cli/octavia_cli/generate/renderers.py index 87b2adce331..0b81adfd257 100644 --- a/octavia-cli/octavia_cli/generate/renderers.py +++ b/octavia-cli/octavia_cli/generate/renderers.py @@ -90,6 +90,8 @@ class FieldToRender: return "REQUIRED" if self.required else "OPTIONAL" def _get_type_comment(self) -> str: + if isinstance(self.type, list): + return ", ".join(self.type) return self.type if self.type else None def _get_secret_comment(self) -> str: diff --git a/octavia-cli/unit_tests/test_generate/test_renderers.py b/octavia-cli/unit_tests/test_generate/test_renderers.py index 6e46afda752..80f1aab0fbe 100644 --- a/octavia-cli/unit_tests/test_generate/test_renderers.py +++ b/octavia-cli/unit_tests/test_generate/test_renderers.py @@ -80,12 +80,14 @@ class TestFieldToRender: field_to_render.required = False assert field_to_render._get_required_comment() == "OPTIONAL" - def test__get_type_comment(self): + @pytest.mark.parametrize( + "_type,expected_comment", + [("string", "string"), (["string", "null"], "string, null"), (None, None)], + ) + def test__get_type_comment(self, _type, expected_comment): field_to_render = renderers.FieldToRender("field_name", True, {"foo": "bar"}) - field_to_render.type = "mytype" - assert field_to_render._get_type_comment() == "mytype" - field_to_render.type = None - assert field_to_render._get_type_comment() is None + field_to_render.type = _type + assert field_to_render._get_type_comment() == expected_comment def test__get_secret_comment(self): field_to_render = renderers.FieldToRender("field_name", True, {"foo": "bar"})