Fix (some) end-to-end tests (#721).

This commit is contained in:
Dan Helfman 2023-07-09 17:40:02 -07:00
parent 48b6a1679a
commit ab351548d2
9 changed files with 118 additions and 128 deletions

View file

@ -14,7 +14,7 @@ MONITOR_STATE_TO_CRONHUB = {
def initialize_monitor( def initialize_monitor(
ping_url, config_filename, monitoring_log_level, dry_run ping_url, config, config_filename, monitoring_log_level, dry_run
): # pragma: no cover ): # pragma: no cover
''' '''
No initialization is necessary for this monitor. No initialization is necessary for this monitor.
@ -55,7 +55,7 @@ def ping_monitor(hook_config, config, config_filename, state, monitoring_log_lev
def destroy_monitor( def destroy_monitor(
ping_url_or_uuid, config_filename, monitoring_log_level, dry_run ping_url_or_uuid, config, config_filename, monitoring_log_level, dry_run
): # pragma: no cover ): # pragma: no cover
''' '''
No destruction is necessary for this monitor. No destruction is necessary for this monitor.

View file

@ -14,7 +14,7 @@ MONITOR_STATE_TO_CRONITOR = {
def initialize_monitor( def initialize_monitor(
ping_url, config_filename, monitoring_log_level, dry_run ping_url, config, config_filename, monitoring_log_level, dry_run
): # pragma: no cover ): # pragma: no cover
''' '''
No initialization is necessary for this monitor. No initialization is necessary for this monitor.
@ -50,7 +50,7 @@ def ping_monitor(hook_config, config, config_filename, state, monitoring_log_lev
def destroy_monitor( def destroy_monitor(
ping_url_or_uuid, config_filename, monitoring_log_level, dry_run ping_url_or_uuid, config, config_filename, monitoring_log_level, dry_run
): # pragma: no cover ): # pragma: no cover
''' '''
No destruction is necessary for this monitor. No destruction is necessary for this monitor.

View file

@ -70,7 +70,7 @@ def format_buffered_logs_for_payload():
return payload return payload
def initialize_monitor(hook_config, config_filename, monitoring_log_level, dry_run): def initialize_monitor(hook_config, config, config_filename, monitoring_log_level, dry_run):
''' '''
Add a handler to the root logger that stores in memory the most recent logs emitted. That way, Add a handler to the root logger that stores in memory the most recent logs emitted. That way,
we can send them all to Healthchecks upon a finish or failure state. But skip this if the we can send them all to Healthchecks upon a finish or failure state. But skip this if the
@ -133,7 +133,7 @@ def ping_monitor(hook_config, config, config_filename, state, monitoring_log_lev
logger.warning(f'{config_filename}: Healthchecks error: {error}') logger.warning(f'{config_filename}: Healthchecks error: {error}')
def destroy_monitor(hook_config, config_filename, monitoring_log_level, dry_run): def destroy_monitor(hook_config, config, config_filename, monitoring_log_level, dry_run):
''' '''
Remove the monitor handler that was added to the root logger. This prevents the handler from Remove the monitor handler that was added to the root logger. This prevents the handler from
getting reused by other instances of this monitor. getting reused by other instances of this monitor.

View file

@ -6,7 +6,7 @@ logger = logging.getLogger(__name__)
def initialize_monitor( def initialize_monitor(
ping_url, config_filename, monitoring_log_level, dry_run ping_url, config, config_filename, monitoring_log_level, dry_run
): # pragma: no cover ): # pragma: no cover
''' '''
No initialization is necessary for this monitor. No initialization is necessary for this monitor.
@ -75,7 +75,7 @@ def ping_monitor(hook_config, config, config_filename, state, monitoring_log_lev
def destroy_monitor( def destroy_monitor(
ping_url_or_uuid, config_filename, monitoring_log_level, dry_run ping_url_or_uuid, config, config_filename, monitoring_log_level, dry_run
): # pragma: no cover ): # pragma: no cover
''' '''
No destruction is necessary for this monitor. No destruction is necessary for this monitor.

View file

@ -13,7 +13,7 @@ EVENTS_API_URL = 'https://events.pagerduty.com/v2/enqueue'
def initialize_monitor( def initialize_monitor(
integration_key, config_filename, monitoring_log_level, dry_run integration_key, config, config_filename, monitoring_log_level, dry_run
): # pragma: no cover ): # pragma: no cover
''' '''
No initialization is necessary for this monitor. No initialization is necessary for this monitor.
@ -75,7 +75,7 @@ def ping_monitor(hook_config, config, config_filename, state, monitoring_log_lev
def destroy_monitor( def destroy_monitor(
ping_url_or_uuid, config_filename, monitoring_log_level, dry_run ping_url_or_uuid, config, config_filename, monitoring_log_level, dry_run
): # pragma: no cover ): # pragma: no cover
''' '''
No destruction is necessary for this monitor. No destruction is necessary for this monitor.

View file

@ -22,17 +22,14 @@ def write_configuration(
storing database dumps, dump format (for PostgreSQL), and encryption passphrase. storing database dumps, dump format (for PostgreSQL), and encryption passphrase.
''' '''
config = f''' config = f'''
location:
source_directories: source_directories:
- {source_directory} - {source_directory}
repositories: repositories:
- {repository_path} - {repository_path}
borgmatic_source_directory: {borgmatic_source_directory} borgmatic_source_directory: {borgmatic_source_directory}
storage:
encryption_passphrase: "test" encryption_passphrase: "test"
hooks:
postgresql_databases: postgresql_databases:
- name: test - name: test
hostname: postgresql hostname: postgresql
@ -96,17 +93,14 @@ def write_custom_restore_configuration(
restore_username, restore_password and restore_path. restore_username, restore_password and restore_path.
''' '''
config = f''' config = f'''
location:
source_directories: source_directories:
- {source_directory} - {source_directory}
repositories: repositories:
- {repository_path} - {repository_path}
borgmatic_source_directory: {borgmatic_source_directory} borgmatic_source_directory: {borgmatic_source_directory}
storage:
encryption_passphrase: "test" encryption_passphrase: "test"
hooks:
postgresql_databases: postgresql_databases:
- name: test - name: test
hostname: postgresql hostname: postgresql
@ -161,17 +155,14 @@ def write_simple_custom_restore_configuration(
these options for PostgreSQL. these options for PostgreSQL.
''' '''
config = f''' config = f'''
location:
source_directories: source_directories:
- {source_directory} - {source_directory}
repositories: repositories:
- {repository_path} - {repository_path}
borgmatic_source_directory: {borgmatic_source_directory} borgmatic_source_directory: {borgmatic_source_directory}
storage:
encryption_passphrase: "test" encryption_passphrase: "test"
hooks:
postgresql_databases: postgresql_databases:
- name: test - name: test
hostname: postgresql hostname: postgresql

View file

@ -38,5 +38,4 @@ def test_validate_config_command_with_show_flag_displays_configuration():
f'validate-borgmatic-config --config {config_path} --show'.split(' ') f'validate-borgmatic-config --config {config_path} --show'.split(' ')
).decode(sys.stdout.encoding) ).decode(sys.stdout.encoding)
assert 'location:' in output
assert 'repositories:' in output assert 'repositories:' in output

View file

@ -10,7 +10,7 @@ def test_destroy_monitor_removes_healthchecks_handler():
original_handlers = list(logger.handlers) original_handlers = list(logger.handlers)
logger.addHandler(module.Forgetful_buffering_handler(byte_capacity=100, log_level=1)) logger.addHandler(module.Forgetful_buffering_handler(byte_capacity=100, log_level=1))
module.destroy_monitor(flexmock(), flexmock(), flexmock(), flexmock()) module.destroy_monitor(flexmock(), flexmock(), flexmock(), flexmock(), flexmock())
assert logger.handlers == original_handlers assert logger.handlers == original_handlers
@ -19,6 +19,6 @@ def test_destroy_monitor_without_healthchecks_handler_does_not_raise():
logger = logging.getLogger() logger = logging.getLogger()
original_handlers = list(logger.handlers) original_handlers = list(logger.handlers)
module.destroy_monitor(flexmock(), flexmock(), flexmock(), flexmock()) module.destroy_monitor(flexmock(), flexmock(), flexmock(), flexmock(), flexmock())
assert logger.handlers == original_handlers assert logger.handlers == original_handlers

View file

@ -86,7 +86,7 @@ def test_initialize_monitor_creates_log_handler_with_ping_body_limit():
).once() ).once()
module.initialize_monitor( module.initialize_monitor(
{'ping_body_limit': ping_body_limit}, 'test.yaml', monitoring_log_level, dry_run=False {'ping_body_limit': ping_body_limit}, {}, 'test.yaml', monitoring_log_level, dry_run=False
) )
@ -99,7 +99,7 @@ def test_initialize_monitor_creates_log_handler_with_default_ping_body_limit():
monitoring_log_level, monitoring_log_level,
).once() ).once()
module.initialize_monitor({}, 'test.yaml', monitoring_log_level, dry_run=False) module.initialize_monitor({}, {}, 'test.yaml', monitoring_log_level, dry_run=False)
def test_initialize_monitor_creates_log_handler_with_zero_ping_body_limit(): def test_initialize_monitor_creates_log_handler_with_zero_ping_body_limit():
@ -112,7 +112,7 @@ def test_initialize_monitor_creates_log_handler_with_zero_ping_body_limit():
).once() ).once()
module.initialize_monitor( module.initialize_monitor(
{'ping_body_limit': ping_body_limit}, 'test.yaml', monitoring_log_level, dry_run=False {'ping_body_limit': ping_body_limit}, {}, 'test.yaml', monitoring_log_level, dry_run=False
) )
@ -121,7 +121,7 @@ def test_initialize_monitor_creates_log_handler_when_send_logs_true():
flexmock(module).should_receive('Forgetful_buffering_handler').once() flexmock(module).should_receive('Forgetful_buffering_handler').once()
module.initialize_monitor( module.initialize_monitor(
{'send_logs': True}, 'test.yaml', monitoring_log_level=1, dry_run=False {'send_logs': True}, {}, 'test.yaml', monitoring_log_level=1, dry_run=False
) )
@ -130,7 +130,7 @@ def test_initialize_monitor_bails_when_send_logs_false():
flexmock(module).should_receive('Forgetful_buffering_handler').never() flexmock(module).should_receive('Forgetful_buffering_handler').never()
module.initialize_monitor( module.initialize_monitor(
{'send_logs': False}, 'test.yaml', monitoring_log_level=1, dry_run=False {'send_logs': False}, {}, 'test.yaml', monitoring_log_level=1, dry_run=False
) )