示例#1
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)
示例#2
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)
示例#3
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)
示例#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)
示例#5
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')
示例#6
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)
示例#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)
示例#8
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())
示例#9
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')
示例#10
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)
示例#11
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())
示例#12
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)
示例#13
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
示例#14
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)
示例#15
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
示例#16
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)
示例#17
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)
示例#18
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)
示例#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)
示例#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')
示例#21
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)
示例#22
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')
示例#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)
示例#24
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)
示例#25
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)
示例#26
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')
示例#27
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')
示例#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)
示例#29
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')
示例#30
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])
示例#31
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)
示例#32
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')
示例#33
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])