def testTcpClientRecv(self, mock_select, mock_time): ''' Test the tcp client receive method''' mock_select.select.return_value = [True] mock_time.time.side_effect = count() client = ModbusTcpClient() self.assertRaises(ConnectionException, lambda: client._recv(1024)) client.socket = mockSocket() self.assertEqual(b'', client._recv(0)) self.assertEqual(b'\x00' * 4, client._recv(4)) mock_socket = MagicMock() mock_socket.recv.side_effect = iter([b'\x00', b'\x01', b'\x02']) client.socket = mock_socket client.timeout = 3 self.assertEqual(b'\x00\x01\x02', client._recv(3)) mock_socket.recv.side_effect = iter([b'\x00', b'\x01', b'\x02']) self.assertEqual(b'\x00\x01', client._recv(2)) mock_select.select.return_value = [False] self.assertEqual(b'', client._recv(2)) client.socket = mockSocket() mock_select.select.return_value = [True] self.assertIn(b'\x00', client._recv(None)) mock_socket = MagicMock() mock_socket.recv.return_value = b'' client.socket = mock_socket self.assertRaises(ConnectionException, lambda: client._recv(1024)) mock_socket.recv.side_effect = iter([b'\x00', b'\x01', b'\x02', b'']) client.socket = mock_socket self.assertEqual(b'\x00\x01\x02', client._recv(1024))
def testTcpClientRecv(self): ''' Test the tcp client receive method''' client = ModbusTcpClient() self.assertRaises(ConnectionException, lambda: client._recv(1024)) client.socket = mockSocket() self.assertEqual(b'', client._recv(0)) self.assertEqual(b'\x00' * 4, client._recv(4)) mock_socket = MagicMock() mock_socket.recv.side_effect = iter([b'\x00', b'\x01', b'\x02']) client.socket = mock_socket client.timeout = 1 self.assertEqual(b'\x00\x01\x02', client._recv(3)) mock_socket.recv.side_effect = iter([b'\x00', b'\x01', b'\x02']) self.assertEqual(b'\x00\x01', client._recv(2)) mock_socket.recv.side_effect = socket.error('No data') self.assertEqual(b'', client._recv(2)) client.socket = mockSocket() client.socket.timeout = 0.1 self.assertIn(b'\x00', client._recv(None))
def testTcpClientRecv(self, mock_select): ''' Test the tcp client receive method''' mock_select.select.return_value = [True] client = ModbusTcpClient() self.assertRaises(ConnectionException, lambda: client._recv(1024)) client.socket = mockSocket() self.assertEqual(b'', client._recv(0)) self.assertEqual(b'\x00' * 4, client._recv(4)) mock_socket = MagicMock() mock_socket.recv.side_effect = iter([b'\x00', b'\x01', b'\x02']) client.socket = mock_socket client.timeout = 1 self.assertEqual(b'\x00\x01\x02', client._recv(3)) mock_socket.recv.side_effect = iter([b'\x00', b'\x01', b'\x02']) self.assertEqual(b'\x00\x01', client._recv(2)) mock_select.select.return_value = [False] self.assertEqual(b'', client._recv(2)) client.socket = mockSocket() mock_select.select.return_value = [True] self.assertIn(b'\x00', client._recv(None))