def test_send_command(self, mock_emit): mock_emit.side_effect = [Expected_1, None] test_TCP_Server = TCPServer() test_Socket = Socket(MockPythonSocket()) test_TCP_Server.message_list = [] with pytest.raises(Expected_1): test_TCP_Server.send_command(test_Socket) test_TCP_Server.message_list = ['move_at'] test_TCP_Server.send_command(test_Socket) assert test_Socket.get_string() == 'move_at' assert not test_TCP_Server.send_command(test_Socket, command='test')
def test_process_cmds(self, mock_find_socket, mock_emit, mock_read): mock_emit.side_effect = [None, Expected_1, Expected_2, Expected_3] test_TCP_Server = TCPServer() commands = ['Done', 'Infos', 'Info_xml', 'Info', 'test'] test_TCP_Server.message_list = commands assert not test_TCP_Server.process_cmds('unknown') with pytest.raises(Expected_1): test_TCP_Server.process_cmds('unknown') assert not test_TCP_Server.process_cmds('Done') test_Socket = Socket(MockPythonSocket()) test_Socket.send_string('test') mock_find_socket.return_value = test_Socket with pytest.raises(Expected_2): test_TCP_Server.process_cmds('Infos') mock_read.side_effect = [ExpectedError] test_Socket = Socket(MockPythonSocket()) test_Socket.send_list([1, 2, 3]) test_Socket.send_string('test') mock_find_socket.return_value = test_Socket with pytest.raises(ExpectedError): test_TCP_Server.process_cmds('Info_xml') test_Socket = Socket(MockPythonSocket()) test_Socket.send_string('info') test_Socket.send_string('data') mock_find_socket.return_value = test_Socket with pytest.raises(Expected_3): test_TCP_Server.process_cmds('Info') assert not test_TCP_Server.process_cmds('test')
def test_listen_client(self, mock_select): socket_1 = Socket(MockPythonSocket()) socket_1.bind(('0.0.0.1', 4455)) socket_2 = Socket(MockPythonSocket()) socket_2.bind(('0.0.0.2', 4456)) socket_3 = Socket(MockPythonSocket()) socket_3.bind(('0.0.0.3', 4457)) socket_4 = Socket(MockPythonSocket()) socket_4.bind(('0.0.0.4', 4458)) socket_5 = Socket(MockPythonSocket()) socket_5.bind(('0.0.0.5', 4459)) socket_6 = Socket(MockPythonSocket()) socket_6.bind(('0.0.0.6', 4460)) socket_1.send_string('') socket_2.send_string('Done') socket_3.send_string('Quit') socket_4.send_string('unknown') socket_5.send_string('test') socket_6.send_string('Server') mock_select.return_value = [[socket_2, socket_3, socket_4, socket_5], [], [socket_1]] test_TCP_Server = TCPServer() dict_list = [{ 'socket': socket_1, 'type': 'Server' }, { 'socket': socket_2, 'type': 'Client' }, { 'socket': socket_3, 'type': 'Quit' }, { 'socket': socket_4, 'type': 'Unknown' }, { 'socket': socket_5, 'type': 'test' }, { 'socket': socket_6, 'type': 'serversocket' }] test_TCP_Server.connected_clients = dict_list params = [{'name': 'conn_clients', 'value': dict_list}] test_TCP_Server.settings = Parameter.create(name='Settings', type='group', children=params) test_TCP_Server.serversocket = socket_5 test_TCP_Server.socket_types = [] test_TCP_Server.message_list = ['Done'] test_TCP_Server.listen_client() for socket_dict in test_TCP_Server.connected_clients: assert not 'Server' in socket_dict['type'] assert not 'Quit' in socket_dict['type'] clients = test_TCP_Server.settings.child('conn_clients').value() assert len(clients) == 4 assert test_TCP_Server.serversocket.socket._closed mock_select.return_value = [[socket_6], [], []] dict_list = [{ 'socket': socket_2, 'type': 'Client' }, { 'socket': socket_3, 'type': 'Quit' }, { 'socket': socket_4, 'type': 'Unknown' }, { 'socket': socket_5, 'type': 'test' }, { 'socket': socket_6, 'type': 'serversocket' }] params = [{'name': 'conn_clients', 'value': dict_list}] test_TCP_Server.settings = Parameter.create(name='Settings', type='group', children=params) test_TCP_Server.serversocket = socket_6 test_TCP_Server.socket_types = ['Server'] test_TCP_Server.connected_clients = dict_list test_TCP_Server.listen_client() is_added = False for socket_dict in test_TCP_Server.connected_clients: if 'Server' in socket_dict['type']: is_added = True assert is_added assert len(test_TCP_Server.settings.child('conn_clients').value()) == 6