Example #1
0
    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)
Example #2
0
    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)
Example #3
0
    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)
Example #4
0
    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)
Example #5
0
    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)
Example #6
0
    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')
Example #7
0
    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)
Example #8
0
    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)
Example #9
0
    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)
Example #10
0
    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
Example #11
0
    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
Example #12
0
    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)
Example #13
0
    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)
Example #14
0
    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)
Example #15
0
    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())
Example #16
0
    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())
Example #17
0
    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')
Example #18
0
    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)
Example #19
0
    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)
Example #20
0
    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')
Example #21
0
    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)
Example #23
0
    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)
Example #24
0
    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)
Example #25
0
    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')
Example #27
0
    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)
Example #28
0
    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)
Example #29
0
    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)
Example #31
0
    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)
Example #34
0
    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)
Example #35
0
    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])
Example #37
0
    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')
Example #38
0
    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)
Example #39
0
    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])
Example #40
0
    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)