Add a few additional useful functions

- is_*() returns True if the interface name is of a certain type
  is_bondethernet() is_loopback() is_bvi() is_bridgedomain()
  is_vxlan_tunnel() is_phy()
- get_phys() by process of elimination, returns all interface names
  that are supposed to be physical network interfaces.

Add unit tests for validator/vxlan_tunnel.py
 => Notable: while here, fix a bug in get_by_name()
Add unit tests for all the is_*() and get_phys() functions.
This commit is contained in:
Pim van Pelt
2022-03-24 10:45:34 +00:00
parent ac5b8fcc8f
commit b43d7903fd
10 changed files with 182 additions and 2 deletions

View File

@ -18,6 +18,20 @@ class TestBridgeDomainMethods(unittest.TestCase):
self.assertIsNone(iface)
self.assertIsNone(ifname)
def test_is_bridgedomain(self):
self.assertTrue(bridgedomain.is_bridgedomain(self.cfg, "bd10"))
self.assertTrue(bridgedomain.is_bridgedomain(self.cfg, "bd11"))
self.assertTrue(bridgedomain.is_bridgedomain(self.cfg, "bd12"))
self.assertFalse(bridgedomain.is_bridgedomain(self.cfg, "bd-notexist"))
self.assertFalse(bridgedomain.is_bridgedomain(self.cfg, "GigabitEthernet1/0/0"))
def test_is_bvi(self):
self.assertFalse(bridgedomain.is_bvi(self.cfg, "bvi10"))
self.assertTrue(bridgedomain.is_bvi(self.cfg, "bvi11"))
self.assertTrue(bridgedomain.is_bvi(self.cfg, "bvi12"))
self.assertFalse(bridgedomain.is_bvi(self.cfg, "bvi-notexist"))
self.assertFalse(bridgedomain.is_bvi(self.cfg, "GigabitEthernet1/0/0"))
def test_members(self):
self.assertTrue(bridgedomain.is_bridge_interface(self.cfg, "GigabitEthernet1/0/0"))
self.assertTrue(bridgedomain.is_bridge_interface(self.cfg, "GigabitEthernet2/0/0.100"))