import unittest import yaml import config.bridgedomain as bridgedomain class TestBridgeDomainMethods(unittest.TestCase): def setUp(self): with open("unittest/test_bridgedomain.yaml", "r") as f: self.cfg = yaml.load(f, Loader = yaml.FullLoader) def test_get_by_name(self): ifname, iface = bridgedomain.get_by_name(self.cfg, "bd10") self.assertIsNotNone(iface) self.assertEqual("bd10", ifname) self.assertEqual(iface['mtu'], 3000) self.assertIn("BondEthernet0", iface['interfaces']) ifname, iface = bridgedomain.get_by_name(self.cfg, "bd-notexist") 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.assertFalse(bridgedomain.is_bridgedomain(self.cfg, "bd-notexist")) self.assertFalse(bridgedomain.is_bridgedomain(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")) self.assertFalse(bridgedomain.is_bridge_interface(self.cfg, "GigabitEthernet3/0/0")) self.assertFalse(bridgedomain.is_bridge_interface(self.cfg, "GigabitEthernet3/0/0.100")) def test_unique(self): self.assertFalse(bridgedomain.is_bridge_interface_unique(self.cfg, "GigabitEthernet1/0/0")) self.assertTrue(bridgedomain.is_bridge_interface_unique(self.cfg, "GigabitEthernet2/0/0.100")) def test_enumerators(self): ifs = bridgedomain.get_bridge_interfaces(self.cfg) self.assertEqual(len(ifs), 8) self.assertIn("BondEthernet0", ifs) self.assertIn("GigabitEthernet1/0/0", ifs) self.assertIn("GigabitEthernet2/0/0.100", ifs) def test_bvi_unique(self): self.assertTrue(bridgedomain.bvi_unique(self.cfg, "loop0")) self.assertFalse(bridgedomain.bvi_unique(self.cfg, "loop1")) self.assertTrue(bridgedomain.bvi_unique(self.cfg, "loop2")) def test_get_bridgedomains(self): ifs = bridgedomain.get_bridgedomains(self.cfg) self.assertEqual(len(ifs), 6) def test_get_settings(self): settings = bridgedomain.get_settings(self.cfg, "bd1") self.assertIsNone(settings) settings = bridgedomain.get_settings(self.cfg, "bd10") self.assertTrue(settings['learn']) self.assertTrue(settings['unknown-unicast-flood']) self.assertTrue(settings['unicast-flood']) self.assertEqual(settings['mac-age-minutes'], 0) settings = bridgedomain.get_settings(self.cfg, "bd11") self.assertTrue(settings['learn']) self.assertFalse(settings['unknown-unicast-flood']) self.assertFalse(settings['unicast-flood']) self.assertEqual(settings['mac-age-minutes'], 10)