diff --git a/web/pgadmin/tools/debugger/__init__.py b/web/pgadmin/tools/debugger/__init__.py index 6ed88ad68..9afbd4018 100644 --- a/web/pgadmin/tools/debugger/__init__.py +++ b/web/pgadmin/tools/debugger/__init__.py @@ -1263,6 +1263,11 @@ def execute_debugger_query(trans_id, query_type): status, result = execute_async_search_path( conn, sql, de_inst.debugger_data['search_path']) + + if result and 'select() failed waiting for target' in result: + status = True + result = None + if not status: return internal_server_error(errormsg=result) return make_json_response( diff --git a/web/pgadmin/tools/debugger/tests/test_debugger_clear_all_breakpoint.py b/web/pgadmin/tools/debugger/tests/test_debugger_clear_all_breakpoint.py index dfba387e8..ff4b05998 100644 --- a/web/pgadmin/tools/debugger/tests/test_debugger_clear_all_breakpoint.py +++ b/web/pgadmin/tools/debugger/tests/test_debugger_clear_all_breakpoint.py @@ -31,9 +31,6 @@ class DebuggerClearAllBreakpoint(BaseTestGenerator): def setUp(self): super().setUp() - if PG_DEFAULT_DRIVER == PSYCOPG3: - self.skipTest('Skip for psycopg3.') - if sys.platform == 'win32': self.skipTest('PSQL disabled for windows') diff --git a/web/pgadmin/tools/debugger/tests/test_start_listener_debugger.py b/web/pgadmin/tools/debugger/tests/test_start_listener_debugger.py deleted file mode 100644 index 5b92a7058..000000000 --- a/web/pgadmin/tools/debugger/tests/test_start_listener_debugger.py +++ /dev/null @@ -1,89 +0,0 @@ -########################################################################## -# -# pgAdmin 4 - PostgreSQL Tools -# -# Copyright (C) 2013 - 2023, The pgAdmin Development Team -# This software is released under the PostgreSQL Licence -# -########################################################################## - -import json -import uuid -from pgadmin.utils.route import BaseTestGenerator -from regression.python_test_utils import test_utils as utils -from . import utils as debugger_utils -from unittest.mock import patch -from regression import parent_node_dict -from pgadmin.browser.server_groups.servers.databases.schemas.functions \ - .tests import utils as funcs_utils -from pgadmin.browser.server_groups.servers.databases.tests import \ - utils as db_utils -from config import PG_DEFAULT_DRIVER -from pgadmin.utils.constants import PSYCOPG3 - - -class DebuggerStartListener(BaseTestGenerator): - """ This class will start listen the debugger """ - - scenarios = utils.generate_scenarios('start_listener', - debugger_utils.test_cases) - - def setUp(self): - super().setUp() - if PG_DEFAULT_DRIVER == PSYCOPG3: - self.skipTest('Skip for psycopg3.') - - self.schema_data = parent_node_dict['schema'][-1] - self.server_id = self.schema_data['server_id'] - self.db_id = self.schema_data['db_id'] - self.schema_id = self.schema_data['schema_id'] - - self.test_data['funcowner'] = self.server["username"] - funcs_utils.set_up(self) - function_info = debugger_utils.create_function(self, utils) - - self.func_id = json.loads(function_info.data)['node']['_id'] - - if self.add_extension: - debugger_utils.add_extension(self, utils, db_utils=db_utils) - - init_debugger = debugger_utils.init_debugger_function(self) - self.trans_id = json.loads(init_debugger.data)['data']['trans_id'] - - if self.init_target: - debugger_utils.initialize_target(self, utils) - - def start_listener(self): - if hasattr(self, 'update_debugger') and self.update_debugger: - return self.tester.post( - self.url + str(self.trans_id), - data=json.dumps({}), - content_type='application/json') - else: - return self.tester.post( - self.url + str(self.trans_id), - content_type='application/json') - - def runTest(self): - """ - This function will initialize the debugger for function and procedures. - """ - if self.is_positive_test: - response = self.start_listener() - else: - if self.mocking_required: - with patch(self.mock_data["function_name"], - return_value=eval(self.mock_data["return_value"])): - response = self.start_listener() - else: - response = self.start_listener() - - actual_response_code = response.status_code - expected_response_code = self.expected_data['status_code'] - self.assertEqual(actual_response_code, expected_response_code) - - def tearDown(self): - """This function delete the server from SQLite """ - debugger_utils.close_debugger(self) - debugger_utils.delete_function(self, utils) - db_utils.disconnect_database(self, self.server_id, self.db_id)