def runTest(self, update_session_grid_transaction_mock, internal_server_error_mock, get_driver_mock, pickle_mock, make_json_response_mock, apply_explain_plan_wrapper_if_needed_mock): """Check correct function is called to handle to run query.""" self.connection = None self.loggerMock = MagicMock(error=MagicMock()) expected_response = Response( response=json.dumps({'errormsg': 'some value'})) make_json_response_mock.return_value = expected_response if self.expect_internal_server_error_to_have_been_called_with is not None: internal_server_error_mock.return_value = expected_response pickle_mock.loads.return_value = self.pickle_load_return blueprint_mock = MagicMock(info_notifier_timeout=MagicMock( get=lambda: 5)) if self.is_begin_required: StartRunningQuery.is_begin_required_for_sql_query = MagicMock( return_value=True) else: StartRunningQuery.is_begin_required_for_sql_query = MagicMock( return_value=False) if self.is_rollback_required: StartRunningQuery.is_rollback_statement_required = MagicMock( return_value=True) else: StartRunningQuery.is_rollback_statement_required = MagicMock( return_value=False) apply_explain_plan_wrapper_if_needed_mock.return_value = self.apply_explain_plan_wrapper_if_needed_return_value manager = self.__create_manager() if self.get_driver_exception: get_driver_mock.side_effect = get_driver_exception else: get_driver_mock.return_value = MagicMock( connection_manager=lambda session_id: manager) try: result = StartRunningQuery( blueprint_mock, self.loggerMock).execute(**self.function_parameters) if self.manager_connection_exception is not None: self.fail('Exception: "' + str(self.manager_connection_exception) + '" excepted but not raised') self.assertEquals(result, expected_response) except AssertionError: raise except Exception as exception: self.assertEquals(self.manager_connection_exception, exception) self.__mock_assertions(internal_server_error_mock, make_json_response_mock) if self.is_connected_to_server: apply_explain_plan_wrapper_if_needed_mock.assert_called_with( manager, self.function_parameters['sql'])
def start_query_tool(trans_id): """ This method is used to execute query using asynchronous connection. Args: trans_id: unique transaction id """ sql = extract_sql_from_network_parameters(request.data, request.args, request.form) connect = 'connect' in request.args and request.args['connect'] == '1' return StartRunningQuery(blueprint, current_app.logger).execute( sql, trans_id, session, connect)