예제 #1
0
    def test_whoIs(self):
        request = WhoIsRequest(
            deviceInstanceRangeLowLimit=500, deviceInstanceRangeHighLimit=50000
        )
        apdu = APDU()
        request.encode(apdu)
        pdu = PDU()
        apdu.encode(pdu)
        buf_size = 1024
        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        s.sendto(pdu.pduData, self.address)
        data = s.recvfrom(buf_size)
        s.close()
        received_data = data[0]

        expected = IAmRequest()
        expected.pduDestination = GlobalBroadcast()
        expected.iAmDeviceIdentifier = 36113
        expected.maxAPDULengthAccepted = 1024
        expected.segmentationSupported = "segmentedBoth"
        expected.vendorID = 15

        exp_apdu = APDU()
        expected.encode(exp_apdu)
        exp_pdu = PDU()
        exp_apdu.encode(exp_pdu)

        self.assertEqual(exp_pdu.pduData, received_data)
예제 #2
0
    def test_whoIs(self):
        request = WhoIsRequest(deviceInstanceRangeLowLimit=500, deviceInstanceRangeHighLimit=50000)
        apdu = APDU()
        request.encode(apdu)
        pdu = PDU()
        apdu.encode(pdu)
        buf_size = 1024
        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        s.sendto(pdu.pduData, ('127.0.0.1', self.bacnet_server.server.server_port))
        data = s.recvfrom(buf_size)

        received_data = data[0]

        expected = IAmRequest()
        expected.pduDestination = GlobalBroadcast()
        expected.iAmDeviceIdentifier = 36113
        expected.maxAPDULengthAccepted = 1024
        expected.segmentationSupported = 'segmentedBoth'
        expected.vendorID = 15

        exp_apdu = APDU()
        expected.encode(exp_apdu)
        exp_pdu = PDU()
        exp_apdu.encode(exp_pdu)

        self.assertEquals(exp_pdu.pduData, received_data)
예제 #3
0
bind(test_application, test_asap, test_smap, test_server)

# ==============================================================================

i_am_request = IAmRequest(
    iAmDeviceIdentifier=('device', 100),
    maxAPDULengthAccepted=1024,
    segmentationSupported='segmentedBoth',
    vendorID=15,
)
print("i_am_request")
i_am_request.debug_contents()
print("")

test_apdu = APDU()
i_am_request.encode(test_apdu)

print("test_apdu")
test_apdu.debug_contents()
print("")

print("modify test_apdu")
test_apdu.pduData = test_apdu.pduData[5:]
test_apdu.debug_contents()
print("")

# make a send transition from start to success
test_server.start_state.send(test_apdu).success()

# run the machine
print("running")
예제 #4
0
bind(test_application, test_asap, test_smap, test_server)

# ==============================================================================

i_am_request = IAmRequest(
    iAmDeviceIdentifier=('device', 100),
    maxAPDULengthAccepted=1024,
    segmentationSupported='segmentedBoth',
    vendorID=15,
    )
print("i_am_request")
i_am_request.debug_contents()
print("")

test_apdu = APDU()
i_am_request.encode(test_apdu)

print("test_apdu")
test_apdu.debug_contents()
print("")

print("modify test_apdu")
test_apdu.pduData = test_apdu.pduData[5:]
test_apdu.debug_contents()
print("")

# make a send transition from start to success
test_server.start_state.send(test_apdu).success()

# run the machine
print("running")