From 035c134fede1bf5df4dda84fd3a08b084f5b7dc7 Mon Sep 17 00:00:00 2001 From: Navnath Gadakh Date: Tue, 28 Nov 2017 09:44:28 +0000 Subject: [PATCH] Cleanup properly after running the Foreign Table test cases. --- .../tests/test_foreign_table_add.py | 10 ++++++-- .../tests/test_foreign_table_get.py | 6 ++++- .../tests/test_foreign_table_put.py | 6 ++++- .../schemas/foreign_tables/tests/utils.py | 25 +++++++++++++++++++ 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_add.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_add.py index be867b451..8fd12286c 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_add.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_add.py @@ -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) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_get.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_get.py index aae5b0144..aab99087e 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_get.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_get.py @@ -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) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_put.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_put.py index 75d66702d..b71fac30e 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_put.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/test_foreign_table_put.py @@ -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) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/utils.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/utils.py index df631b6c5..cf0f6b04b 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/utils.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/tests/utils.py @@ -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()