Skip to content

Commit

Permalink
AlpnPolicy should be defined as str instead of list[str]
Browse files Browse the repository at this point in the history
  • Loading branch information
abikouo committed Nov 28, 2023
1 parent 89ad78d commit 9b32a8a
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 12 deletions.
8 changes: 4 additions & 4 deletions plugins/module_utils/elbv2.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
13 changes: 5 additions & 8 deletions tests/unit/module_utils/test_elbv2.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand All @@ -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)

Expand Down

0 comments on commit 9b32a8a

Please sign in to comment.