Files
computer-playbook/tests/unit/python/plugins/lookup/test_network_served.py
T
kevinveenbirkenbachandClaude Opus 5.5 8e7dd508c9 style(tests): apply the formatter to the network_served tests
The autoformat step of the gate wrapped the long assertions that
660ad2ff16 committed unformatted. No behaviour change.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-16 21:40:19 +02:00

61 lines
2.1 KiB
Python

import unittest
from ansible.errors import AnsibleError
import plugins.lookup.network_served as served_mod
class TestNetworkServedLookup(unittest.TestCase):
def _run(self, name, **variables):
return served_mod.LookupModule().run([name], variables=variables)[0]
def test_a_node_without_tor_serves_clearnet_only(self):
self.assertTrue(self._run("clearnet", group_names=["web-app-x"]))
self.assertFalse(self._run("tor", group_names=["web-app-x"]))
def test_a_tor_node_without_a_mode_serves_both(self):
self.assertTrue(self._run("clearnet", group_names=["svc-net-tor"]))
self.assertTrue(self._run("tor", group_names=["svc-net-tor"]))
def test_a_tor_only_node_drops_clearnet(self):
self.assertFalse(
self._run("clearnet", group_names=["svc-net-tor"], NETWORK_MODE="tor")
)
def test_a_tor_node_pinned_to_clearnet_drops_tor(self):
self.assertFalse(
self._run("tor", group_names=["svc-net-tor"], NETWORK_MODE="clearnet")
)
def test_a_named_role_must_be_deployed(self):
lookup = served_mod.LookupModule()
variables = {"group_names": ["svc-net-tor", "web-app-keycloak"]}
self.assertTrue(
lookup.run(["clearnet", "web-app-keycloak"], variables=variables)[0]
)
self.assertFalse(
lookup.run(["clearnet", "web-app-dashboard"], variables=variables)[0]
)
def test_a_deployed_role_on_a_tor_only_node_stays_off(self):
lookup = served_mod.LookupModule()
variables = {
"group_names": ["svc-net-tor", "web-app-keycloak"],
"NETWORK_MODE": "tor",
}
self.assertFalse(
lookup.run(["clearnet", "web-app-keycloak"], variables=variables)[0]
)
def test_a_mode_the_node_cannot_serve_fails_loudly(self):
with self.assertRaises(AnsibleError):
self._run("clearnet", group_names=["web-app-x"], NETWORK_MODE="tor")
def test_an_unknown_network_fails_loudly(self):
with self.assertRaises(AnsibleError):
self._run("handshake", group_names=["svc-net-tor"])
if __name__ == "__main__":
unittest.main()