From b50996b8649bffb71cadb7511382f5a2c5093bb6 Mon Sep 17 00:00:00 2001 From: Paul Wilde Date: Mon, 24 Jun 2024 11:07:09 +0100 Subject: [PATCH] change uptimekuma method names to 'push_*' instead of 'ping' --- borgmatic/config/schema.yaml | 4 +-- borgmatic/hooks/uptimekuma.py | 14 +++++----- tests/unit/hooks/test_uptimekuma.py | 40 ++++++++++++++--------------- 3 files changed, 29 insertions(+), 29 deletions(-) diff --git a/borgmatic/config/schema.yaml b/borgmatic/config/schema.yaml index 5135ce2..1a1c8cf 100644 --- a/borgmatic/config/schema.yaml +++ b/borgmatic/config/schema.yaml @@ -1745,8 +1745,8 @@ properties: - fail uniqueItems: true description: | - List of one or more monitoring states to ping for: "start", - "finish", and/or "fail". Defaults to pinging for all + List of one or more monitoring states to push for: "start", + "finish", and/or "fail". Defaults to pushing for all states. example: - start diff --git a/borgmatic/hooks/uptimekuma.py b/borgmatic/hooks/uptimekuma.py index 0ef1c0d..ca9f4ca 100644 --- a/borgmatic/hooks/uptimekuma.py +++ b/borgmatic/hooks/uptimekuma.py @@ -6,7 +6,7 @@ logger = logging.getLogger(__name__) def initialize_monitor( - ping_url, config, config_filename, monitoring_log_level, dry_run + push_url, config, config_filename, monitoring_log_level, dry_run ): # pragma: no cover ''' No initialization is necessary for this monitor. @@ -14,21 +14,21 @@ def initialize_monitor( pass -def ping_monitor(hook_config, config, config_filename, state, monitoring_log_level, dry_run): +def push_monitor(hook_config, config, config_filename, state, monitoring_log_level, dry_run): ''' - Ping the configured Uptime Kuma push_url. + Make a get request to the configured Uptime Kuma push_url. Use the given configuration filename in any log entries. - If this is a dry run, then don't actually ping anything. + If this is a dry run, then don't actually push anything. ''' run_states = hook_config.get('states', ['start', 'finish', 'fail']) if state.name.lower() not in run_states: return - dry_run_label = ' (dry run; not actually pinging)' if dry_run else '' + dry_run_label = ' (dry run; not actually pushing)' if dry_run else '' status = 'down' if state.name.lower() == 'fail' else 'up' push_url = hook_config.get('push_url', 'https://example.uptime.kuma/api/push/abcd1234') query = f'status={status}&msg={state.name.lower()}' logger.info( - f'{config_filename}: Pinging Uptime Kuma push_url {push_url}?{query} {dry_run_label}' + f'{config_filename}: Pushing Uptime Kuma push_url {push_url}?{query} {dry_run_label}' ) logger.debug(f'{config_filename}: Full Uptime Kuma state URL {push_url}?{query}') if dry_run: @@ -43,7 +43,7 @@ def ping_monitor(hook_config, config, config_filename, state, monitoring_log_lev def destroy_monitor( - ping_url_or_uuid, config, config_filename, monitoring_log_level, dry_run + push_url_or_uuid, config, config_filename, monitoring_log_level, dry_run ): # pragma: no cover ''' No destruction is necessary for this monitor. diff --git a/tests/unit/hooks/test_uptimekuma.py b/tests/unit/hooks/test_uptimekuma.py index 05d5802..fa77b92 100644 --- a/tests/unit/hooks/test_uptimekuma.py +++ b/tests/unit/hooks/test_uptimekuma.py @@ -7,13 +7,13 @@ DEFAULT_PUSH_URL = 'https://example.uptime.kuma/api/push/abcd1234' CUSTOM_PUSH_URL = 'https://uptime.example.com/api/push/efgh5678' -def test_ping_monitor_hits_default_uptimekuma_on_fail(): +def test_push_monitor_hits_default_uptimekuma_on_fail(): hook_config = {} flexmock(module.requests).should_receive('get').with_args( f'{DEFAULT_PUSH_URL}?status=down&msg=fail' ).and_return(flexmock(ok=True)).once() - module.ping_monitor( + module.push_monitor( hook_config, {}, 'config.yaml', @@ -23,13 +23,13 @@ def test_ping_monitor_hits_default_uptimekuma_on_fail(): ) -def test_ping_monitor_hits_custom_uptimekuma_on_fail(): +def test_push_monitor_hits_custom_uptimekuma_on_fail(): hook_config = {'push_url': CUSTOM_PUSH_URL} flexmock(module.requests).should_receive('get').with_args( f'{CUSTOM_PUSH_URL}?status=down&msg=fail' ).and_return(flexmock(ok=True)).once() - module.ping_monitor( + module.push_monitor( hook_config, {}, 'config.yaml', @@ -39,13 +39,13 @@ def test_ping_monitor_hits_custom_uptimekuma_on_fail(): ) -def test_ping_monitor_custom_uptimekuma_on_start(): +def test_push_monitor_custom_uptimekuma_on_start(): hook_config = {'push_url': CUSTOM_PUSH_URL} flexmock(module.requests).should_receive('get').with_args( f'{CUSTOM_PUSH_URL}?status=up&msg=start' ).and_return(flexmock(ok=True)).once() - module.ping_monitor( + module.push_monitor( hook_config, {}, 'config.yaml', @@ -55,13 +55,13 @@ def test_ping_monitor_custom_uptimekuma_on_start(): ) -def test_ping_monitor_custom_uptimekuma_on_finish(): +def test_push_monitor_custom_uptimekuma_on_finish(): hook_config = {'push_url': CUSTOM_PUSH_URL} flexmock(module.requests).should_receive('get').with_args( f'{CUSTOM_PUSH_URL}?status=up&msg=finish' ).and_return(flexmock(ok=True)).once() - module.ping_monitor( + module.push_monitor( hook_config, {}, 'config.yaml', @@ -71,11 +71,11 @@ def test_ping_monitor_custom_uptimekuma_on_finish(): ) -def test_ping_monitor_does_not_hit_custom_uptimekuma_on_fail_dry_run(): +def test_push_monitor_does_not_hit_custom_uptimekuma_on_fail_dry_run(): hook_config = {'push_url': CUSTOM_PUSH_URL} flexmock(module.requests).should_receive('get').never() - module.ping_monitor( + module.push_monitor( hook_config, {}, 'config.yaml', @@ -85,11 +85,11 @@ def test_ping_monitor_does_not_hit_custom_uptimekuma_on_fail_dry_run(): ) -def test_ping_monitor_does_not_hit_custom_uptimekuma_on_start_dry_run(): +def test_push_monitor_does_not_hit_custom_uptimekuma_on_start_dry_run(): hook_config = {'push_url': CUSTOM_PUSH_URL} flexmock(module.requests).should_receive('get').never() - module.ping_monitor( + module.push_monitor( hook_config, {}, 'config.yaml', @@ -99,11 +99,11 @@ def test_ping_monitor_does_not_hit_custom_uptimekuma_on_start_dry_run(): ) -def test_ping_monitor_does_not_hit_custom_uptimekuma_on_finish_dry_run(): +def test_push_monitor_does_not_hit_custom_uptimekuma_on_finish_dry_run(): hook_config = {'push_url': CUSTOM_PUSH_URL} flexmock(module.requests).should_receive('get').never() - module.ping_monitor( + module.push_monitor( hook_config, {}, 'config.yaml', @@ -113,14 +113,14 @@ def test_ping_monitor_does_not_hit_custom_uptimekuma_on_finish_dry_run(): ) -def test_ping_monitor_with_connection_error_logs_warning(): +def test_push_monitor_with_connection_error_logs_warning(): hook_config = {'push_url': CUSTOM_PUSH_URL} flexmock(module.requests).should_receive('get').with_args( f'{CUSTOM_PUSH_URL}?status=down&msg=fail' ).and_raise(module.requests.exceptions.ConnectionError) flexmock(module.logger).should_receive('warning').once() - module.ping_monitor( + module.push_monitor( hook_config, {}, 'config.yaml', @@ -130,7 +130,7 @@ def test_ping_monitor_with_connection_error_logs_warning(): ) -def test_ping_monitor_with_other_error_logs_warning(): +def test_push_monitor_with_other_error_logs_warning(): hook_config = {'push_url': CUSTOM_PUSH_URL} response = flexmock(ok=False) response.should_receive('raise_for_status').and_raise( @@ -141,7 +141,7 @@ def test_ping_monitor_with_other_error_logs_warning(): ).and_return(response) flexmock(module.logger).should_receive('warning').once() - module.ping_monitor( + module.push_monitor( hook_config, {}, 'config.yaml', @@ -151,11 +151,11 @@ def test_ping_monitor_with_other_error_logs_warning(): ) -def test_ping_monitor_with_invalid_run_state(): +def test_push_monitor_with_invalid_run_state(): hook_config = {'push_url': CUSTOM_PUSH_URL} flexmock(module.requests).should_receive('get').never() - module.ping_monitor( + module.push_monitor( hook_config, {}, 'config.yaml',