Cleanup properly after running the Foreign Table test cases.

This commit is contained in:
Navnath Gadakh 2017-11-28 09:44:28 +00:00 committed by Dave Page
parent 10c8befb71
commit 035c134fed
4 changed files with 43 additions and 4 deletions

View File

@ -21,6 +21,7 @@ from pgadmin.browser.server_groups.servers.databases.tests import \
from pgadmin.utils.route import BaseTestGenerator
from regression import parent_node_dict
from regression.python_test_utils import test_utils as utils
from . import utils as ft_utils
class ForeignTableAddTestCase(BaseTestGenerator):
@ -49,6 +50,7 @@ class ForeignTableAddTestCase(BaseTestGenerator):
self.fdw_name)
self.fsrv_id = fsrv_utils.create_fsrv(self.server, self.db_name,
self.fsrv_name, self.fdw_name)
self.ft_name = "ft_%s" % (str(uuid.uuid4())[1:8])
def runTest(self):
"""This function will add foreign table under test database."""
@ -81,7 +83,7 @@ class ForeignTableAddTestCase(BaseTestGenerator):
"ftoptions": [],
"inherits": [],
"ftsrvname": self.fsrv_name,
"name": "ft_%s" % (str(uuid.uuid4())[1:8]),
"name": self.ft_name,
"owner": self.server["username"],
"relacl": [],
"seclabels": [],
@ -97,6 +99,10 @@ class ForeignTableAddTestCase(BaseTestGenerator):
self.assertEquals(response.status_code, 200)
def tearDown(self):
""" This function disconnect the test database. """
""" This function disconnect the test database and delete test
foreign table object. """
ft_utils.delete_foregin_table(self.server, self.db_name,
self.schema_name, self.ft_name
)
database_utils.disconnect_database(self, self.server_id, self.db_id)

View File

@ -81,6 +81,10 @@ class ForeignTableGetTestCase(BaseTestGenerator):
self.assertEquals(response.status_code, 200)
def tearDown(self):
""" This function disconnect the test database. """
""" This function disconnect the test database and delete test
foreign table object. """
ft_utils.delete_foregin_table(self.server, self.db_name,
self.schema_name, self.ft_name
)
database_utils.disconnect_database(self, self.server_id, self.db_id)

View File

@ -95,6 +95,10 @@ class ForeignTablePutTestCase(BaseTestGenerator):
self.assertEquals(put_response.status_code, 200)
def tearDown(self):
""" This function disconnect the test database. """
""" This function disconnect the test database and delete test
foreign table object. """
ft_utils.delete_foregin_table(self.server, self.db_name,
self.schema_name, self.ft_name
)
database_utils.disconnect_database(self, self.server_id, self.db_id)

View File

@ -81,3 +81,28 @@ def verify_foreign_table(server, db_name, fsrv_name):
return fts
except Exception:
traceback.print_exc(file=sys.stderr)
def delete_foregin_table(server, db_name, schema_name, ft_name):
"""
This function delete Foreign table object.
:param server: server details
:type server: dict
:param db_name: database name
:type db_name: str
:param ft_name: Foreign table object
:type ft_name: str
:param schema_name: schema name
:type schema_name: str
:return: None
"""
connection = get_db_connection(db_name,
server['username'],
server['db_password'],
server['host'],
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute("DROP FOREIGN TABLE %s.%s" % (schema_name, ft_name))
connection.commit()
connection.close()