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(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_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()
Example #5
0
    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()