def test_auto_discover_ifindex(self, mock_get_uplink_mac, mock_get_local_mac): mock_get_uplink_mac.return_value = '00:01:02:03:04:05' mock_get_local_mac.return_value = '00:01:02:03:04:06' # Identify the switch. self.fake_session.prepare('sysDescr.0', 'sysDescr.0', _JUNIPER_QFX_SYS_DESCR), # Setup uplink MAC. self.fake_session.prepare( discovery._OIDS['Q-BRIDGE-MIB::dot1qTpFdbPort'], discovery._mac_to_oid('00:01:02:03:04:05'), '10') self.fake_session.prepare( discovery._OIDS['BRIDGE-MIB::dot1dBasePortIfIndex'] + '.10', 'any_oid_prefix', '12') # Setup local MAC. self.fake_session.prepare( discovery._OIDS['Q-BRIDGE-MIB::dot1qTpFdbPort'], discovery._mac_to_oid('00:01:02:03:04:06'), '20') self.fake_session.prepare( discovery._OIDS['BRIDGE-MIB::dot1dBasePortIfIndex'] + '.20', 'any_oid_prefix', '22') found_ports = self.session.auto_discover_ifindex() self.assertItemsEqual([('uplink', '12'), ('local', '22')], found_ports)
def test_auto_discover_ifindex_raises_PortLookupFailed( self, mock_get_uplink_mac, mock_get_local_mac): mock_get_uplink_mac.return_value = '00:01:02:03:04:05' mock_get_local_mac.return_value = '00:01:02:03:04:06' # Identify the switch. self.fake_session.prepare('sysDescr.0', 'sysDescr.0', _JUNIPER_QFX_SYS_DESCR) # Setup uplink MAC. self.fake_session.prepare( discovery._OIDS['Q-BRIDGE-MIB::dot1qTpFdbPort'], discovery._mac_to_oid('00:01:02:03:04:05'), '10') # Exclude the uplink BRIDGE-MIB::dot1dBasePortIfIndex so lookup fails. with self.assertRaises(discovery.PortLookupFailed): self.session.auto_discover_ifindex()
def test_auto_discover_ifindex_invalid_value_raises_PortLookupFailed( self, mock_get_uplink_mac, mock_get_local_mac): mock_get_uplink_mac.return_value = '00:01:02:03:04:05' mock_get_local_mac.return_value = '00:01:02:03:04:06' # Identify the switch. self.fake_session.prepare('sysDescr.0', 'sysDescr.0', _JUNIPER_QFX_SYS_DESCR) # Setup uplink MAC self.fake_session.prepare( discovery._OIDS['Q-BRIDGE-MIB::dot1qTpFdbPort'], discovery._mac_to_oid('00:01:02:03:04:05'), '10') # Return an (invalid) empty ifIndex value. self.fake_session.prepare( discovery._OIDS['BRIDGE-MIB::dot1dBasePortIfIndex'] + '.10', 'any_oid_prefix', '') with self.assertRaises(discovery.PortLookupFailed): self.session.auto_discover_ifindex()