mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Don't wait for the database connection before rendering the Query Tool UI, for improved UX. Fixes #4453
In addition, unescape HTML entities in database names in the Query Tool title bar. Fixes #4584
This commit is contained in:
committed by
Dave Page
parent
25f85fe123
commit
234efc3be7
@@ -27,7 +27,7 @@ class TestDownloadCSV(BaseTestGenerator):
|
||||
'Download csv URL with valid query',
|
||||
dict(
|
||||
sql='SELECT 1 as "A",2 as "B",3 as "C"',
|
||||
init_url='/datagrid/initialize/query_tool/{0}/{1}/{2}',
|
||||
init_url='/datagrid/initialize/query_tool/{0}/{1}/{2}/{3}',
|
||||
donwload_url="/sqleditor/query_tool/download/{0}",
|
||||
output_columns='"A","B","C"',
|
||||
output_values='1,2,3',
|
||||
@@ -39,7 +39,7 @@ class TestDownloadCSV(BaseTestGenerator):
|
||||
'Download csv URL with wrong TX id',
|
||||
dict(
|
||||
sql='SELECT 1 as "A",2 as "B",3 as "C"',
|
||||
init_url='/datagrid/initialize/query_tool/{0}/{1}/{2}',
|
||||
init_url='/datagrid/initialize/query_tool/{0}/{1}/{2}/{3}',
|
||||
donwload_url="/sqleditor/query_tool/download/{0}",
|
||||
output_columns=None,
|
||||
output_values=None,
|
||||
@@ -51,7 +51,7 @@ class TestDownloadCSV(BaseTestGenerator):
|
||||
'Download csv URL with wrong query',
|
||||
dict(
|
||||
sql='SELECT * FROM this_table_does_not_exist',
|
||||
init_url='/datagrid/initialize/query_tool/{0}/{1}/{2}',
|
||||
init_url='/datagrid/initialize/query_tool/{0}/{1}/{2}/{3}',
|
||||
donwload_url="/sqleditor/query_tool/download/{0}",
|
||||
output_columns=None,
|
||||
output_values=None,
|
||||
@@ -81,13 +81,12 @@ class TestDownloadCSV(BaseTestGenerator):
|
||||
raise Exception("Could not connect to the database.")
|
||||
|
||||
# Initialize query tool
|
||||
self.trans_id = str(random.randint(1, 9999999))
|
||||
url = self.init_url.format(
|
||||
test_utils.SERVER_GROUP, self._sid, self._did)
|
||||
self.trans_id, test_utils.SERVER_GROUP, self._sid, self._did)
|
||||
response = self.tester.post(url)
|
||||
self.assertEquals(response.status_code, 200)
|
||||
|
||||
response_data = json.loads(response.data.decode('utf-8'))
|
||||
self.trans_id = response_data['data']['gridTransId']
|
||||
# If invalid tx test then make the Tx id invalid so that tests fails
|
||||
if not self.is_valid_tx:
|
||||
self.trans_id = self.trans_id + '007'
|
||||
|
||||
@@ -14,6 +14,7 @@ from pgadmin.browser.server_groups.servers.databases.tests import utils as \
|
||||
from pgadmin.utils.route import BaseTestGenerator
|
||||
from regression import parent_node_dict
|
||||
from regression.python_test_utils import test_utils as utils
|
||||
import random
|
||||
|
||||
|
||||
class TestEditorHistory(BaseTestGenerator):
|
||||
@@ -68,14 +69,12 @@ class TestEditorHistory(BaseTestGenerator):
|
||||
raise Exception("Could not connect to the database.")
|
||||
|
||||
# Initialize query tool
|
||||
url = '/datagrid/initialize/query_tool/{0}/{1}/{2}'.format(
|
||||
utils.SERVER_GROUP, self.server_id, self.db_id)
|
||||
self.trans_id = str(random.randint(1, 9999999))
|
||||
url = '/datagrid/initialize/query_tool/{0}/{1}/{2}/{3}'.format(
|
||||
self.trans_id, utils.SERVER_GROUP, self.server_id, self.db_id)
|
||||
response = self.tester.post(url)
|
||||
self.assertEquals(response.status_code, 200)
|
||||
|
||||
response_data = json.loads(response.data.decode('utf-8'))
|
||||
self.trans_id = response_data['data']['gridTransId']
|
||||
|
||||
def runTest(self):
|
||||
url = '/sqleditor/query_history/{0}'.format(self.trans_id)
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
from pgadmin.utils.route import BaseTestGenerator
|
||||
from pgadmin.browser.server_groups.servers.databases.tests import utils as \
|
||||
database_utils
|
||||
from regression import parent_node_dict
|
||||
from regression.python_test_utils import test_utils
|
||||
import json
|
||||
from pgadmin.utils import server_utils, IS_PY2
|
||||
@@ -256,14 +255,13 @@ class TestEncodingCharset(BaseTestGenerator):
|
||||
raise Exception("Could not connect to the database.")
|
||||
|
||||
# Initialize query tool
|
||||
url = '/datagrid/initialize/query_tool/{0}/{1}/{2}'.format(
|
||||
test_utils.SERVER_GROUP, self.encode_sid, self.encode_did)
|
||||
self.trans_id = str(random.randint(1, 9999999))
|
||||
url = '/datagrid/initialize/query_tool/{0}/{1}/{2}/{3}'\
|
||||
.format(self.trans_id, test_utils.SERVER_GROUP, self.encode_sid,
|
||||
self.encode_did)
|
||||
response = self.tester.post(url)
|
||||
self.assertEquals(response.status_code, 200)
|
||||
|
||||
response_data = json.loads(response.data.decode('utf-8'))
|
||||
self.trans_id = response_data['data']['gridTransId']
|
||||
|
||||
# Check character
|
||||
url = "/sqleditor/query_tool/start/{0}".format(self.trans_id)
|
||||
sql = "select E'{0}';".format(self.test_str)
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
##########################################################################
|
||||
|
||||
import json
|
||||
import random
|
||||
|
||||
from pgadmin.browser.server_groups.servers.databases.tests import utils as \
|
||||
database_utils
|
||||
@@ -32,14 +33,12 @@ class TestExplainPlan(BaseTestGenerator):
|
||||
raise Exception("Could not connect to the database.")
|
||||
|
||||
# Initialize query tool
|
||||
url = '/datagrid/initialize/query_tool/{0}/{1}/{2}'.format(
|
||||
utils.SERVER_GROUP, self.server_id, self.db_id)
|
||||
self.trans_id = str(random.randint(1, 9999999))
|
||||
url = '/datagrid/initialize/query_tool/{0}/{1}/{2}/{3}'.format(
|
||||
self.trans_id, utils.SERVER_GROUP, self.server_id, self.db_id)
|
||||
response = self.tester.post(url)
|
||||
self.assertEquals(response.status_code, 200)
|
||||
|
||||
response_data = json.loads(response.data.decode('utf-8'))
|
||||
self.trans_id = response_data['data']['gridTransId']
|
||||
|
||||
# Start query tool transaction
|
||||
url = '/sqleditor/query_tool/start/{0}'.format(self.trans_id)
|
||||
response = self.tester.post(
|
||||
|
||||
@@ -14,6 +14,7 @@ from pgadmin.browser.server_groups.servers.databases.tests import utils as \
|
||||
from pgadmin.utils.route import BaseTestGenerator
|
||||
from regression import parent_node_dict
|
||||
from regression.python_test_utils import test_utils as utils
|
||||
import random
|
||||
|
||||
|
||||
class TestPollQueryTool(BaseTestGenerator):
|
||||
@@ -75,14 +76,12 @@ NOTICE: Hello, world!
|
||||
raise Exception("Could not connect to the database.")
|
||||
|
||||
# Initialize query tool
|
||||
url = '/datagrid/initialize/query_tool/{0}/{1}/{2}'.format(
|
||||
utils.SERVER_GROUP, self.server_id, self.db_id)
|
||||
self.trans_id = str(random.randint(1, 9999999))
|
||||
url = '/datagrid/initialize/query_tool/{0}/{1}/{2}/{3}'.format(
|
||||
self.trans_id, utils.SERVER_GROUP, self.server_id, self.db_id)
|
||||
response = self.tester.post(url)
|
||||
self.assertEquals(response.status_code, 200)
|
||||
|
||||
response_data = json.loads(response.data.decode('utf-8'))
|
||||
self.trans_id = response_data['data']['gridTransId']
|
||||
|
||||
cnt = 0
|
||||
for s in self.sql:
|
||||
print("Executing and polling with: " + self.print_messages[cnt])
|
||||
|
||||
@@ -301,14 +301,12 @@ class TestTransactionControl(BaseTestGenerator):
|
||||
raise Exception("Could not connect to the database.")
|
||||
|
||||
def _initialize_query_tool(self):
|
||||
url = '/datagrid/initialize/query_tool/{0}/{1}/{2}'.format(
|
||||
utils.SERVER_GROUP, self.server_id, self.db_id)
|
||||
self.trans_id = str(random.randint(1, 9999999))
|
||||
url = '/datagrid/initialize/query_tool/{0}/{1}/{2}/{3}'.format(
|
||||
self.trans_id, utils.SERVER_GROUP, self.server_id, self.db_id)
|
||||
response = self.tester.post(url)
|
||||
self.assertEquals(response.status_code, 200)
|
||||
|
||||
response_data = json.loads(response.data.decode('utf-8'))
|
||||
self.trans_id = response_data['data']['gridTransId']
|
||||
|
||||
def _initialize_urls(self):
|
||||
self.start_query_tool_url = \
|
||||
'/sqleditor/query_tool/start/{0}'.format(self.trans_id)
|
||||
|
||||
@@ -70,15 +70,14 @@ class TestViewData(BaseTestGenerator):
|
||||
table_id = result[0][0]
|
||||
|
||||
# Initialize query tool
|
||||
url = '/datagrid/initialize/datagrid/3/table/{0}/{1}/{2}/{3}'.format(
|
||||
test_utils.SERVER_GROUP, self.server_id, self.db_id, table_id)
|
||||
self.trans_id = str(random.randint(1, 9999999))
|
||||
url = '/datagrid/initialize/datagrid/{0}/3/table/{1}/{2}/{3}/{4}'\
|
||||
.format(self.trans_id, test_utils.SERVER_GROUP, self.server_id,
|
||||
self.db_id, table_id)
|
||||
response = self.tester.post(url)
|
||||
|
||||
self.assertEquals(response.status_code, 200)
|
||||
|
||||
response_data = json.loads(response.data.decode('utf-8'))
|
||||
self.trans_id = response_data['data']['gridTransId']
|
||||
|
||||
url = "/sqleditor/view_data/start/{0}".format(self.trans_id)
|
||||
response = self.tester.get(url)
|
||||
self.assertEquals(response.status_code, 200)
|
||||
|
||||
Reference in New Issue
Block a user