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(