def test_broken_message_worker_exception(self, mocker): connection = Connection(uuid.uuid4(), 'server', 445, True) mock_transport = mocker.MagicMock() connection.transport = mock_transport connection.transport.recv.side_effect = Exception('test') connection._process_message_thread() with pytest.raises(Exception, match='test'): connection.send(SMB2Echo()) with pytest.raises(Exception, match='test'): connection.receive(None)
def test_message_worker_timeout(self, mocker): connection = Connection(uuid.uuid4(), 'server', 445, True) connection.session_table[1] = mocker.MagicMock() mock_send = mocker.MagicMock() connection.send = mock_send mock_transport = mocker.MagicMock() connection.transport = mock_transport connection.transport.recv.side_effect = (_TimeoutError, b'') # Not the best test but better than waiting 10 minutes for the socket to timeout. connection._process_message_thread() assert mock_send.call_count == 1 assert isinstance(mock_send.call_args[0][0], SMB2Echo) assert mock_send.call_args[1] == {'sid': 1}