mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-03 12:10:55 -06:00
81 lines
2.8 KiB
Python
81 lines
2.8 KiB
Python
##########################################################################
|
|
#
|
|
# pgAdmin 4 - PostgreSQL Tools
|
|
#
|
|
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
|
|
# This software is released under the PostgreSQL Licence
|
|
#
|
|
##########################################################################
|
|
|
|
import os
|
|
|
|
from pgadmin.utils.route import BaseTestGenerator
|
|
from regression import parent_node_dict
|
|
from pgadmin.utils import does_utility_exist
|
|
import pgadmin.tools.backup.tests.test_backup_utils as backup_utils
|
|
|
|
|
|
class BackupJobTest(BaseTestGenerator):
|
|
"""Backup api test cases"""
|
|
scenarios = [
|
|
('When backup the object with the default options',
|
|
dict(
|
|
params=dict(
|
|
file='test_backup',
|
|
format='custom',
|
|
verbose=True,
|
|
blobs=True,
|
|
schemas=[],
|
|
tables=[],
|
|
database='postgres'
|
|
),
|
|
url='/backup/job/{0}/object',
|
|
expected_params=dict(
|
|
expected_cmd_opts=['--verbose', '--format=c', '--blobs'],
|
|
not_expected_cmd_opts=[],
|
|
expected_exit_code=[0, None]
|
|
)
|
|
))
|
|
]
|
|
|
|
def setUp(self):
|
|
if 'default_binary_paths' not in self.server or \
|
|
self.server['default_binary_paths'] is None or \
|
|
self.server['type'] not in self.server['default_binary_paths'] or\
|
|
self.server['default_binary_paths'][self.server['type']] == '':
|
|
self.skipTest(
|
|
"default_binary_paths is not set for the server {0}".format(
|
|
self.server['name']
|
|
)
|
|
)
|
|
|
|
binary_path = os.path.join(
|
|
self.server['default_binary_paths'][self.server['type']],
|
|
'pg_dump')
|
|
|
|
if os.name == 'nt':
|
|
binary_path = binary_path + '.exe'
|
|
|
|
retVal = does_utility_exist(binary_path)
|
|
if retVal is not None:
|
|
self.skipTest(retVal)
|
|
|
|
def runTest(self):
|
|
self.server_id = parent_node_dict["server"][-1]["server_id"]
|
|
url = self.url.format(self.server_id)
|
|
|
|
# Create the backup job
|
|
job_id = backup_utils.create_backup_job(self.tester, url, self.params,
|
|
self.assertEqual)
|
|
backup_file = backup_utils.run_backup_job(self.tester,
|
|
job_id,
|
|
self.expected_params,
|
|
self.assertIn,
|
|
self.assertNotIn,
|
|
self.assertEqual
|
|
)
|
|
|
|
if backup_file is not None:
|
|
if os.path.isfile(backup_file):
|
|
os.remove(backup_file)
|