Esempio n. 1
0
    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')
Esempio n. 2
0
    def _test_getpdu_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])
Esempio n. 3
0
    def test_vlan_iface_description(self):
        """
        Test vlan interface description (which is simply the name)
        """
        oid = ObjectIdentifier(11, 0, 0, 0,
                               (1, 3, 6, 1, 2, 1, 2, 2, 1, 2, 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(11, 0, 1, 0,
                                 (1, 3, 6, 1, 2, 1, 2, 2, 1, 2, 3000))))
        self.assertEqual(str(value0.data), 'Vlan1000')
Esempio n. 4
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)
Esempio n. 5
0
    def test_mgmt_iface_description_ifMIB(self):
        """
        Test mgmt port description (which is simply an alias) 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, 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(12, 0, 1, 0,
                                 (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 18, 10001))))
        self.assertEqual(str(value0.data), 'snowflake')
Esempio n. 6
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)