From e582ffca38c05eb17e9965c69f0873199d80fe24 Mon Sep 17 00:00:00 2001 From: Aditya Toshniwal Date: Tue, 25 Aug 2020 18:06:38 +0530 Subject: [PATCH] Fixed regression issue in taking backup of the table. Added some more test cases. --- web/pgadmin/tools/backup/__init__.py | 6 +-- .../tests/test_backup_create_job_unit_test.py | 53 ++++++++++++++++++- 2 files changed, 55 insertions(+), 4 deletions(-) diff --git a/web/pgadmin/tools/backup/__init__.py b/web/pgadmin/tools/backup/__init__.py index ef5c34fc4..fd726342d 100644 --- a/web/pgadmin/tools/backup/__init__.py +++ b/web/pgadmin/tools/backup/__init__.py @@ -380,9 +380,9 @@ def _get_args_params_values(data, conn, backup_obj_type, backup_file, server, args.extend( functools.reduce(operator.iconcat, map( - lambda s, t: ['--table', - r'{0}'.format(driver.qtIdent(conn, s, t) - .replace('"', '\"'))], + lambda t: ['--table', + r'{0}'.format(driver.qtIdent(conn, t[0], t[1]) + .replace('"', '\"'))], data.get('tables', [])), [] ) ) diff --git a/web/pgadmin/tools/backup/tests/test_backup_create_job_unit_test.py b/web/pgadmin/tools/backup/tests/test_backup_create_job_unit_test.py index 10345fb96..54575f72c 100644 --- a/web/pgadmin/tools/backup/tests/test_backup_create_job_unit_test.py +++ b/web/pgadmin/tools/backup/tests/test_backup_create_job_unit_test.py @@ -405,7 +405,58 @@ class BackupCreateJobTest(BaseTestGenerator): not_expected_cmd_opts=[], expected_exit_code=[0, None] )), - + ('When backup a schema with default options', + dict( + class_params=dict( + sid=1, + name='test_backup_server', + port=5444, + host='localhost', + database='postgres', + bfile='test_backup', + username='postgres' + ), + params=dict( + file='test_backup_file', + format='custom', + verbose=True, + blobs=True, + schemas=['schema1'], + tables=[], + database='postgres' + ), + url='/backup/job/{0}/object', + expected_cmd_opts=['--verbose', '--format=c', '--blobs', + '--schema', 'schema1'], + not_expected_cmd_opts=[], + expected_exit_code=[0, None] + )), + ('When backup a table with default options', + dict( + class_params=dict( + sid=1, + name='test_backup_server', + port=5444, + host='localhost', + database='postgres', + bfile='test_backup', + username='postgres' + ), + params=dict( + file='test_backup_file', + format='custom', + verbose=True, + blobs=True, + schemas=[], + tables=[['public', 'table1']], + database='postgres' + ), + url='/backup/job/{0}/object', + expected_cmd_opts=['--verbose', '--format=c', '--blobs', + '--table', 'public.table1'], + not_expected_cmd_opts=[], + expected_exit_code=[0, None] + )), ('When backup the server', dict( class_params=dict(