def should_start_and_stop_without_crashing(): receiver = Receiver() # engine = Engine(mtu=MTU) rail_line_console = RailLineConsole() rail_h = 'test/line_console' rail_line_console.zero( rail_h=rail_h, cb_line_console_connect=receiver.on_line_console_connect, cb_line_console_condrop=receiver.on_line_console_condrop, cb_line_console_command=receiver.on_line_console_command, engine=engine) engine.cycle() # # Stage: Start it rail_line_console.start(ip='localhost', port=5000) # # Verify engine.cycle() assert rail_line_console.is_server_listening() == True assert rail_line_console.is_accept_connected() == False # # Stage: Stop it rail_line_console.stop() # # Verify engine.cycle() assert rail_line_console.is_server_listening() == False assert rail_line_console.is_accept_connected() == False # return True
def should_accept_client_and_boot_client_on_stop(): ip = 'localhost' port = 5000 # engine = Engine(mtu=MTU) receiver = Receiver() # # step: start rail_line_console = RailLineConsole() rail_h = 'test/line_console' rail_line_console.zero( rail_h=rail_h, cb_line_console_connect=receiver.on_line_console_connect, cb_line_console_condrop=receiver.on_line_console_condrop, cb_line_console_command=receiver.on_line_console_command, engine=engine) rail_line_console.start(ip=ip, port=port) # # verify engine.cycle() assert rail_line_console.is_server_listening() == True assert rail_line_console.is_accept_connected() == False # # step: client connects client = engine.init_spin(construct=SpinBasicTcpClient) client.start(addr=ip, port=port) # # verify engine.cycle() assert rail_line_console.is_server_listening() == False assert rail_line_console.is_accept_connected() == True assert client.is_connected() == True # # step: server is stopped with client attached rail_line_console.stop() # # confirm effects engine.cycle() assert rail_line_console.is_server_listening() == False assert rail_line_console.is_accept_connected() == False assert client.is_connected() == False # return True