|
@@ -131,6 +131,7 @@ def test_database_names_to_dump_with_all_and_format_lists_databases_with_hostnam
|
|
|
'1234',
|
|
'1234',
|
|
|
),
|
|
),
|
|
|
environment=object,
|
|
environment=object,
|
|
|
|
|
+ working_directory=None,
|
|
|
).and_return('foo,test,\nbar,test,"stuff and such"')
|
|
).and_return('foo,test,\nbar,test,"stuff and such"')
|
|
|
|
|
|
|
|
assert module.database_names_to_dump(database, {}, flexmock(), dry_run=False) == (
|
|
assert module.database_names_to_dump(database, {}, flexmock(), dry_run=False) == (
|
|
@@ -156,6 +157,7 @@ def test_database_names_to_dump_with_all_and_format_lists_databases_with_usernam
|
|
|
'postgres',
|
|
'postgres',
|
|
|
),
|
|
),
|
|
|
environment=object,
|
|
environment=object,
|
|
|
|
|
+ working_directory=None,
|
|
|
).and_return('foo,test,\nbar,test,"stuff and such"')
|
|
).and_return('foo,test,\nbar,test,"stuff and such"')
|
|
|
|
|
|
|
|
assert module.database_names_to_dump(database, {}, flexmock(), dry_run=False) == (
|
|
assert module.database_names_to_dump(database, {}, flexmock(), dry_run=False) == (
|
|
@@ -172,6 +174,7 @@ def test_database_names_to_dump_with_all_and_format_lists_databases_with_options
|
|
|
flexmock(module).should_receive('execute_command_and_capture_output').with_args(
|
|
flexmock(module).should_receive('execute_command_and_capture_output').with_args(
|
|
|
('psql', '--list', '--no-password', '--no-psqlrc', '--csv', '--tuples-only', '--harder'),
|
|
('psql', '--list', '--no-password', '--no-psqlrc', '--csv', '--tuples-only', '--harder'),
|
|
|
environment=object,
|
|
environment=object,
|
|
|
|
|
+ working_directory=None,
|
|
|
).and_return('foo,test,\nbar,test,"stuff and such"')
|
|
).and_return('foo,test,\nbar,test,"stuff and such"')
|
|
|
|
|
|
|
|
assert module.database_names_to_dump(database, {}, flexmock(), dry_run=False) == (
|
|
assert module.database_names_to_dump(database, {}, flexmock(), dry_run=False) == (
|
|
@@ -216,6 +219,7 @@ def test_database_names_to_dump_with_all_and_psql_command_uses_custom_command():
|
|
|
'--tuples-only',
|
|
'--tuples-only',
|
|
|
),
|
|
),
|
|
|
environment=object,
|
|
environment=object,
|
|
|
|
|
+ working_directory=None,
|
|
|
).and_return('foo,text').once()
|
|
).and_return('foo,text').once()
|
|
|
|
|
|
|
|
assert module.database_names_to_dump(database, {}, flexmock(), dry_run=False) == ('foo',)
|
|
assert module.database_names_to_dump(database, {}, flexmock(), dry_run=False) == ('foo',)
|
|
@@ -272,6 +276,7 @@ def test_dump_data_sources_runs_pg_dump_for_each_database():
|
|
|
shell=True,
|
|
shell=True,
|
|
|
environment={'PGSSLMODE': 'disable'},
|
|
environment={'PGSSLMODE': 'disable'},
|
|
|
run_to_completion=False,
|
|
run_to_completion=False,
|
|
|
|
|
+ working_directory=None,
|
|
|
).and_return(process).once()
|
|
).and_return(process).once()
|
|
|
flexmock(module.dump).should_receive('write_data_source_dumps_metadata').with_args(
|
|
flexmock(module.dump).should_receive('write_data_source_dumps_metadata').with_args(
|
|
|
'/run/borgmatic',
|
|
'/run/borgmatic',
|
|
@@ -448,6 +453,7 @@ def test_dump_data_sources_runs_pg_dump_with_hostname_and_port():
|
|
|
shell=True,
|
|
shell=True,
|
|
|
environment={'PGSSLMODE': 'disable'},
|
|
environment={'PGSSLMODE': 'disable'},
|
|
|
run_to_completion=False,
|
|
run_to_completion=False,
|
|
|
|
|
+ working_directory=None,
|
|
|
).and_return(process).once()
|
|
).and_return(process).once()
|
|
|
flexmock(module.dump).should_receive('write_data_source_dumps_metadata').with_args(
|
|
flexmock(module.dump).should_receive('write_data_source_dumps_metadata').with_args(
|
|
|
'/run/borgmatic',
|
|
'/run/borgmatic',
|
|
@@ -510,6 +516,7 @@ def test_dump_data_sources_runs_pg_dump_with_username_and_password():
|
|
|
shell=True,
|
|
shell=True,
|
|
|
environment={'PGPASSWORD': 'trustsome1', 'PGSSLMODE': 'disable'},
|
|
environment={'PGPASSWORD': 'trustsome1', 'PGSSLMODE': 'disable'},
|
|
|
run_to_completion=False,
|
|
run_to_completion=False,
|
|
|
|
|
+ working_directory=None,
|
|
|
).and_return(process).once()
|
|
).and_return(process).once()
|
|
|
flexmock(module.dump).should_receive('write_data_source_dumps_metadata').with_args(
|
|
flexmock(module.dump).should_receive('write_data_source_dumps_metadata').with_args(
|
|
|
'/run/borgmatic',
|
|
'/run/borgmatic',
|
|
@@ -570,6 +577,7 @@ def test_dump_data_sources_with_username_injection_attack_gets_escaped():
|
|
|
shell=True,
|
|
shell=True,
|
|
|
environment={'PGPASSWORD': 'trustsome1', 'PGSSLMODE': 'disable'},
|
|
environment={'PGPASSWORD': 'trustsome1', 'PGSSLMODE': 'disable'},
|
|
|
run_to_completion=False,
|
|
run_to_completion=False,
|
|
|
|
|
+ working_directory=None,
|
|
|
).and_return(process).once()
|
|
).and_return(process).once()
|
|
|
flexmock(module.dump).should_receive('write_data_source_dumps_metadata').with_args(
|
|
flexmock(module.dump).should_receive('write_data_source_dumps_metadata').with_args(
|
|
|
'/run/borgmatic',
|
|
'/run/borgmatic',
|
|
@@ -625,6 +633,7 @@ def test_dump_data_sources_runs_pg_dump_with_directory_format():
|
|
|
),
|
|
),
|
|
|
shell=True,
|
|
shell=True,
|
|
|
environment={'PGSSLMODE': 'disable'},
|
|
environment={'PGSSLMODE': 'disable'},
|
|
|
|
|
+ working_directory=None,
|
|
|
).and_return(flexmock()).once()
|
|
).and_return(flexmock()).once()
|
|
|
flexmock(module.dump).should_receive('write_data_source_dumps_metadata').with_args(
|
|
flexmock(module.dump).should_receive('write_data_source_dumps_metadata').with_args(
|
|
|
'/run/borgmatic',
|
|
'/run/borgmatic',
|
|
@@ -686,6 +695,7 @@ def test_dump_data_sources_runs_pg_dump_with_string_compression():
|
|
|
shell=True,
|
|
shell=True,
|
|
|
environment={'PGSSLMODE': 'disable'},
|
|
environment={'PGSSLMODE': 'disable'},
|
|
|
run_to_completion=False,
|
|
run_to_completion=False,
|
|
|
|
|
+ working_directory=None,
|
|
|
).and_return(processes[0]).once()
|
|
).and_return(processes[0]).once()
|
|
|
flexmock(module.dump).should_receive('write_data_source_dumps_metadata').with_args(
|
|
flexmock(module.dump).should_receive('write_data_source_dumps_metadata').with_args(
|
|
|
'/run/borgmatic',
|
|
'/run/borgmatic',
|
|
@@ -747,6 +757,7 @@ def test_dump_data_sources_runs_pg_dump_with_integer_compression():
|
|
|
shell=True,
|
|
shell=True,
|
|
|
environment={'PGSSLMODE': 'disable'},
|
|
environment={'PGSSLMODE': 'disable'},
|
|
|
run_to_completion=False,
|
|
run_to_completion=False,
|
|
|
|
|
+ working_directory=None,
|
|
|
).and_return(processes[0]).once()
|
|
).and_return(processes[0]).once()
|
|
|
flexmock(module.dump).should_receive('write_data_source_dumps_metadata').with_args(
|
|
flexmock(module.dump).should_receive('write_data_source_dumps_metadata').with_args(
|
|
|
'/run/borgmatic',
|
|
'/run/borgmatic',
|
|
@@ -807,6 +818,7 @@ def test_dump_data_sources_runs_pg_dump_with_options():
|
|
|
shell=True,
|
|
shell=True,
|
|
|
environment={'PGSSLMODE': 'disable'},
|
|
environment={'PGSSLMODE': 'disable'},
|
|
|
run_to_completion=False,
|
|
run_to_completion=False,
|
|
|
|
|
+ working_directory=None,
|
|
|
).and_return(process).once()
|
|
).and_return(process).once()
|
|
|
flexmock(module.dump).should_receive('write_data_source_dumps_metadata').with_args(
|
|
flexmock(module.dump).should_receive('write_data_source_dumps_metadata').with_args(
|
|
|
'/run/borgmatic',
|
|
'/run/borgmatic',
|
|
@@ -853,6 +865,7 @@ def test_dump_data_sources_runs_pg_dumpall_for_all_databases():
|
|
|
shell=True,
|
|
shell=True,
|
|
|
environment={'PGSSLMODE': 'disable'},
|
|
environment={'PGSSLMODE': 'disable'},
|
|
|
run_to_completion=False,
|
|
run_to_completion=False,
|
|
|
|
|
+ working_directory=None,
|
|
|
).and_return(process).once()
|
|
).and_return(process).once()
|
|
|
flexmock(module.dump).should_receive('write_data_source_dumps_metadata').with_args(
|
|
flexmock(module.dump).should_receive('write_data_source_dumps_metadata').with_args(
|
|
|
'/run/borgmatic',
|
|
'/run/borgmatic',
|
|
@@ -911,6 +924,7 @@ def test_dump_data_sources_runs_non_default_pg_dump():
|
|
|
shell=True,
|
|
shell=True,
|
|
|
environment={'PGSSLMODE': 'disable'},
|
|
environment={'PGSSLMODE': 'disable'},
|
|
|
run_to_completion=False,
|
|
run_to_completion=False,
|
|
|
|
|
+ working_directory=None,
|
|
|
).and_return(process).once()
|
|
).and_return(process).once()
|
|
|
flexmock(module.dump).should_receive('write_data_source_dumps_metadata').with_args(
|
|
flexmock(module.dump).should_receive('write_data_source_dumps_metadata').with_args(
|
|
|
'/run/borgmatic',
|
|
'/run/borgmatic',
|
|
@@ -961,6 +975,7 @@ def test_restore_data_source_dump_runs_pg_restore():
|
|
|
output_log_level=logging.DEBUG,
|
|
output_log_level=logging.DEBUG,
|
|
|
input_file=extract_process.stdout,
|
|
input_file=extract_process.stdout,
|
|
|
environment={'PGSSLMODE': 'disable'},
|
|
environment={'PGSSLMODE': 'disable'},
|
|
|
|
|
+ working_directory=None,
|
|
|
).once()
|
|
).once()
|
|
|
flexmock(module).should_receive('execute_command').with_args(
|
|
flexmock(module).should_receive('execute_command').with_args(
|
|
|
(
|
|
(
|
|
@@ -974,6 +989,7 @@ def test_restore_data_source_dump_runs_pg_restore():
|
|
|
'ANALYZE',
|
|
'ANALYZE',
|
|
|
),
|
|
),
|
|
|
environment={'PGSSLMODE': 'disable'},
|
|
environment={'PGSSLMODE': 'disable'},
|
|
|
|
|
+ working_directory=None,
|
|
|
).once()
|
|
).once()
|
|
|
|
|
|
|
|
module.restore_data_source_dump(
|
|
module.restore_data_source_dump(
|
|
@@ -1022,6 +1038,7 @@ def test_restore_data_source_dump_runs_pg_restore_with_hostname_and_port():
|
|
|
output_log_level=logging.DEBUG,
|
|
output_log_level=logging.DEBUG,
|
|
|
input_file=extract_process.stdout,
|
|
input_file=extract_process.stdout,
|
|
|
environment={'PGSSLMODE': 'disable'},
|
|
environment={'PGSSLMODE': 'disable'},
|
|
|
|
|
+ working_directory=None,
|
|
|
).once()
|
|
).once()
|
|
|
flexmock(module).should_receive('execute_command').with_args(
|
|
flexmock(module).should_receive('execute_command').with_args(
|
|
|
(
|
|
(
|
|
@@ -1039,6 +1056,7 @@ def test_restore_data_source_dump_runs_pg_restore_with_hostname_and_port():
|
|
|
'ANALYZE',
|
|
'ANALYZE',
|
|
|
),
|
|
),
|
|
|
environment={'PGSSLMODE': 'disable'},
|
|
environment={'PGSSLMODE': 'disable'},
|
|
|
|
|
+ working_directory=None,
|
|
|
).once()
|
|
).once()
|
|
|
|
|
|
|
|
module.restore_data_source_dump(
|
|
module.restore_data_source_dump(
|
|
@@ -1087,6 +1105,7 @@ def test_restore_data_source_dump_runs_pg_restore_with_username_and_password():
|
|
|
output_log_level=logging.DEBUG,
|
|
output_log_level=logging.DEBUG,
|
|
|
input_file=extract_process.stdout,
|
|
input_file=extract_process.stdout,
|
|
|
environment={'PGPASSWORD': 'trustsome1', 'PGSSLMODE': 'disable'},
|
|
environment={'PGPASSWORD': 'trustsome1', 'PGSSLMODE': 'disable'},
|
|
|
|
|
+ working_directory=None,
|
|
|
).once()
|
|
).once()
|
|
|
flexmock(module).should_receive('execute_command').with_args(
|
|
flexmock(module).should_receive('execute_command').with_args(
|
|
|
(
|
|
(
|
|
@@ -1102,6 +1121,7 @@ def test_restore_data_source_dump_runs_pg_restore_with_username_and_password():
|
|
|
'ANALYZE',
|
|
'ANALYZE',
|
|
|
),
|
|
),
|
|
|
environment={'PGPASSWORD': 'trustsome1', 'PGSSLMODE': 'disable'},
|
|
environment={'PGPASSWORD': 'trustsome1', 'PGSSLMODE': 'disable'},
|
|
|
|
|
+ working_directory=None,
|
|
|
).once()
|
|
).once()
|
|
|
|
|
|
|
|
module.restore_data_source_dump(
|
|
module.restore_data_source_dump(
|
|
@@ -1165,6 +1185,7 @@ def test_restore_data_source_dump_with_connection_params_uses_connection_params_
|
|
|
output_log_level=logging.DEBUG,
|
|
output_log_level=logging.DEBUG,
|
|
|
input_file=extract_process.stdout,
|
|
input_file=extract_process.stdout,
|
|
|
environment={'PGPASSWORD': 'clipassword', 'PGSSLMODE': 'disable'},
|
|
environment={'PGPASSWORD': 'clipassword', 'PGSSLMODE': 'disable'},
|
|
|
|
|
+ working_directory=None,
|
|
|
).once()
|
|
).once()
|
|
|
flexmock(module).should_receive('execute_command').with_args(
|
|
flexmock(module).should_receive('execute_command').with_args(
|
|
|
(
|
|
(
|
|
@@ -1184,6 +1205,7 @@ def test_restore_data_source_dump_with_connection_params_uses_connection_params_
|
|
|
'ANALYZE',
|
|
'ANALYZE',
|
|
|
),
|
|
),
|
|
|
environment={'PGPASSWORD': 'clipassword', 'PGSSLMODE': 'disable'},
|
|
environment={'PGPASSWORD': 'clipassword', 'PGSSLMODE': 'disable'},
|
|
|
|
|
+ working_directory=None,
|
|
|
).once()
|
|
).once()
|
|
|
|
|
|
|
|
module.restore_data_source_dump(
|
|
module.restore_data_source_dump(
|
|
@@ -1247,6 +1269,7 @@ def test_restore_data_source_dump_without_connection_params_uses_restore_params_
|
|
|
output_log_level=logging.DEBUG,
|
|
output_log_level=logging.DEBUG,
|
|
|
input_file=extract_process.stdout,
|
|
input_file=extract_process.stdout,
|
|
|
environment={'PGPASSWORD': 'restorepassword', 'PGSSLMODE': 'disable'},
|
|
environment={'PGPASSWORD': 'restorepassword', 'PGSSLMODE': 'disable'},
|
|
|
|
|
+ working_directory=None,
|
|
|
).once()
|
|
).once()
|
|
|
flexmock(module).should_receive('execute_command').with_args(
|
|
flexmock(module).should_receive('execute_command').with_args(
|
|
|
(
|
|
(
|
|
@@ -1266,6 +1289,7 @@ def test_restore_data_source_dump_without_connection_params_uses_restore_params_
|
|
|
'ANALYZE',
|
|
'ANALYZE',
|
|
|
),
|
|
),
|
|
|
environment={'PGPASSWORD': 'restorepassword', 'PGSSLMODE': 'disable'},
|
|
environment={'PGPASSWORD': 'restorepassword', 'PGSSLMODE': 'disable'},
|
|
|
|
|
+ working_directory=None,
|
|
|
).once()
|
|
).once()
|
|
|
|
|
|
|
|
module.restore_data_source_dump(
|
|
module.restore_data_source_dump(
|
|
@@ -1316,6 +1340,7 @@ def test_restore_data_source_dump_runs_pg_restore_with_options():
|
|
|
output_log_level=logging.DEBUG,
|
|
output_log_level=logging.DEBUG,
|
|
|
input_file=extract_process.stdout,
|
|
input_file=extract_process.stdout,
|
|
|
environment={'PGSSLMODE': 'disable'},
|
|
environment={'PGSSLMODE': 'disable'},
|
|
|
|
|
+ working_directory=None,
|
|
|
).once()
|
|
).once()
|
|
|
flexmock(module).should_receive('execute_command').with_args(
|
|
flexmock(module).should_receive('execute_command').with_args(
|
|
|
(
|
|
(
|
|
@@ -1330,6 +1355,7 @@ def test_restore_data_source_dump_runs_pg_restore_with_options():
|
|
|
'ANALYZE',
|
|
'ANALYZE',
|
|
|
),
|
|
),
|
|
|
environment={'PGSSLMODE': 'disable'},
|
|
environment={'PGSSLMODE': 'disable'},
|
|
|
|
|
+ working_directory=None,
|
|
|
).once()
|
|
).once()
|
|
|
|
|
|
|
|
module.restore_data_source_dump(
|
|
module.restore_data_source_dump(
|
|
@@ -1368,10 +1394,12 @@ def test_restore_data_source_dump_runs_psql_for_all_database_dump():
|
|
|
output_log_level=logging.DEBUG,
|
|
output_log_level=logging.DEBUG,
|
|
|
input_file=extract_process.stdout,
|
|
input_file=extract_process.stdout,
|
|
|
environment={'PGSSLMODE': 'disable'},
|
|
environment={'PGSSLMODE': 'disable'},
|
|
|
|
|
+ working_directory=None,
|
|
|
).once()
|
|
).once()
|
|
|
flexmock(module).should_receive('execute_command').with_args(
|
|
flexmock(module).should_receive('execute_command').with_args(
|
|
|
('psql', '--no-password', '--no-psqlrc', '--quiet', '--command', 'ANALYZE'),
|
|
('psql', '--no-password', '--no-psqlrc', '--quiet', '--command', 'ANALYZE'),
|
|
|
environment={'PGSSLMODE': 'disable'},
|
|
environment={'PGSSLMODE': 'disable'},
|
|
|
|
|
+ working_directory=None,
|
|
|
).once()
|
|
).once()
|
|
|
|
|
|
|
|
module.restore_data_source_dump(
|
|
module.restore_data_source_dump(
|
|
@@ -1406,6 +1434,7 @@ def test_restore_data_source_dump_runs_psql_for_plain_database_dump():
|
|
|
output_log_level=logging.DEBUG,
|
|
output_log_level=logging.DEBUG,
|
|
|
input_file=extract_process.stdout,
|
|
input_file=extract_process.stdout,
|
|
|
environment={'PGSSLMODE': 'disable'},
|
|
environment={'PGSSLMODE': 'disable'},
|
|
|
|
|
+ working_directory=None,
|
|
|
).once()
|
|
).once()
|
|
|
flexmock(module).should_receive('execute_command').with_args(
|
|
flexmock(module).should_receive('execute_command').with_args(
|
|
|
(
|
|
(
|
|
@@ -1419,6 +1448,7 @@ def test_restore_data_source_dump_runs_psql_for_plain_database_dump():
|
|
|
'ANALYZE',
|
|
'ANALYZE',
|
|
|
),
|
|
),
|
|
|
environment={'PGSSLMODE': 'disable'},
|
|
environment={'PGSSLMODE': 'disable'},
|
|
|
|
|
+ working_directory=None,
|
|
|
).once()
|
|
).once()
|
|
|
|
|
|
|
|
module.restore_data_source_dump(
|
|
module.restore_data_source_dump(
|
|
@@ -1473,6 +1503,7 @@ def test_restore_data_source_dump_runs_non_default_pg_restore_and_psql():
|
|
|
output_log_level=logging.DEBUG,
|
|
output_log_level=logging.DEBUG,
|
|
|
input_file=extract_process.stdout,
|
|
input_file=extract_process.stdout,
|
|
|
environment={'PGSSLMODE': 'disable'},
|
|
environment={'PGSSLMODE': 'disable'},
|
|
|
|
|
+ working_directory=None,
|
|
|
).once()
|
|
).once()
|
|
|
flexmock(module).should_receive('execute_command').with_args(
|
|
flexmock(module).should_receive('execute_command').with_args(
|
|
|
(
|
|
(
|
|
@@ -1491,6 +1522,7 @@ def test_restore_data_source_dump_runs_non_default_pg_restore_and_psql():
|
|
|
'ANALYZE',
|
|
'ANALYZE',
|
|
|
),
|
|
),
|
|
|
environment={'PGSSLMODE': 'disable'},
|
|
environment={'PGSSLMODE': 'disable'},
|
|
|
|
|
+ working_directory=None,
|
|
|
).once()
|
|
).once()
|
|
|
|
|
|
|
|
module.restore_data_source_dump(
|
|
module.restore_data_source_dump(
|
|
@@ -1560,6 +1592,7 @@ def test_restore_data_source_dump_without_extract_process_restores_from_disk():
|
|
|
output_log_level=logging.DEBUG,
|
|
output_log_level=logging.DEBUG,
|
|
|
input_file=None,
|
|
input_file=None,
|
|
|
environment={'PGSSLMODE': 'disable'},
|
|
environment={'PGSSLMODE': 'disable'},
|
|
|
|
|
+ working_directory=None,
|
|
|
).once()
|
|
).once()
|
|
|
flexmock(module).should_receive('execute_command').with_args(
|
|
flexmock(module).should_receive('execute_command').with_args(
|
|
|
(
|
|
(
|
|
@@ -1573,6 +1606,7 @@ def test_restore_data_source_dump_without_extract_process_restores_from_disk():
|
|
|
'ANALYZE',
|
|
'ANALYZE',
|
|
|
),
|
|
),
|
|
|
environment={'PGSSLMODE': 'disable'},
|
|
environment={'PGSSLMODE': 'disable'},
|
|
|
|
|
+ working_directory=None,
|
|
|
).once()
|
|
).once()
|
|
|
|
|
|
|
|
module.restore_data_source_dump(
|
|
module.restore_data_source_dump(
|
|
@@ -1619,6 +1653,7 @@ def test_restore_data_source_dump_with_schemas_restores_schemas():
|
|
|
output_log_level=logging.DEBUG,
|
|
output_log_level=logging.DEBUG,
|
|
|
input_file=None,
|
|
input_file=None,
|
|
|
environment={'PGSSLMODE': 'disable'},
|
|
environment={'PGSSLMODE': 'disable'},
|
|
|
|
|
+ working_directory=None,
|
|
|
).once()
|
|
).once()
|
|
|
flexmock(module).should_receive('execute_command').with_args(
|
|
flexmock(module).should_receive('execute_command').with_args(
|
|
|
(
|
|
(
|
|
@@ -1632,6 +1667,7 @@ def test_restore_data_source_dump_with_schemas_restores_schemas():
|
|
|
'ANALYZE',
|
|
'ANALYZE',
|
|
|
),
|
|
),
|
|
|
environment={'PGSSLMODE': 'disable'},
|
|
environment={'PGSSLMODE': 'disable'},
|
|
|
|
|
+ working_directory=None,
|
|
|
).once()
|
|
).once()
|
|
|
|
|
|
|
|
module.restore_data_source_dump(
|
|
module.restore_data_source_dump(
|