def test_send_three_frames(self): def read_func(): pass def write_func(data): write_func.data = data write_func.data = None hdlc_c = HDLController(read_func, write_func) hdlc_c.send('test1') while write_func.data == None: pass self.assertEqual(write_func.data, frame_data('test1', FRAME_DATA, 0)) self.assertEqual(hdlc_c.get_senders_number(), 1) write_func.data = None hdlc_c.send('test2') while write_func.data == None: pass self.assertEqual(write_func.data, frame_data('test2', FRAME_DATA, 1)) self.assertEqual(hdlc_c.get_senders_number(), 2) write_func.data = None hdlc_c.send('test3') while write_func.data == None: pass self.assertEqual(write_func.data, frame_data('test3', FRAME_DATA, 2)) self.assertEqual(hdlc_c.get_senders_number(), 3) hdlc_c.stop()
def test_stop_before_start(self): def read_func(): pass def write_func(): pass hdlc_c = HDLController(read_func, write_func) hdlc_c.stop()
def test_receive_one_frame(self): def read_func(): return frame_data('test', FRAME_DATA, 0) def write_func(data): write_func.data = data write_func.data = None hdlc_c = HDLController(read_func, write_func) hdlc_c.start() self.assertEqual(hdlc_c.get_data(), b'test') self.assertEqual(write_func.data, frame_data('', FRAME_ACK, 1)) hdlc_c.stop()
def test_receive_three_frames(self): def read_func(): data = frame_data('test' + str(read_func.i), FRAME_DATA, read_func.i) read_func.i += 1 return data def write_func(data): pass read_func.i = 1 hdlc_c = HDLController(read_func, write_func) hdlc_c.start() self.assertEqual(hdlc_c.get_data(), b'test1') self.assertEqual(hdlc_c.get_data(), b'test2') self.assertEqual(hdlc_c.get_data(), b'test3') hdlc_c.stop()
def test_send_frame_and_receive_nack(self): def read_func(): return frame_data('', FRAME_NACK, 0) def write_func(data): write_func.data = data write_func.data = None hdlc_c = HDLController(read_func, write_func) hdlc_c.send('test') while write_func.data == None: pass self.assertEqual(write_func.data, frame_data('test', FRAME_DATA, 0)) self.assertEqual(hdlc_c.get_senders_number(), 1) hdlc_c.start() sleep(1) self.assertEqual(hdlc_c.get_senders_number(), 1) hdlc_c.stop()
def test_send_one_frame_and_wait_timeout(self): def read_func(): pass def write_func(data): write_func.data = data write_func.data = None hdlc_c = HDLController(read_func, write_func) hdlc_c.send('test') while write_func.data == None: pass self.assertEqual(write_func.data, frame_data('test', FRAME_DATA, 0)) self.assertEqual(hdlc_c.get_senders_number(), 1) write_func.data = None while write_func.data == None: pass self.assertEqual(write_func.data, frame_data('test', FRAME_DATA, 0)) self.assertEqual(hdlc_c.get_senders_number(), 1) hdlc_c.stop()
'initial': 'serial_connection', 'events': [ {'name': 'serial_connection_ko', 'src': 'serial_connection', 'dst': 'serial_connection'}, {'name': 'serial_connection_ok', 'src': 'serial_connection', 'dst': 'amqp_connection'}, {'name': 'amqp_connection_ko', 'src': 'amqp_connection', 'dst': 'amqp_connection'}, {'name': 'amqp_connection_ok', 'src': 'amqp_connection', 'dst': 'start_discovery'}, {'name': 'uuid_received', 'src': 'start_discovery', 'dst': 'wait_for_resources'}, {'name': 'stop_discovery_received', 'src': 'wait_for_resources', 'dst': 'stop_discovery'}, {'name': 'ready', 'src': 'stop_discovery', 'dst': 'wait_for_data'}, ], 'callbacks': { 'onserial_connection': serial_connection, 'onserial_connection_ko': serial_connection, 'onserial_connection_ok': amqp_connection, 'onreenterserial_connection': retry_connection, 'onamqp_connection_ko': amqp_connection, 'onamqp_connection_ok': start_discovery, 'onreenteramqp_connection': retry_connection, 'onuuid_received': wait_for_resources, 'onstop_discovery_received': stop_discovery, 'onready': wait_for_data, }, }) except KeyboardInterrupt: stdout.write('[*] Bye !\n') hdlc_c.stop() ser.close() if amqp != None: amqp.close()