From 9b32a8ac1df1e0698de27cacedec32ce4022eedf Mon Sep 17 00:00:00 2001 From: abikouo Date: Tue, 28 Nov 2023 17:57:37 +0100 Subject: [PATCH] AlpnPolicy should be defined as str instead of list[str] --- plugins/module_utils/elbv2.py | 8 ++++---- tests/unit/module_utils/test_elbv2.py | 13 +++++-------- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/plugins/module_utils/elbv2.py b/plugins/module_utils/elbv2.py index ab136ba5215..1911b0943f3 100644 --- a/plugins/module_utils/elbv2.py +++ b/plugins/module_utils/elbv2.py @@ -916,14 +916,14 @@ def _compare_listener(current_listener, new_listener): else: modified_listener["DefaultActions"] = new_default_actions - new_alpn_policy = sorted(new_listener.get("AlpnPolicy", [])) + new_alpn_policy = new_listener.get("AlpnPolicy") if new_alpn_policy: if current_listener["Protocol"] == "TLS" and new_listener["Protocol"] == "TLS": current_alpn_policy = current_listener.get("AlpnPolicy") - if not current_alpn_policy or sorted(current_alpn_policy) != new_alpn_policy: - modified_listener["AlpnPolicy"] = new_alpn_policy + if not current_alpn_policy or current_alpn_policy != new_alpn_policy: + modified_listener["AlpnPolicy"] = [new_alpn_policy] elif current_listener["Protocol"] != "TLS" and new_listener["Protocol"] == "TLS": - modified_listener["AlpnPolicy"] = new_alpn_policy + modified_listener["AlpnPolicy"] = [new_alpn_policy] if modified_listener: return modified_listener diff --git a/tests/unit/module_utils/test_elbv2.py b/tests/unit/module_utils/test_elbv2.py index 8e1d046e850..4177015963c 100644 --- a/tests/unit/module_utils/test_elbv2.py +++ b/tests/unit/module_utils/test_elbv2.py @@ -185,10 +185,9 @@ def createListener(self, **kwargs): @pytest.mark.parametrize( "current_alpn,new_alpn", [ - (None, ["None"]), - (None, ["HTTP1Only", "HTTP2Only"]), - (["HTTP1Only"], []), - (["HTTP1Only", "HTTP2Only"], ["HTTP2Only", "HTTP1Only"]), + (None, "None"), + (None, "HTTP1Only"), + ("HTTP1Only", "HTTP2Only"), ], ) def test__compare_listener_alpn_policy(self, current_protocol, current_alpn, new_alpn): @@ -197,11 +196,9 @@ def test__compare_listener_alpn_policy(self, current_protocol, current_alpn, new result = None if current_protocol != "TLS": result = {"Protocol": "TLS"} - if new_alpn and any( - (current_protocol != "TLS", not current_alpn, current_alpn and sorted(current_alpn) != sorted(new_alpn)) - ): + if new_alpn and any((current_protocol != "TLS", not current_alpn, current_alpn and current_alpn != new_alpn)): result = result or {} - result["AlpnPolicy"] = sorted(new_alpn) + result["AlpnPolicy"] = [new_alpn] assert result == elbv2.ELBListeners._compare_listener(current_listener, new_listener)