def test_getPsu2Status(self): oid = ObjectIdentifier(2, 0, 0, 0, (1, 3, 6, 1, 4, 1, 9, 9, 117, 1, 1, 2, 1, 2, 2)) get_pdu = GetPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.INTEGER) self.assertEqual(str(value0.name), str(oid)) self.assertEqual(value0.data, 2)
def test_getpdu_noinstance_eth0_docker0(self): oid = ObjectIdentifier( 20, 0, 1, 0, (1, 3, 6, 1, 2, 1, 4, 22, 1, 2, 9, 240, 127, 1, 1)) get_pdu = GetPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) print(response) n = len(response.values) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.NO_SUCH_INSTANCE)
def test_getpdu_disappeared(self): oid = ObjectIdentifier( 20, 0, 0, 0, (1, 3, 6, 1, 4, 1, 9, 9, 187, 1, 2, 5, 1, 3, 2, 16, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x10)) get_pdu = GetPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.NO_SUCH_INSTANCE)
def test_getpdu_internal_noinstance(self): get_pdu = GetPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=(ObjectIdentifier( 20, 0, 0, 0, (1, 3, 6, 1, 2, 1, 4, 24, 4, 1, 1, 0, 0, 0, 0, 0, 10, 10, 0, 5)), )) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) print(response) n = len(response.values) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.NO_SUCH_INSTANCE)
def test_getPsu2Status(self): oid = ObjectIdentifier(2, 0, 0, 0, (1, 3, 6, 1, 4, 1, 9, 9, 117, 1, 1, 2, 1, 2, 2)) get_pdu = GetPDU( header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid] ) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.INTEGER) self.assertEqual(str(value0.name), str(oid)) self.assertEqual(value0.data, 2)
def test_getpdu(self): oid = ObjectIdentifier( 20, 0, 0, 0, (1, 3, 6, 1, 2, 1, 4, 22, 1, 2, 37, 10, 0, 0, 19)) get_pdu = GetPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.OCTET_STRING) self.assertEqual(str(value0.name), str(oid)) self.assertEqual(value0.data.string, b'\x52\x54\x00\x04\x52\x5d')
def test_getPduIndicationForPort(self): oid = ObjectIdentifier(32, 0, 0, 0, (1, 3, 6, 1, 4, 1, 9, 9, 813, 1, 1, 1, 2, 1)) get_pdu = GetPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut_port) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.COUNTER_64) self.assertEqual(str(value0.name), str(oid)) self.assertEqual(value0.data, 4)
def test_getpdu(self): oid = ObjectIdentifier(20, 0, 0, 0, (1, 3, 6, 1, 2, 1, 17, 7, 1, 2, 2, 1, 2, 1000, 124, 254, 144, 128, 159, 4)) get_pdu = GetPDU( header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid] ) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.INTEGER) self.assertEqual(str(value0.name), str(oid)) self.assertEqual(value0.data, 113)
def test_getpdu_noinstance(self): get_pdu = GetPDU( header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=( ObjectIdentifier(20, 0, 0, 0, (1, 3, 6, 1, 2, 1, 17, 7, 1, 2, 2, 1, 2, 1000, 100001)), ) ) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) print(response) n = len(response.values) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.NO_SUCH_INSTANCE)
def test_getPduRequestForPriority(self): oid = ObjectIdentifier(8, 0, 0, 0, (1, 3, 6, 1, 4, 1, 9, 9, 813, 1, 2, 1, 2, 9, 0)) get_pdu = GetPDU( header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid] ) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut_prio) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.COUNTER_64) self.assertEqual(str(value0.name), str(oid)) self.assertEqual(value0.data, 209347219842134092490 % pow(2, 64)) # Test integer truncation
def test_getPduRequestForPriority(self): oid = ObjectIdentifier(8, 0, 0, 0, (1, 3, 6, 1, 4, 1, 9, 9, 813, 1, 2, 1, 2, 1, 0)) get_pdu = GetPDU( header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid] ) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut_prio) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.COUNTER_64) self.assertEqual(str(value0.name), str(oid)) self.assertEqual(value0.data, 209347219842134092490 % pow(2, 64)) # Test integer truncation
def test_getpdu(self): oid = ObjectIdentifier(20, 0, 0, 0, (1, 3, 6, 1, 2, 1, 17, 7, 1, 2, 2, 1, 2, 1000, 124, 254, 144, 128, 159, 4)) get_pdu = GetPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.INTEGER) self.assertEqual(str(value0.name), str(oid)) self.assertEqual(value0.data, 113)
def test_getPduIndicationForPort(self): oid = ObjectIdentifier(32, 0, 0, 0, (1, 3, 6, 1, 4, 1, 9, 9, 813, 1, 1, 1, 2, 1)) get_pdu = GetPDU( header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid] ) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut_port) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.COUNTER_64) self.assertEqual(str(value0.name), str(oid)) self.assertEqual(value0.data, 4)
def test_getMulticastQueueCounters(self): oid = ObjectIdentifier( 8, 0, 0, 0, (1, 3, 6, 1, 4, 1, 9, 9, 580, 1, 5, 5, 1, 4, 5, 2, 1, 9)) get_pdu = GetPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.NO_SUCH_INSTANCE) self.assertEqual(str(value0.name), str(oid)) self.assertEqual(value0.data, None)
def test_getpdu(self): oid = ObjectIdentifier(14, 0, 1, 0, (1, 3, 6, 1, 2, 1, 4, 21, 1, 7, 0, 0, 0, 0)) get_pdu = GetPDU( header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid] ) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.IP_ADDRESS) self.assertEqual(str(value0.name), str(oid)) self.assertEqual(str(value0.data), ipaddress.ip_address("10.0.0.1").packed.decode())
def test_getpdu(self): oid = ObjectIdentifier(24, 0, 1, 0, (1, 3, 6, 1, 2, 1, 4, 24, 4, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 15)) get_pdu = GetPDU( header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid] ) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.IP_ADDRESS) self.assertEqual(str(value0.name), str(oid)) self.assertEqual(str(value0.data), ipaddress.ip_address("0.0.0.0").packed.decode())
def test_getpdu(self): oid = ObjectIdentifier(20, 0, 0, 0, (1, 3, 6, 1, 2, 1, 4, 22, 1, 2, 37, 10, 0, 0, 19)) get_pdu = GetPDU( header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid] ) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.OCTET_STRING) self.assertEqual(str(value0.name), str(oid)) self.assertEqual(value0.data.string, b'\x52\x54\x00\x04\x52\x5d')
def test_getpdu_established_asic2(self): oid = ObjectIdentifier( 20, 0, 0, 0, (1, 3, 6, 1, 4, 1, 9, 9, 187, 1, 2, 5, 1, 3, 1, 4, 10, 10, 0, 5)) get_pdu = GetPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.INTEGER) self.assertEqual(str(value0.name), str(oid)) self.assertEqual(value0.data, 6)
def test_roundtrip(self): get_pdu = GetPDU( header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=( ObjectIdentifier(4, 2, 0, 0, (1, 1, 1, 0)), ObjectIdentifier(4, 2, 0, 0, (2, 2, 2, 0)), ) ) encoded = get_pdu.encode() decoded = PDU.decode(encoded) self.assertEqual(decoded.header.type_, PduTypes.GET) self.assertIsInstance(get_pdu, GetPDU) self.assertEqual(get_pdu, decoded) print(get_pdu)
def test_getpdu_sysname(self): oid = ObjectIdentifier(9, 0, 0, 0, (1, 3, 6, 1, 2, 1, 1, 5, 0)) get_pdu = GetPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) print(response) n = len(response.values) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.OCTET_STRING) self.assertEqual( str(value0.name), str(ObjectIdentifier(9, 0, 0, 0, (1, 3, 6, 1, 2, 1, 1, 5, 0)))) self.assertEqual(str(value0.data), 'test_hostname')
def test_getnextpdu_exactmatch_asic0(self): # oid.include = 1 oid = ObjectIdentifier(20, 0, 1, 0, (1, 3, 6, 1, 2, 1, 4, 22, 1, 2, 1, 10, 0, 0, 0)) get_pdu = GetPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) print(response) n = len(response.values) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.OCTET_STRING) print("test_getnextpdu_exactmatch: ", str(oid)) self.assertEqual(str(value0.name), str(oid)) self.assertEqual(value0.data.string, b'\x52\x54\x00\xa5\x70\x47')
def test_in_octets_override(self): """ For a port with no speed in the db the result should be 0 """ oid = ObjectIdentifier(12, 0, 0, 0, (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 6, 5)) get_pdu = GetPDU( header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid] ) response = get_pdu.make_response(self.lut) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.COUNTER_64) self.assertEqual(str(value0.name), str(ObjectIdentifier(12, 0, 1, 0, (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 6, 5)))) self.assertEqual(value0.data, 654321)
def test_getQueueCounters(self): for counter_id in range(1, 8): oid = ObjectIdentifier( 8, 0, 0, 0, (1, 3, 6, 1, 4, 1, 9, 9, 580, 1, 5, 5, 1, 4, 1, 2, 1, 1)) get_pdu = GetPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.COUNTER_64) self.assertEqual(str(value0.name), str(oid)) self.assertEqual(value0.data, 1)
def test_getpdu_established(self): print("hello") print(bgp4.CiscoBgp4MIB.bgpsession_updater.session_status_list) oid = ObjectIdentifier( 20, 0, 0, 0, (1, 3, 6, 1, 4, 1, 9, 9, 187, 1, 2, 5, 1, 3, 1, 4, 10, 10, 0, 0)) get_pdu = GetPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.INTEGER) self.assertEqual(str(value0.name), str(oid)) self.assertEqual(value0.data, 6)
def test_mgmt_iface_description(self): """ Test mgmt port description (which is simply an alias) """ oid = ObjectIdentifier(11, 0, 0, 0, (1, 3, 6, 1, 2, 1, 2, 2, 1, 2, 10001)) get_pdu = GetPDU( header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid] ) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.OCTET_STRING) self.assertEqual(str(value0.name), str(ObjectIdentifier(11, 0, 1, 0, (1, 3, 6, 1, 2, 1, 2, 2, 1, 2, 10001)))) self.assertEqual(str(value0.data), 'mgmt1')
def test_mgmt_iface_alias(self): """ Test that mgmt port alias """ oid = ObjectIdentifier(11, 0, 0, 0, (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 1, 10001)) get_pdu = GetPDU( header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid] ) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.OCTET_STRING) self.assertEqual(str(value0.name), str(ObjectIdentifier(11, 0, 1, 0, (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 1, 10001)))) self.assertEqual(str(value0.data), 'mgmt1')
def test_mgmt_iface_admin_status(self): """ Test mgmt port admin status """ oid = ObjectIdentifier(11, 0, 0, 0, (1, 3, 6, 1, 2, 1, 2, 2, 1, 7, 10001)) get_pdu = GetPDU( header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid] ) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.INTEGER) self.assertEqual(str(value0.name), str(ObjectIdentifier(11, 0, 1, 0, (1, 3, 6, 1, 2, 1, 2, 2, 1, 7, 10001)))) self.assertEqual(value0.data, 1)
def test_getpdu_loopback_status(self): loip_tuple = (10, 1, 0, 32) # ref: appl_db.json lomask_tuple = (255, 255, 255, 255) emptyip_tuple = (0, 0, 0, 0) oid = ObjectIdentifier( 24, 0, 1, 0, (1, 3, 6, 1, 2, 1, 4, 24, 4, 1, 16) + loip_tuple + lomask_tuple + (0, ) + emptyip_tuple) get_pdu = GetPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.INTEGER) self.assertEqual(str(value0.name), str(oid)) self.assertEqual(value0.data, 1)
def test_out_errors_rif(self): """ For a port with RIF the counter values are aggregated """ oid = ObjectIdentifier(11, 0, 0, 0, (1, 3, 6, 1, 2, 1, 2, 2, 1, 20, 9)) get_pdu = GetPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) response = get_pdu.make_response(self.lut) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.COUNTER_32) self.assertEqual( str(value0.name), str( ObjectIdentifier(11, 0, 1, 0, (1, 3, 6, 1, 2, 1, 2, 2, 1, 20, 9)))) self.assertEqual(value0.data, 102)
def test_out_errors_vlan_subinterface(self): """ For a port with multiple vlan subinterfaces (RIF) all RIF drops are accumulated """ oid = ObjectIdentifier(11, 0, 0, 0, (1, 3, 6, 1, 2, 1, 2, 2, 1, 20, 9)) get_pdu = GetPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) response = get_pdu.make_response(self.lut) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.COUNTER_32) self.assertEqual( str(value0.name), str( ObjectIdentifier(11, 0, 1, 0, (1, 3, 6, 1, 2, 1, 2, 2, 1, 20, 9)))) self.assertEqual(value0.data, 203)
def test_in_octets_override(self): """ For a port with no speed in the db the result should be 0 """ oid = ObjectIdentifier(11, 0, 0, 0, (1, 3, 6, 1, 2, 1, 2, 2, 1, 10, 1)) get_pdu = GetPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) response = get_pdu.make_response(self.lut) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.COUNTER_32) self.assertEqual( str(value0.name), str( ObjectIdentifier(11, 0, 1, 0, (1, 3, 6, 1, 2, 1, 2, 2, 1, 10, 1)))) self.assertEqual(value0.data, 54321)
def test_out_errors_vlan(self): """ For a l3 Vlan values are mapped from RIF stats """ oid = ObjectIdentifier(11, 0, 0, 0, (1, 3, 6, 1, 2, 1, 2, 2, 1, 20, 3000)) get_pdu = GetPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) response = get_pdu.make_response(self.lut) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.COUNTER_32) self.assertEqual( str(value0.name), str( ObjectIdentifier(11, 0, 1, 0, (1, 3, 6, 1, 2, 1, 2, 2, 1, 20, 3000)))) self.assertEqual(value0.data, 2)
def test_out_errors_portchannel(self): """ For a l3 portchannel interface value is accumulated on members plus added Rif counters """ oid = ObjectIdentifier(11, 0, 0, 0, (1, 3, 6, 1, 2, 1, 2, 2, 1, 20, 1001)) get_pdu = GetPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) response = get_pdu.make_response(self.lut) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.COUNTER_32) self.assertEqual( str(value0.name), str( ObjectIdentifier(11, 0, 1, 0, (1, 3, 6, 1, 2, 1, 2, 2, 1, 20, 1001)))) self.assertEqual(value0.data, 106)
def test_getpdu_loopback_status(self): loip_tuple = (10, 1, 0, 32) # ref: appl_db.json lomask_tuple = (255, 255, 255, 255) emptyip_tuple = (0, 0, 0, 0) oid = ObjectIdentifier(24, 0, 1, 0 , (1, 3, 6, 1, 2, 1, 4, 24, 4, 1, 16) + loip_tuple + lomask_tuple + (0,) + emptyip_tuple ) get_pdu = GetPDU( header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid] ) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.INTEGER) self.assertEqual(str(value0.name), str(oid)) self.assertEqual(value0.data, 1)
def test_mgmt_iface_name(self): """ Test that mgmt port is present in the MIB """ oid = ObjectIdentifier(11, 0, 0, 0, (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 1, 10000)) get_pdu = GetPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.OCTET_STRING) self.assertEqual( str(value0.name), str( ObjectIdentifier(11, 0, 1, 0, (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 1, 10000)))) self.assertEqual(str(value0.data), 'eth0')
def _test_getpdu_xcvr_sensor(self, sub_id, expected_values): """ Test case for correctness of transceiver sensor MIB values :param sub_id: sub OID of the sensor :expected values: iterable of expected values TYPE, SCALE, PRECISION, VALUE """ # generate OIDs for TYPE(.1), SCALE(.2), PRECISION(.3), VALUE(.4) # for given sub OID oids = self.generate_oids_for_physical_sensor_mib(sub_id) get_pdu = GetPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=oids) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) for index, value in enumerate(response.values): self.assertEqual(str(value.name), str(oids[index])) self.assertEqual(value.type_, ValueType.INTEGER) self.assertEqual(value.data, expected_values[index])
def test_vlan_iface_description_ifMIB(self): """ Test vlan interface description (which is simply the name) in the ifMIB OID path of the MIB """ oid = ObjectIdentifier(12, 0, 0, 0, (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 18, 3000)) get_pdu = GetPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.OCTET_STRING) self.assertEqual( str(value0.name), str( ObjectIdentifier(12, 0, 1, 0, (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 18, 3000)))) self.assertEqual(str(value0.data), 'Vlan1000')
def test_mgmt_iface_speed(self): """ Test that mgmt port speed is 1000 """ oid = ObjectIdentifier(11, 0, 0, 0, (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 15, 10000)) get_pdu = GetPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) print(response) value0 = response.values[0] self.assertEqual(value0.type_, ValueType.GAUGE_32) self.assertEqual( str(value0.name), str( ObjectIdentifier(11, 0, 1, 0, (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 15, 10000)))) self.assertEqual(value0.data, 1000)
def _test_getpdu_xcvr_sensor(self, sub_id, expected_values): """ Test case for correctness of transceiver sensor MIB values :param sub_id: sub OID of the sensor :expected values: iterable of expected values TYPE, SCALE, PRECISION, VALUE """ # generate OIDs for TYPE(.1), SCALE(.2), PRECISION(.3), VALUE(.4) # for given sub OID oids = self.generate_oids_for_physical_sensor_mib(sub_id) get_pdu = GetPDU( header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=oids ) encoded = get_pdu.encode() response = get_pdu.make_response(self.lut) for index, value in enumerate(response.values): self.assertEqual(str(value.name), str(oids[index])) self.assertEqual(value.type_, ValueType.INTEGER) self.assertEqual(value.data, expected_values[index])
def test_subtype_lldp_rem_man_addr_table(self): # Get the first entry of walk. We will get IPv4 Address associated with Ethernet92 Port # Verfiy both valid ipv4 and ipv6 address exist for entry in range(3, 6): oid = ObjectIdentifier(11, 0, 0, 0, (1, 0, 8802, 1, 1, 2, 1, 4, 2, 1, entry)) get_pdu = GetNextPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) response = get_pdu.make_response(self.lut) value0 = response.values[0] self.assertEqual( str(value0.name), str( ObjectIdentifier(20, 0, 0, 0, (1, 0, 8802, 1, 1, 2, 1, 4, 2, 1, entry, 32, 93, 1, 1, 4, 10, 224, 25, 123)))) if entry == 3: self.assertEqual(value0.type_, ValueType.INTEGER) self.assertEqual(value0.data, 2) elif entry == 4: self.assertEqual(value0.type_, ValueType.INTEGER) self.assertEqual(value0.data, 0) else: self.assertEqual(value0.type_, ValueType.OBJECT_IDENTIFIER) self.assertEqual( str(value0.data), str(ObjectIdentifier(5, 2, 0, 0, (1, 2, 2, 1, 1)))) # Get next on above to get IPv6 Entry. We will get IPv6 Address associated with Ethernet92 Port oid = ObjectIdentifier( 16, 0, 0, 0, (1, 0, 8802, 1, 1, 2, 1, 4, 2, 1, entry, 32, 93, 1, 1, 16)) get_pdu = GetNextPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) response = get_pdu.make_response(self.lut) value0 = response.values[0] self.assertEqual( str(value0.name), str( ObjectIdentifier(20, 0, 1, 0, (1, 0, 8802, 1, 1, 2, 1, 4, 2, 1, entry, 32, 93, 1, 2, 16, 38, 3, 16, 226, 2, 144, 80, 22, 0, 0, 0, 0, 0, 0, 0, 0)))) if entry == 3: self.assertEqual(value0.type_, ValueType.INTEGER) self.assertEqual(value0.data, 2) elif entry == 4: self.assertEqual(value0.type_, ValueType.INTEGER) self.assertEqual(value0.data, 0) else: self.assertEqual(value0.type_, ValueType.OBJECT_IDENTIFIER) self.assertEqual( str(value0.data), str(ObjectIdentifier(5, 2, 0, 0, (1, 2, 2, 1, 1)))) # Verfiy both valid ipv4 and invalid ipv6 address exist. Ethernet5 has this config. oid = ObjectIdentifier(20, 0, 0, 0, (1, 0, 8802, 1, 1, 2, 1, 4, 2, 1, 3, 18543, 5, 1, 1, 4, 10, 224, 25, 101)) get_pdu = GetPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) response = get_pdu.make_response(self.lut) value0 = response.values[0] self.assertEqual( str(value0.name), str( ObjectIdentifier(20, 0, 0, 0, (1, 0, 8802, 1, 1, 2, 1, 4, 2, 1, 3, 18543, 5, 1, 1, 4, 10, 224, 25, 101)))) self.assertEqual(value0.type_, ValueType.INTEGER) self.assertEqual(value0.data, 2) # Verfiy only valid ipv4 address exist. Ethernet8 has this config. oid = ObjectIdentifier(20, 0, 0, 0, (1, 0, 8802, 1, 1, 2, 1, 4, 2, 1, 3, 18543, 9, 1, 1, 4, 10, 224, 25, 102)) get_pdu = GetPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) response = get_pdu.make_response(self.lut) value0 = response.values[0] self.assertEqual( str(value0.name), str( ObjectIdentifier(20, 0, 0, 0, (1, 0, 8802, 1, 1, 2, 1, 4, 2, 1, 3, 18543, 9, 1, 1, 4, 10, 224, 25, 102)))) self.assertEqual(value0.type_, ValueType.INTEGER) self.assertEqual(value0.data, 2) # Verfiy only valid ipv6 address exist. Ethernet12 has this config. oid = ObjectIdentifier( 20, 0, 0, 0, (1, 0, 8802, 1, 1, 2, 1, 4, 2, 1, 3, 18545, 13, 1, 2, 16, 254, 128, 38, 138, 0, 0, 0, 0, 0, 0, 7, 255, 254, 63, 131, 76)) get_pdu = GetPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) response = get_pdu.make_response(self.lut) value0 = response.values[0] self.assertEqual( str(value0.name), str( ObjectIdentifier(20, 0, 0, 0, (1, 0, 8802, 1, 1, 2, 1, 4, 2, 1, 3, 18545, 13, 1, 2, 16, 254, 128, 38, 138, 0, 0, 0, 0, 0, 0, 7, 255, 254, 63, 131, 76)))) self.assertEqual(value0.type_, ValueType.INTEGER) self.assertEqual(value0.data, 2) # Verfiy no mgmt address exist. Ethernet16 has this config. oid = ObjectIdentifier(11, 0, 0, 0, (1, 0, 8802, 1, 1, 2, 1, 4, 2, 1, 3, 18545, 17)) get_pdu = GetNextPDU(header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), oids=[oid]) response = get_pdu.make_response(self.lut) value0 = response.values[0] # Should move to other interface. Ethernet22 self.assertEqual( str(value0.name), str( ObjectIdentifier(20, 0, 0, 0, (1, 0, 8802, 1, 1, 2, 1, 4, 2, 1, 3, 18545, 21, 1, 1, 4, 10, 224, 25, 105)))) self.assertEqual(value0.type_, ValueType.INTEGER) self.assertEqual(value0.data, 2)