Skip to content

Commit

Permalink
Add unit tests to cover rich rules normalization
Browse files Browse the repository at this point in the history
  • Loading branch information
meaksh authored and dwoz committed Jul 11, 2024
1 parent bd60c9b commit 2261125
Showing 1 changed file with 51 additions and 0 deletions.
51 changes: 51 additions & 0 deletions tests/pytests/unit/states/test_firewalld.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,3 +59,54 @@ def test_masquerade():
"comment": "'public' is already in the desired state.",
"name": "public",
}


@pytest.mark.parametrize(
"rich_rule",
[
(
[
'rule family="ipv4" source address="192.168.0.0/16" port port=22 protocol=tcp accept'
]
),
(
[
'rule family="ipv4" source address="192.168.0.0/16" port port=\'22\' protocol=tcp accept'
]
),
(
[
"rule family='ipv4' source address='192.168.0.0/16' port port='22' protocol=tcp accept"
]
),
],
)
def test_present_rich_rules_normalized(rich_rule):
firewalld_reload_rules = MagicMock(return_value={})
firewalld_rich_rules = [
'rule family="ipv4" source address="192.168.0.0/16" port port="22" protocol="tcp" accept',
]

firewalld_get_zones = MagicMock(
return_value=[
"block",
"public",
]
)
firewalld_get_masquerade = MagicMock(return_value=True)
firewalld_get_rich_rules = MagicMock(return_value=firewalld_rich_rules)

__salt__ = {
"firewalld.reload_rules": firewalld_reload_rules,
"firewalld.get_zones": firewalld_get_zones,
"firewalld.get_masquerade": firewalld_get_masquerade,
"firewalld.get_rich_rules": firewalld_get_rich_rules,
}
with patch.dict(firewalld.__dict__, {"__salt__": __salt__}):
ret = firewalld.present("public", rich_rules=rich_rule)
assert ret == {
"changes": {},
"result": True,
"comment": "'public' is already in the desired state.",
"name": "public",
}

0 comments on commit 2261125

Please sign in to comment.