Add get_by_lcp_name() + tests

This commit is contained in:
Pim van Pelt
2022-03-24 20:38:28 +00:00
parent de9ed1730d
commit 82bcb24d5e
4 changed files with 38 additions and 0 deletions

View File

@ -26,6 +26,16 @@ def get_bridgedomains(yaml):
return ret return ret
def get_by_lcp_name(yaml, lcpname):
""" Returns the bridgedomain by a given lcp name, or None,None if it does not exist """
if not 'bridgedomains' in yaml:
return None,None
for ifname, iface in yaml['bridgedomains'].items():
if 'lcp' in iface and iface['lcp'] == lcpname:
return ifname, iface
return None,None
def get_by_name(yaml, ifname): def get_by_name(yaml, ifname):
""" Return the BridgeDomain by name, if it exists. Return None,None otherwise. """ """ Return the BridgeDomain by name, if it exists. Return None,None otherwise. """
try: try:

View File

@ -24,6 +24,16 @@ def get_loopbacks(yaml):
return ret return ret
def get_by_lcp_name(yaml, lcpname):
""" Returns the loopback by a given lcp name, or None,None if it does not exist """
if not 'loopbacks' in yaml:
return None,None
for ifname, iface in yaml['loopbacks'].items():
if 'lcp' in iface and iface['lcp'] == lcpname:
return ifname, iface
return None,None
def get_by_name(yaml, ifname): def get_by_name(yaml, ifname):
""" Return the loopback by name, if it exists. Return None otherwise. """ """ Return the loopback by name, if it exists. Return None otherwise. """
try: try:

View File

@ -7,6 +7,15 @@ class TestBridgeDomainMethods(unittest.TestCase):
with open("unittest/test_bridgedomain.yaml", "r") as f: with open("unittest/test_bridgedomain.yaml", "r") as f:
self.cfg = yaml.load(f, Loader = yaml.FullLoader) self.cfg = yaml.load(f, Loader = yaml.FullLoader)
def test_get_by_lcp_name(self):
ifname, iface = bridgedomain.get_by_lcp_name(self.cfg, "bvi12")
self.assertIsNotNone(iface)
self.assertEqual("bd12", ifname)
ifname, iface = bridgedomain.get_by_lcp_name(self.cfg, "bvi-noexist")
self.assertIsNone(iface)
self.assertIsNone(ifname)
def test_get_by_name(self): def test_get_by_name(self):
ifname, iface = bridgedomain.get_by_name(self.cfg, "bd10") ifname, iface = bridgedomain.get_by_name(self.cfg, "bd10")
self.assertIsNotNone(iface) self.assertIsNotNone(iface)

View File

@ -7,6 +7,15 @@ class TestLoopbackMethods(unittest.TestCase):
with open("unittest/test_loopback.yaml", "r") as f: with open("unittest/test_loopback.yaml", "r") as f:
self.cfg = yaml.load(f, Loader = yaml.FullLoader) self.cfg = yaml.load(f, Loader = yaml.FullLoader)
def test_get_by_lcp_name(self):
ifname, iface = loopback.get_by_lcp_name(self.cfg, "loop56789012345")
self.assertIsNotNone(iface)
self.assertEqual("loop1", ifname)
ifname, iface = loopback.get_by_lcp_name(self.cfg, "lcp-noexist")
self.assertIsNone(iface)
self.assertIsNone(ifname)
def test_get_by_name(self): def test_get_by_name(self):
ifname, iface = loopback.get_by_name(self.cfg, "loop1") ifname, iface = loopback.get_by_name(self.cfg, "loop1")
self.assertIsNotNone(iface) self.assertIsNotNone(iface)