mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Allow user to change the database connection from an open query tool tab. Fixes #3794
This commit is contained in:
committed by
Akshay Joshi
parent
228d4bb321
commit
be7bb81a19
@@ -0,0 +1,100 @@
|
||||
##########################################################################
|
||||
#
|
||||
# pgAdmin 4 - PostgreSQL Tools
|
||||
#
|
||||
# Copyright (C) 2013 - 2020, The pgAdmin Development Team
|
||||
# This software is released under the PostgreSQL Licence
|
||||
#
|
||||
##########################################################################
|
||||
|
||||
import json
|
||||
from pgadmin.utils.route import BaseTestGenerator
|
||||
from regression import parent_node_dict
|
||||
from regression.test_setup import config_data
|
||||
from regression.python_test_utils import test_utils as utils
|
||||
|
||||
|
||||
class TestNewConnectionDatabase(BaseTestGenerator):
|
||||
""" This class will test new connection database. """
|
||||
API_URL = "/sqleditor/new_connection_database/"
|
||||
scenarios = [
|
||||
('New connection dialog',
|
||||
dict(
|
||||
url=API_URL,
|
||||
is_positive_test=True,
|
||||
mocking_required=False,
|
||||
is_server_conn_required=False,
|
||||
test_data={},
|
||||
mock_data={},
|
||||
expected_data={
|
||||
"status_code": 200
|
||||
}
|
||||
)),
|
||||
('New connection dialog connect server',
|
||||
dict(
|
||||
url=API_URL,
|
||||
is_positive_test=True,
|
||||
mocking_required=False,
|
||||
is_server_conn_required=True,
|
||||
test_data={},
|
||||
mock_data={},
|
||||
expected_data={
|
||||
"status_code": 200
|
||||
}
|
||||
)),
|
||||
('New connection dialog negative',
|
||||
dict(
|
||||
url=API_URL,
|
||||
is_positive_test=False,
|
||||
mocking_required=False,
|
||||
is_server_conn_required=True,
|
||||
test_data={},
|
||||
mock_data={},
|
||||
expected_data={
|
||||
"status_code": 200
|
||||
}
|
||||
)),
|
||||
]
|
||||
|
||||
def setUp(self):
|
||||
self.content_type = 'html/json'
|
||||
self.sid = parent_node_dict["server"][-1]["server_id"]
|
||||
self.sgid = config_data['server_group']
|
||||
|
||||
def get_database(self):
|
||||
response = self.tester.get(
|
||||
self.url + str(self.sgid) + '/' + str(self.sid),
|
||||
content_type=self.content_type
|
||||
)
|
||||
|
||||
return response
|
||||
|
||||
def runTest(self):
|
||||
if self.is_positive_test:
|
||||
if self.is_server_conn_required:
|
||||
self.server['password'] = self.server['db_password']
|
||||
self.tester.post(
|
||||
'/browser/server/connect/{0}/{1}'.format(
|
||||
utils.SERVER_GROUP,
|
||||
self.sid),
|
||||
data=json.dumps(self.server),
|
||||
content_type=self.content_type
|
||||
)
|
||||
response = self.get_database()
|
||||
actual_response_code = response.status_code
|
||||
expected_response_code = self.expected_data['status_code']
|
||||
else:
|
||||
if self.is_server_conn_required:
|
||||
self.server['password'] = self.server['db_password']
|
||||
self.tester.post(
|
||||
'/browser/server/connect/{0}/{1}'.format(
|
||||
utils.SERVER_GROUP,
|
||||
self.sid),
|
||||
data=json.dumps(self.server),
|
||||
content_type=self.content_type
|
||||
)
|
||||
self.sid = 0
|
||||
response = self.get_database()
|
||||
actual_response_code = response.status_code
|
||||
expected_response_code = self.expected_data['status_code']
|
||||
self.assertEqual(actual_response_code, expected_response_code)
|
||||
@@ -0,0 +1,50 @@
|
||||
##########################################################################
|
||||
#
|
||||
# pgAdmin 4 - PostgreSQL Tools
|
||||
#
|
||||
# Copyright (C) 2013 - 2020, The pgAdmin Development Team
|
||||
# This software is released under the PostgreSQL Licence
|
||||
#
|
||||
##########################################################################
|
||||
import json
|
||||
from pgadmin.utils.route import BaseTestGenerator
|
||||
from regression import parent_node_dict
|
||||
from regression.test_setup import config_data
|
||||
from regression.python_test_utils import test_utils as utils
|
||||
|
||||
|
||||
class TestNewConnectionDialog(BaseTestGenerator):
|
||||
""" This class will test new connection dialog. """
|
||||
scenarios = [
|
||||
('New connection dialog',
|
||||
dict(
|
||||
url="/sqleditor/new_connection_dialog/",
|
||||
is_positive_test=True,
|
||||
mocking_required=False,
|
||||
is_connect_server=False,
|
||||
test_data={},
|
||||
mock_data={},
|
||||
expected_data={
|
||||
"status_code": 200
|
||||
}
|
||||
)),
|
||||
]
|
||||
|
||||
def setUp(self):
|
||||
self.sid = parent_node_dict["server"][-1]["server_id"]
|
||||
self.sgid = config_data['server_group']
|
||||
|
||||
def new_connection(self):
|
||||
response = self.tester.get(
|
||||
self.url + str(self.sgid) + '/' + str(self.sgid),
|
||||
content_type='html/json'
|
||||
)
|
||||
|
||||
return response
|
||||
|
||||
def runTest(self):
|
||||
if self.is_positive_test:
|
||||
response = self.new_connection()
|
||||
actual_response_code = response.status_code
|
||||
expected_response_code = self.expected_data['status_code']
|
||||
self.assertEqual(actual_response_code, expected_response_code)
|
||||
100
web/pgadmin/tools/sqleditor/tests/test_new_connection_user.py
Normal file
100
web/pgadmin/tools/sqleditor/tests/test_new_connection_user.py
Normal file
@@ -0,0 +1,100 @@
|
||||
##########################################################################
|
||||
#
|
||||
# pgAdmin 4 - PostgreSQL Tools
|
||||
#
|
||||
# Copyright (C) 2013 - 2020, The pgAdmin Development Team
|
||||
# This software is released under the PostgreSQL Licence
|
||||
#
|
||||
##########################################################################
|
||||
|
||||
import json
|
||||
from pgadmin.utils.route import BaseTestGenerator
|
||||
from regression import parent_node_dict
|
||||
from regression.test_setup import config_data
|
||||
from regression.python_test_utils import test_utils as utils
|
||||
|
||||
|
||||
class TestNewConnectionUser(BaseTestGenerator):
|
||||
""" This class will test new connection user. """
|
||||
API_URL = '/sqleditor/new_connection_user/'
|
||||
scenarios = [
|
||||
('New connection dialog',
|
||||
dict(
|
||||
url=API_URL,
|
||||
is_positive_test=True,
|
||||
mocking_required=False,
|
||||
is_server_conn_required=False,
|
||||
test_data={},
|
||||
mock_data={},
|
||||
expected_data={
|
||||
"status_code": 200
|
||||
}
|
||||
)),
|
||||
('New connection dialog connect server',
|
||||
dict(
|
||||
url=API_URL,
|
||||
is_positive_test=True,
|
||||
mocking_required=False,
|
||||
is_server_conn_required=True,
|
||||
test_data={},
|
||||
mock_data={},
|
||||
expected_data={
|
||||
"status_code": 200
|
||||
}
|
||||
)),
|
||||
('New connection dialog negative',
|
||||
dict(
|
||||
url=API_URL,
|
||||
is_positive_test=False,
|
||||
mocking_required=False,
|
||||
is_server_conn_required=True,
|
||||
test_data={},
|
||||
mock_data={},
|
||||
expected_data={
|
||||
"status_code": 200
|
||||
}
|
||||
)),
|
||||
]
|
||||
|
||||
def setUp(self):
|
||||
self.content_type = 'html/json'
|
||||
self.sid = parent_node_dict["server"][-1]["server_id"]
|
||||
self.sgid = config_data['server_group']
|
||||
|
||||
def get_use(self):
|
||||
response = self.tester.get(
|
||||
self.url + str(self.sgid) + '/' + str(self.sid),
|
||||
content_type=self.content_type
|
||||
)
|
||||
|
||||
return response
|
||||
|
||||
def runTest(self):
|
||||
if self.is_positive_test:
|
||||
if self.is_server_conn_required:
|
||||
self.server['password'] = self.server['db_password']
|
||||
self.tester.post(
|
||||
'/browser/server/connect/{0}/{1}'.format(
|
||||
utils.SERVER_GROUP,
|
||||
self.sid),
|
||||
data=json.dumps(self.server),
|
||||
content_type=self.content_type
|
||||
)
|
||||
response = self.get_use()
|
||||
actual_response_code = response.status_code
|
||||
expected_response_code = self.expected_data['status_code']
|
||||
else:
|
||||
if self.is_server_conn_required:
|
||||
self.server['password'] = self.server['db_password']
|
||||
self.tester.post(
|
||||
'/browser/server/connect/{0}/{1}'.format(
|
||||
utils.SERVER_GROUP,
|
||||
self.sid),
|
||||
data=json.dumps(self.server),
|
||||
content_type='html/json'
|
||||
)
|
||||
self.sid = 0
|
||||
response = self.get_use()
|
||||
actual_response_code = response.status_code
|
||||
expected_response_code = self.expected_data['status_code']
|
||||
self.assertEqual(actual_response_code, expected_response_code)
|
||||
Reference in New Issue
Block a user