def execute_flow(self, supported_os, shell_name, shell_type,
                  resource_name):
     with self._snmp_handler.get_snmp_service() as snpm_service:
         juniper_snmp_autoload = JuniperSnmpAutoload(
             snpm_service, shell_name, shell_type, resource_name,
             self._logger)
         return juniper_snmp_autoload.discover(supported_os)
Beispiel #2
0
 def setUp(self):
     self._snmp_handler = Mock()
     self._logger = Mock()
     self._config = Mock()
     self._cli_service = Mock()
     self._snmp_community = Mock()
     self._autoload_operations_instance = JuniperSnmpAutoload(
         snmp_handler=self._snmp_handler,
         logger=self._logger,
         config=self._config,
         cli_service=self._cli_service,
         snmp_community=self._snmp_community)
#
MIB_DATA_MAP = {
    'JUNIPER-MIB::jnxContainersTable': G_DATA['jnxContainersTable'],
    'JUNIPER-MIB::jnxContentsTable': G_DATA['jnxContentsTable'],
    'SNMPv2-MIB::system': G_DATA['system'],
    'JUNIPER-IF-MIB::ifChassisTable': G_DATA['ifChassisTable'],
    'IF-MIB::interfaces': G_DATA['interfaces'],
    'IP-MIB::ipAddrTable': G_DATA['ipAddrTable'],
    'IEEE8023-LAG-MIB::dot3adAggPortAttachedAggID':
    G_DATA['dot3adAggPortTable'],
    'EtherLike-MIB::dot3StatsDuplexStatus': G_DATA['dot3StatsDuplexStatus']
}

snmp_handler = FakeSnmpHandler(MIB_DATA_MAP)

snmp_autoload = JuniperSnmpAutoload(snmp_handler, logger=logger)
print(snmp_autoload.discover_snmp())
# print(snmp_autoload._get_device_details())
# print(snmp_autoload.ports[599].attributes)

# print(snmp_autoload._generate_description_string())

# print(snmp_autoload.elements)
# snmp_autoload.add_ports_if_attributes(build_mib_dict(NTT_IF_MIB, "if attrs"), build_mib_dict(NTT_JUNIPER_IF_MIB, "if mmm"))

# print('\n'.join(map(str, ['{0}, {1}'.format(element.relative_path, element.type_string) for element in snmp_autoload.elements.values() if element.type in ELEMENT_DEFINITION])))
# print('\n'.join(map(str, [port.attributes["ifDescr"] for port in snmp_autoload.ports.values() if port.relative_path is None and port.logical_unit is "0"])))
# print('\n'.join(map(str, [
#     "{0}, {1}, {2}, {3}".format(port.attributes["ifDescr"], port.attributes["ifType"], port.relative_path,
#                                 port.index) for port in
#     snmp_autoload.ports.values()])))