Creating test database for alias 'default' ('file:memorydb_default?mode=memory&cache=shared')... test_it_rejects_get (hc.accounts.tests.test_add_project.AddProjectTestCase.test_it_rejects_get) ... \.venv\Lib\site-packages\django\core\handlers\base.py:63: UserWarning: No directory at: \static-collected\ mw_instance = middleware(adapted_handler) ok test_it_works (hc.accounts.tests.test_add_project.AddProjectTestCase.test_it_works) ... ok test_it_adds_totp (hc.accounts.tests.test_add_totp.AddTotpTestCase.test_it_adds_totp) ... ok test_it_checks_if_totp_already_configured (hc.accounts.tests.test_add_totp.AddTotpTestCase.test_it_checks_if_totp_already_configured) ... ok test_it_handles_non_numeric_code (hc.accounts.tests.test_add_totp.AddTotpTestCase.test_it_handles_non_numeric_code) ... ok test_it_handles_wrong_code (hc.accounts.tests.test_add_totp.AddTotpTestCase.test_it_handles_wrong_code) ... ok test_it_requires_sudo_mode (hc.accounts.tests.test_add_totp.AddTotpTestCase.test_it_requires_sudo_mode) ... ok test_it_shows_form (hc.accounts.tests.test_add_totp.AddTotpTestCase.test_it_shows_form) ... ok test_it_adds_credential (hc.accounts.tests.test_add_webauthn.AddWebauthnTestCase.test_it_adds_credential) ... ok test_it_handles_bad_response_json (hc.accounts.tests.test_add_webauthn.AddWebauthnTestCase.test_it_handles_bad_response_json) ... ok test_it_handles_verification_failure (hc.accounts.tests.test_add_webauthn.AddWebauthnTestCase.test_it_handles_verification_failure) ... ok test_it_requires_rp_id (hc.accounts.tests.test_add_webauthn.AddWebauthnTestCase.test_it_requires_rp_id) ... ok test_it_requires_sudo_mode (hc.accounts.tests.test_add_webauthn.AddWebauthnTestCase.test_it_requires_sudo_mode) ... ok test_it_shows_form (hc.accounts.tests.test_add_webauthn.AddWebauthnTestCase.test_it_shows_form) ... ok test_it_escapes_emails_when_showing_profiles (hc.accounts.tests.test_admin.AccountsAdminTestCase.test_it_escapes_emails_when_showing_profiles) ... ok test_it_escapes_emails_when_showing_profiles_with_subscriptions (hc.accounts.tests.test_admin.AccountsAdminTestCase.test_it_escapes_emails_when_showing_profiles_with_subscriptions) ... ok test_it_escapes_emails_when_showing_projects (hc.accounts.tests.test_admin.AccountsAdminTestCase.test_it_escapes_emails_when_showing_projects) ... ok test_it_shows_profiles (hc.accounts.tests.test_admin.AccountsAdminTestCase.test_it_shows_profiles) ... ok test_it_shows_projects (hc.accounts.tests.test_admin.AccountsAdminTestCase.test_it_shows_projects) ... ok test_it_requires_sudo_mode (hc.accounts.tests.test_change_email.ChangeEmailTestCase.test_it_requires_sudo_mode) ... ok test_it_requires_unique_email (hc.accounts.tests.test_change_email.ChangeEmailTestCase.test_it_requires_unique_email) ... ok test_it_sends_link (hc.accounts.tests.test_change_email.ChangeEmailTestCase.test_it_sends_link) ... ok test_it_sets_secure_autologin_cookie (hc.accounts.tests.test_change_email.ChangeEmailTestCase.test_it_sets_secure_autologin_cookie) ... ok test_it_shows_2fa_warning_if_totp_is_active (hc.accounts.tests.test_change_email.ChangeEmailTestCase.test_it_shows_2fa_warning_if_totp_is_active) ... ok test_it_shows_2fa_warning_if_webauthn_is_active (hc.accounts.tests.test_change_email.ChangeEmailTestCase.test_it_shows_2fa_warning_if_webauthn_is_active) ... ok test_it_shows_form (hc.accounts.tests.test_change_email.ChangeEmailTestCase.test_it_shows_form) ... ok test_it_handles_bad_payload (hc.accounts.tests.test_change_email_verify.ChangeEmailVerifyTestCase.test_it_handles_bad_payload) ... ok test_it_handles_expired_link (hc.accounts.tests.test_change_email_verify.ChangeEmailVerifyTestCase.test_it_handles_expired_link) ... ok test_it_handles_get (hc.accounts.tests.test_change_email_verify.ChangeEmailVerifyTestCase.test_it_handles_get) ... ok test_it_handles_get_with_cookie (hc.accounts.tests.test_change_email_verify.ChangeEmailVerifyTestCase.test_it_handles_get_with_cookie) ... ok test_it_handles_unavailable_email (hc.accounts.tests.test_change_email_verify.ChangeEmailVerifyTestCase.test_it_handles_unavailable_email) ... ok test_it_works (hc.accounts.tests.test_change_email_verify.ChangeEmailVerifyTestCase.test_it_works) ... ok test_it_handles_email_in_username (hc.accounts.tests.test_check_token.CheckTokenTestCase.test_it_handles_email_in_username) ... ok test_it_handles_get_with_cookie (hc.accounts.tests.test_check_token.CheckTokenTestCase.test_it_handles_get_with_cookie) ... ok test_it_handles_next_parameter (hc.accounts.tests.test_check_token.CheckTokenTestCase.test_it_handles_next_parameter) ... ok test_it_ignores_bad_next_parameter (hc.accounts.tests.test_check_token.CheckTokenTestCase.test_it_ignores_bad_next_parameter) ... ok test_it_redirects (hc.accounts.tests.test_check_token.CheckTokenTestCase.test_it_redirects) ... ok test_it_redirects_already_logged_in (hc.accounts.tests.test_check_token.CheckTokenTestCase.test_it_redirects_already_logged_in) ... ok test_it_redirects_bad_login (hc.accounts.tests.test_check_token.CheckTokenTestCase.test_it_redirects_bad_login) ... ok test_it_redirects_to_webauthn_form (hc.accounts.tests.test_check_token.CheckTokenTestCase.test_it_redirects_to_webauthn_form) ... ok test_it_shows_form (hc.accounts.tests.test_check_token.CheckTokenTestCase.test_it_shows_form) ... ok test_it_requires_confirmation (hc.accounts.tests.test_close_account.CloseAccountTestCase.test_it_requires_confirmation) ... ok test_it_requires_sudo_mode (hc.accounts.tests.test_close_account.CloseAccountTestCase.test_it_requires_sudo_mode) ... ok test_it_shows_confirmation_form (hc.accounts.tests.test_close_account.CloseAccountTestCase.test_it_shows_confirmation_form) ... ok test_it_works (hc.accounts.tests.test_close_account.CloseAccountTestCase.test_it_works) ... ok test_partner_removal_works (hc.accounts.tests.test_close_account.CloseAccountTestCase.test_partner_removal_works) ... ok test_it_accepts_arguments (hc.accounts.tests.test_createsuperuser.CreateSuperuserTestCase.test_it_accepts_arguments) ... ok test_it_rejects_duplicate_email (hc.accounts.tests.test_createsuperuser.CreateSuperuserTestCase.test_it_rejects_duplicate_email) ... ok test_it_works (hc.accounts.tests.test_createsuperuser.CreateSuperuserTestCase.test_it_works) ... ok test_it_handles_bad_next_parameter (hc.accounts.tests.test_login.LoginTestCase.test_it_handles_bad_next_parameter) ... ok test_it_handles_missing_profile (hc.accounts.tests.test_login.LoginTestCase.test_it_handles_missing_profile) ... ok test_it_handles_no_smtp (hc.accounts.tests.test_login.LoginTestCase.test_it_handles_no_smtp) ... ok test_it_handles_password (hc.accounts.tests.test_login.LoginTestCase.test_it_handles_password) ... ok test_it_handles_password_login_with_redirect (hc.accounts.tests.test_login.LoginTestCase.test_it_handles_password_login_with_redirect) ... ok test_it_handles_unknown_email (hc.accounts.tests.test_login.LoginTestCase.test_it_handles_unknown_email) ... ok test_it_handles_wrong_password (hc.accounts.tests.test_login.LoginTestCase.test_it_handles_wrong_password) ... ok test_it_ignores_case (hc.accounts.tests.test_login.LoginTestCase.test_it_ignores_case) ... ok test_it_obeys_registration_open (hc.accounts.tests.test_login.LoginTestCase.test_it_obeys_registration_open) ... ok test_it_pops_bad_link_from_session (hc.accounts.tests.test_login.LoginTestCase.test_it_pops_bad_link_from_session) ... ok test_it_rate_limits_client_ips (hc.accounts.tests.test_login.LoginTestCase.test_it_rate_limits_client_ips) ... ok test_it_rate_limits_emails (hc.accounts.tests.test_login.LoginTestCase.test_it_rate_limits_emails) ... ok test_it_rate_limits_password_attempts (hc.accounts.tests.test_login.LoginTestCase.test_it_rate_limits_password_attempts) ... ok test_it_redirects_authenticated_get (hc.accounts.tests.test_login.LoginTestCase.test_it_redirects_authenticated_get) ... ok test_it_redirects_to_totp_form (hc.accounts.tests.test_login.LoginTestCase.test_it_redirects_to_totp_form) ... ok test_it_redirects_to_webauthn_form (hc.accounts.tests.test_login.LoginTestCase.test_it_redirects_to_webauthn_form) ... ok test_it_sends_link (hc.accounts.tests.test_login.LoginTestCase.test_it_sends_link) ... ok test_it_sends_link_with_next (hc.accounts.tests.test_login.LoginTestCase.test_it_sends_link_with_next) ... ok test_it_sets_secure_autologin_cookie (hc.accounts.tests.test_login.LoginTestCase.test_it_sets_secure_autologin_cookie) ... ok test_it_shows_form (hc.accounts.tests.test_login.LoginTestCase.test_it_shows_form) ... ok test_it_uses_custom_logo (hc.accounts.tests.test_login.LoginTestCase.test_it_uses_custom_logo) ... ok test_rate_limiter_uses_x_forwarded_for (hc.accounts.tests.test_login.LoginTestCase.test_rate_limiter_uses_x_forwarded_for) ... ok test_redirect_to_totp_form_preserves_next (hc.accounts.tests.test_login.LoginTestCase.test_redirect_to_totp_form_preserves_next) ... ok test_redirect_to_webauthn_form_preserves_next (hc.accounts.tests.test_login.LoginTestCase.test_redirect_to_webauthn_form_preserves_next) ... ok test_it_handles_authentication_failure (hc.accounts.tests.test_login_totp.LoginTotpTestCase.test_it_handles_authentication_failure) ... ok test_it_logs_in (hc.accounts.tests.test_login_totp.LoginTotpTestCase.test_it_logs_in) ... ok test_it_redirects_after_login (hc.accounts.tests.test_login_totp.LoginTotpTestCase.test_it_redirects_after_login) ... ok test_it_rejects_changed_email (hc.accounts.tests.test_login_totp.LoginTotpTestCase.test_it_rejects_changed_email) ... ok test_it_rejects_old_timestamp (hc.accounts.tests.test_login_totp.LoginTotpTestCase.test_it_rejects_old_timestamp) ... ok test_it_rejects_used_code (hc.accounts.tests.test_login_totp.LoginTotpTestCase.test_it_rejects_used_code) ... ok test_it_requires_totp_secret (hc.accounts.tests.test_login_totp.LoginTotpTestCase.test_it_requires_totp_secret) ... ok test_it_requires_unauthenticated_user (hc.accounts.tests.test_login_totp.LoginTotpTestCase.test_it_requires_unauthenticated_user) ... ok test_it_shows_form (hc.accounts.tests.test_login_totp.LoginTotpTestCase.test_it_shows_form) ... ok test_it_uses_rate_limiting (hc.accounts.tests.test_login_totp.LoginTotpTestCase.test_it_uses_rate_limiting) ... ok test_it_handles_authentication_failure (hc.accounts.tests.test_login_webauthn.LoginWebAuthnTestCase.test_it_handles_authentication_failure) ... ok test_it_handles_bad_json (hc.accounts.tests.test_login_webauthn.LoginWebAuthnTestCase.test_it_handles_bad_json) ... ok test_it_logs_in (hc.accounts.tests.test_login_webauthn.LoginWebAuthnTestCase.test_it_logs_in) ... ok test_it_preserves_next_parameter_in_totp_url (hc.accounts.tests.test_login_webauthn.LoginWebAuthnTestCase.test_it_preserves_next_parameter_in_totp_url) ... ok test_it_redirects_after_login (hc.accounts.tests.test_login_webauthn.LoginWebAuthnTestCase.test_it_redirects_after_login) ... ok test_it_rejects_changed_email (hc.accounts.tests.test_login_webauthn.LoginWebAuthnTestCase.test_it_rejects_changed_email) ... ok test_it_rejects_old_timestamp (hc.accounts.tests.test_login_webauthn.LoginWebAuthnTestCase.test_it_rejects_old_timestamp) ... ok test_it_requires_rp_id (hc.accounts.tests.test_login_webauthn.LoginWebAuthnTestCase.test_it_requires_rp_id) ... ok test_it_requires_unauthenticated_user (hc.accounts.tests.test_login_webauthn.LoginWebAuthnTestCase.test_it_requires_unauthenticated_user) ... ok test_it_shows_form (hc.accounts.tests.test_login_webauthn.LoginWebAuthnTestCase.test_it_shows_form) ... ok test_it_shows_totp_option (hc.accounts.tests.test_login_webauthn.LoginWebAuthnTestCase.test_it_shows_totp_option) ... ok test_it_clears_next_nag_date_when_setting_hourly_nag_period (hc.accounts.tests.test_notifications.NotificationsTestCase.test_it_clears_next_nag_date_when_setting_hourly_nag_period) ... ok test_it_does_not_save_nonstandard_nag_period (hc.accounts.tests.test_notifications.NotificationsTestCase.test_it_does_not_save_nonstandard_nag_period) ... ok test_it_saves_reports_monthly (hc.accounts.tests.test_notifications.NotificationsTestCase.test_it_saves_reports_monthly) ... ok test_it_saves_reports_off (hc.accounts.tests.test_notifications.NotificationsTestCase.test_it_saves_reports_off) ... ok test_it_saves_reports_weekly (hc.accounts.tests.test_notifications.NotificationsTestCase.test_it_saves_reports_weekly) ... ok test_it_sets_next_nag_date_when_setting_hourly_nag_period (hc.accounts.tests.test_notifications.NotificationsTestCase.test_it_sets_next_nag_date_when_setting_hourly_nag_period) ... ok test_it_does_not_mention_security_key_if_rp_id_is_not_set (hc.accounts.tests.test_profile.ProfileTestCase.test_it_does_not_mention_security_key_if_rp_id_is_not_set) ... ok test_it_handles_no_credentials (hc.accounts.tests.test_profile.ProfileTestCase.test_it_handles_no_credentials) ... ok test_it_handles_no_projects (hc.accounts.tests.test_profile.ProfileTestCase.test_it_handles_no_projects) ... ok test_it_handles_unusable_password (hc.accounts.tests.test_profile.ProfileTestCase.test_it_handles_unusable_password) ... ok test_it_hides_security_keys_bits_if_rp_id_not_set (hc.accounts.tests.test_profile.ProfileTestCase.test_it_hides_security_keys_bits_if_rp_id_not_set) ... ok test_it_ignores_bad_tz (hc.accounts.tests.test_profile.ProfileTestCase.test_it_ignores_bad_tz) ... ok test_it_saves_tz (hc.accounts.tests.test_profile.ProfileTestCase.test_it_saves_tz) ... ok test_it_shows_no_warning_if_key_and_totp_is_registered (hc.accounts.tests.test_profile.ProfileTestCase.test_it_shows_no_warning_if_key_and_totp_is_registered) ... ok test_it_shows_no_warning_if_multiple_keys_are_registered (hc.accounts.tests.test_profile.ProfileTestCase.test_it_shows_no_warning_if_multiple_keys_are_registered) ... ok test_it_shows_profile_page (hc.accounts.tests.test_profile.ProfileTestCase.test_it_shows_profile_page) ... ok test_it_shows_project_membership (hc.accounts.tests.test_profile.ProfileTestCase.test_it_shows_project_membership) ... ok test_it_shows_readonly_project_membership (hc.accounts.tests.test_profile.ProfileTestCase.test_it_shows_readonly_project_membership) ... ok test_it_shows_security_key (hc.accounts.tests.test_profile.ProfileTestCase.test_it_shows_security_key) ... ok test_it_shows_totp (hc.accounts.tests.test_profile.ProfileTestCase.test_it_shows_totp) ... ok test_leaving_checks_membership (hc.accounts.tests.test_profile.ProfileTestCase.test_leaving_checks_membership) ... ok test_leaving_handles_invalid_uuid (hc.accounts.tests.test_profile.ProfileTestCase.test_leaving_handles_invalid_uuid) ... ok test_leaving_works (hc.accounts.tests.test_profile.ProfileTestCase.test_leaving_works) ... ok test_it_clears_next_nag_date (hc.accounts.tests.test_profile_model.ProfileModelTestCase.test_it_clears_next_nag_date) ... ok test_it_does_not_set_next_nag_date_if_no_nag_period (hc.accounts.tests.test_profile_model.ProfileModelTestCase.test_it_does_not_set_next_nag_date_if_no_nag_period) ... ok test_it_does_not_update_existing_next_nag_date (hc.accounts.tests.test_profile_model.ProfileModelTestCase.test_it_does_not_update_existing_next_nag_date) ... ok test_it_sets_next_nag_date (hc.accounts.tests.test_profile_model.ProfileModelTestCase.test_it_sets_next_nag_date) ... ok test_monthly_report_handles_no_downtimes (hc.accounts.tests.test_profile_model.ProfileModelTestCase.test_monthly_report_handles_no_downtimes) ... ok test_send_nag_noops_if_none_down (hc.accounts.tests.test_profile_model.ProfileModelTestCase.test_send_nag_noops_if_none_down) ... ok test_send_nag_skips_up_checks (hc.accounts.tests.test_profile_model.ProfileModelTestCase.test_send_nag_skips_up_checks) ... ok test_send_report_does_not_escape_html_in_text_email (hc.accounts.tests.test_profile_model.ProfileModelTestCase.test_send_report_does_not_escape_html_in_text_email) ... ok test_send_report_handles_negative_utc_offset (hc.accounts.tests.test_profile_model.ProfileModelTestCase.test_send_report_handles_negative_utc_offset) ... ok test_send_report_handles_positive_utc_offset (hc.accounts.tests.test_profile_model.ProfileModelTestCase.test_send_report_handles_positive_utc_offset) ... ok test_send_report_handles_recently_created_check (hc.accounts.tests.test_profile_model.ProfileModelTestCase.test_send_report_handles_recently_created_check) ... ok test_send_report_noops_if_no_pings (hc.accounts.tests.test_profile_model.ProfileModelTestCase.test_send_report_noops_if_no_pings) ... ok test_send_report_noops_if_no_recent_pings (hc.accounts.tests.test_profile_model.ProfileModelTestCase.test_send_report_noops_if_no_recent_pings) ... ok test_send_report_sends_daily_report (hc.accounts.tests.test_profile_model.ProfileModelTestCase.test_send_report_sends_daily_report) ... ok test_send_report_sends_monthly_report (hc.accounts.tests.test_profile_model.ProfileModelTestCase.test_send_report_sends_monthly_report) ... ok test_send_report_sends_nag (hc.accounts.tests.test_profile_model.ProfileModelTestCase.test_send_report_sends_nag) ... ok test_send_report_sends_weekly_report (hc.accounts.tests.test_profile_model.ProfileModelTestCase.test_send_report_sends_weekly_report) ... ok test_send_report_sets_custom_mail_from (hc.accounts.tests.test_profile_model.ProfileModelTestCase.test_send_report_sets_custom_mail_from) ... ok test_it_adds_manager_team_member (hc.accounts.tests.test_project.ProjectTestCase.test_it_adds_manager_team_member) ... ok test_it_adds_readonly_team_member (hc.accounts.tests.test_project.ProjectTestCase.test_it_adds_readonly_team_member) ... ok test_it_adds_team_member (hc.accounts.tests.test_project.ProjectTestCase.test_it_adds_team_member) ... ok test_it_allows_team_access (hc.accounts.tests.test_project.ProjectTestCase.test_it_allows_team_access) ... ok test_it_checks_access (hc.accounts.tests.test_project.ProjectTestCase.test_it_checks_access) ... ok test_it_checks_membership_when_removing_team_member (hc.accounts.tests.test_project.ProjectTestCase.test_it_checks_membership_when_removing_team_member) ... ok test_it_creates_api_key (hc.accounts.tests.test_project.ProjectTestCase.test_it_creates_api_key) ... ok test_it_creates_ping_key (hc.accounts.tests.test_project.ProjectTestCase.test_it_creates_ping_key) ... ok test_it_creates_readonly_key (hc.accounts.tests.test_project.ProjectTestCase.test_it_creates_readonly_key) ... ok test_it_does_not_allow_regular_member_invite_team_members (hc.accounts.tests.test_project.ProjectTestCase.test_it_does_not_allow_regular_member_invite_team_members) ... ok test_it_does_not_allow_regular_member_remove_team_member (hc.accounts.tests.test_project.ProjectTestCase.test_it_does_not_allow_regular_member_remove_team_member) ... ok test_it_hides_actions_for_readonly_users (hc.accounts.tests.test_project.ProjectTestCase.test_it_hides_actions_for_readonly_users) ... ok test_it_hides_prometheus_link_if_prometheus_not_enabled (hc.accounts.tests.test_project.ProjectTestCase.test_it_hides_prometheus_link_if_prometheus_not_enabled) ... ok test_it_invites_user_with_email_as_username (hc.accounts.tests.test_project.ProjectTestCase.test_it_invites_user_with_email_as_username) ... ok test_it_lets_manager_add_team_member (hc.accounts.tests.test_project.ProjectTestCase.test_it_lets_manager_add_team_member) ... ok test_it_lets_manager_remove_team_member (hc.accounts.tests.test_project.ProjectTestCase.test_it_lets_manager_remove_team_member) ... ok test_it_lets_owner_remove_team_member (hc.accounts.tests.test_project.ProjectTestCase.test_it_lets_owner_remove_team_member) ... ok test_it_mangles_project_name_in_invite_email (hc.accounts.tests.test_project.ProjectTestCase.test_it_mangles_project_name_in_invite_email) ... ok test_it_rate_limits_invites (hc.accounts.tests.test_project.ProjectTestCase.test_it_rate_limits_invites) ... ok test_it_rejects_duplicate_membership (hc.accounts.tests.test_project.ProjectTestCase.test_it_rejects_duplicate_membership) ... ok test_it_rejects_manager_remove_self (hc.accounts.tests.test_project.ProjectTestCase.test_it_rejects_manager_remove_self) ... ok test_it_rejects_owner_as_a_member (hc.accounts.tests.test_project.ProjectTestCase.test_it_rejects_owner_as_a_member) ... ok test_it_rejects_too_long_email_addresses (hc.accounts.tests.test_project.ProjectTestCase.test_it_rejects_too_long_email_addresses) ... ok test_it_requires_rw_access_to_create_key (hc.accounts.tests.test_project.ProjectTestCase.test_it_requires_rw_access_to_create_key) ... ok test_it_requires_rw_access_to_revoke_api_key (hc.accounts.tests.test_project.ProjectTestCase.test_it_requires_rw_access_to_revoke_api_key) ... ok test_it_requires_rw_access_to_set_project_name (hc.accounts.tests.test_project.ProjectTestCase.test_it_requires_rw_access_to_set_project_name) ... ok test_it_requires_rw_access_to_show_keys (hc.accounts.tests.test_project.ProjectTestCase.test_it_requires_rw_access_to_show_keys) ... ok test_it_requires_rw_access_to_update_project_name (hc.accounts.tests.test_project.ProjectTestCase.test_it_requires_rw_access_to_update_project_name) ... ok test_it_revokes_api_key (hc.accounts.tests.test_project.ProjectTestCase.test_it_revokes_api_key) ... ok test_it_sets_project_name (hc.accounts.tests.test_project.ProjectTestCase.test_it_sets_project_name) ... ok test_it_shows_invite_suggestions (hc.accounts.tests.test_project.ProjectTestCase.test_it_shows_invite_suggestions) ... ok test_it_shows_plaintext_keys (hc.accounts.tests.test_project.ProjectTestCase.test_it_shows_plaintext_keys) ... ok test_it_skips_invite_email_if_email_host_not_set (hc.accounts.tests.test_project.ProjectTestCase.test_it_skips_invite_email_if_email_host_not_set) ... ok test_it_handles_no_channels (hc.accounts.tests.test_project_model.ProjectModelTestCase.test_it_handles_no_channels) ... ok test_it_handles_one_broken_channel (hc.accounts.tests.test_project_model.ProjectModelTestCase.test_it_handles_one_broken_channel) ... ok test_it_handles_zero_broken_channels (hc.accounts.tests.test_project_model.ProjectModelTestCase.test_it_handles_zero_broken_channels) ... ok test_num_checks_available_handles_multiple_projects (hc.accounts.tests.test_project_model.ProjectModelTestCase.test_num_checks_available_handles_multiple_projects) ... ok test_team_emails_work (hc.accounts.tests.test_project_model.ProjectModelTestCase.test_team_emails_work) ... ok test_it_leaves_team_members_alone (hc.accounts.tests.test_pruneusers.PruneUsersTestCase.test_it_leaves_team_members_alone) ... ok test_it_removes_old_never_logged_in_users (hc.accounts.tests.test_pruneusers.PruneUsersTestCase.test_it_removes_old_never_logged_in_users) ... ok test_it_creates_user (hc.accounts.tests.test_remote_user_header_login.RemoteUserHeaderTestCase.test_it_creates_user) ... ok test_it_does_nothing_when_header_is_empty_string (hc.accounts.tests.test_remote_user_header_login.RemoteUserHeaderTestCase.test_it_does_nothing_when_header_is_empty_string) ... ok test_it_does_nothing_when_header_not_set (hc.accounts.tests.test_remote_user_header_login.RemoteUserHeaderTestCase.test_it_does_nothing_when_header_not_set) ... ok test_it_does_nothing_when_not_configured (hc.accounts.tests.test_remote_user_header_login.RemoteUserHeaderTestCase.test_it_does_nothing_when_not_configured) ... ok test_it_forces_lowercase (hc.accounts.tests.test_remote_user_header_login.RemoteUserHeaderTestCase.test_it_forces_lowercase) ... ok test_it_handles_already_logged_in_user (hc.accounts.tests.test_remote_user_header_login.RemoteUserHeaderTestCase.test_it_handles_already_logged_in_user) ... ok test_it_logs_out_another_user (hc.accounts.tests.test_remote_user_header_login.RemoteUserHeaderTestCase.test_it_logs_out_another_user) ... ok test_it_logs_out_another_user_when_header_is_empty_string (hc.accounts.tests.test_remote_user_header_login.RemoteUserHeaderTestCase.test_it_logs_out_another_user_when_header_is_empty_string) ... ok test_it_logs_user_in (hc.accounts.tests.test_remote_user_header_login.RemoteUserHeaderTestCase.test_it_logs_user_in) ... ok test_it_checks_owner (hc.accounts.tests.test_remove_credential.RemoveCredentialTestCase.test_it_checks_owner) ... ok test_it_removes_credential (hc.accounts.tests.test_remove_credential.RemoveCredentialTestCase.test_it_removes_credential) ... ok test_it_requires_rp_id (hc.accounts.tests.test_remove_credential.RemoveCredentialTestCase.test_it_requires_rp_id) ... ok test_it_requires_sudo_mode (hc.accounts.tests.test_remove_credential.RemoveCredentialTestCase.test_it_requires_sudo_mode) ... ok test_it_shows_form (hc.accounts.tests.test_remove_credential.RemoveCredentialTestCase.test_it_shows_form) ... ok test_it_skips_warning_when_other_2fa_methods_exist (hc.accounts.tests.test_remove_credential.RemoveCredentialTestCase.test_it_skips_warning_when_other_2fa_methods_exist) ... ok test_it_checks_access (hc.accounts.tests.test_remove_project.RemoveProjectTestCase.test_it_checks_access) ... ok test_it_rejects_get (hc.accounts.tests.test_remove_project.RemoveProjectTestCase.test_it_rejects_get) ... ok test_it_works (hc.accounts.tests.test_remove_project.RemoveProjectTestCase.test_it_works) ... ok test_it_removes_totp (hc.accounts.tests.test_remove_totp.RemoveCredentialTestCase.test_it_removes_totp) ... ok test_it_requires_sudo_mode (hc.accounts.tests.test_remove_totp.RemoveCredentialTestCase.test_it_requires_sudo_mode) ... ok test_it_shows_form (hc.accounts.tests.test_remove_totp.RemoveCredentialTestCase.test_it_shows_form) ... ok test_it_skips_warning_when_other_2fa_methods_exist (hc.accounts.tests.test_remove_totp.RemoveCredentialTestCase.test_it_skips_warning_when_other_2fa_methods_exist) ... ok test_it_avoids_duplicate_recipients (hc.accounts.tests.test_senddeletionscheduled.SendDeletionScheduledTestCase.test_it_avoids_duplicate_recipients) ... ok test_it_does_not_notify_channels_if_more_than_14_days_left (hc.accounts.tests.test_senddeletionscheduled.SendDeletionScheduledTestCase.test_it_does_not_notify_channels_if_more_than_14_days_left) ... ok test_it_notifies_channel (hc.accounts.tests.test_senddeletionscheduled.SendDeletionScheduledTestCase.test_it_notifies_channel) ... ERROR test_it_sends_notice (hc.accounts.tests.test_senddeletionscheduled.SendDeletionScheduledTestCase.test_it_sends_notice) ... ok test_it_sends_notice_to_team_members (hc.accounts.tests.test_senddeletionscheduled.SendDeletionScheduledTestCase.test_it_sends_notice_to_team_members) ... ok test_it_skips_email_channels_of_team_members (hc.accounts.tests.test_senddeletionscheduled.SendDeletionScheduledTestCase.test_it_skips_email_channels_of_team_members) ... ERROR test_it_skips_profiles_with_deletion_scheduled_date_in_past (hc.accounts.tests.test_senddeletionscheduled.SendDeletionScheduledTestCase.test_it_skips_profiles_with_deletion_scheduled_date_in_past) ... ok test_it_skips_profiles_with_deletion_scheduled_date_not_set (hc.accounts.tests.test_senddeletionscheduled.SendDeletionScheduledTestCase.test_it_skips_profiles_with_deletion_scheduled_date_not_set) ... ok test_it_sends_notice (hc.accounts.tests.test_sendflappingnotices.SendFlappingNoticesTestCase.test_it_sends_notice) ... ok test_it_checks_date_joined (hc.accounts.tests.test_sendinactivitynotices.SendInactivityNoticesTestCase.test_it_checks_date_joined) ... ok test_it_checks_deletion_notice_date (hc.accounts.tests.test_sendinactivitynotices.SendInactivityNoticesTestCase.test_it_checks_deletion_notice_date) ... ok test_it_checks_last_active_date (hc.accounts.tests.test_sendinactivitynotices.SendInactivityNoticesTestCase.test_it_checks_last_active_date) ... ok test_it_checks_last_login (hc.accounts.tests.test_sendinactivitynotices.SendInactivityNoticesTestCase.test_it_checks_last_login) ... ok test_it_checks_recent_pings (hc.accounts.tests.test_sendinactivitynotices.SendInactivityNoticesTestCase.test_it_checks_recent_pings) ... ok test_it_checks_recently_active_team_members (hc.accounts.tests.test_sendinactivitynotices.SendInactivityNoticesTestCase.test_it_checks_recently_active_team_members) ... ok test_it_checks_recently_logged_in_team_members (hc.accounts.tests.test_sendinactivitynotices.SendInactivityNoticesTestCase.test_it_checks_recently_logged_in_team_members) ... ok test_it_checks_recently_signed_up_team_members (hc.accounts.tests.test_sendinactivitynotices.SendInactivityNoticesTestCase.test_it_checks_recently_signed_up_team_members) ... ok test_it_checks_subscription (hc.accounts.tests.test_sendinactivitynotices.SendInactivityNoticesTestCase.test_it_checks_subscription) ... ok test_it_ignores_inactive_team_members (hc.accounts.tests.test_sendinactivitynotices.SendInactivityNoticesTestCase.test_it_ignores_inactive_team_members) ... ok test_it_sends_notice (hc.accounts.tests.test_sendinactivitynotices.SendInactivityNoticesTestCase.test_it_sends_notice) ... ok test_it_requires_sudo_mode (hc.accounts.tests.test_set_password.SetPasswordTestCase.test_it_requires_sudo_mode) ... ok test_it_sets_password (hc.accounts.tests.test_set_password.SetPasswordTestCase.test_it_sets_password) ... ok test_it_shows_form (hc.accounts.tests.test_set_password.SetPasswordTestCase.test_it_shows_form) ... ok test_post_checks_length (hc.accounts.tests.test_set_password.SetPasswordTestCase.test_post_checks_length) ... ok test_it_checks_length (hc.accounts.tests.test_signup.SignupTestCase.test_it_checks_length) ... ok test_it_checks_syntax (hc.accounts.tests.test_signup.SignupTestCase.test_it_checks_syntax) ... ok test_it_handles_existing_users (hc.accounts.tests.test_signup.SignupTestCase.test_it_handles_existing_users) ... ok test_it_ignores_bad_tz (hc.accounts.tests.test_signup.SignupTestCase.test_it_ignores_bad_tz) ... ok test_it_ignores_case (hc.accounts.tests.test_signup.SignupTestCase.test_it_ignores_case) ... ok test_it_obeys_registration_open (hc.accounts.tests.test_signup.SignupTestCase.test_it_obeys_registration_open) ... ok test_it_rate_limits_client_ips (hc.accounts.tests.test_signup.SignupTestCase.test_it_rate_limits_client_ips) ... ok test_it_rate_limits_email_address (hc.accounts.tests.test_signup.SignupTestCase.test_it_rate_limits_email_address) ... ok test_it_requires_unauthenticated_user (hc.accounts.tests.test_signup.SignupTestCase.test_it_requires_unauthenticated_user) ... ok test_it_sets_limits (hc.accounts.tests.test_signup.SignupTestCase.test_it_sets_limits) ... ok test_it_sets_secure_autologin_cookie (hc.accounts.tests.test_signup.SignupTestCase.test_it_sets_secure_autologin_cookie) ... ok test_it_works (hc.accounts.tests.test_signup.SignupTestCase.test_it_works) ... ok test_rate_limiter_uses_x_forwarded_for (hc.accounts.tests.test_signup.SignupTestCase.test_rate_limiter_uses_x_forwarded_for) ... ok test_it_requires_registration_open (hc.accounts.tests.test_signup_csrf.SignupCsrfTestCase.test_it_requires_registration_open) ... ok test_it_requires_unauthenticated_user (hc.accounts.tests.test_signup_csrf.SignupCsrfTestCase.test_it_requires_unauthenticated_user) ... ok test_it_works (hc.accounts.tests.test_signup_csrf.SignupCsrfTestCase.test_it_works) ... ok test_it_accepts_code (hc.accounts.tests.test_sudo_mode.SudoModeTestCase.test_it_accepts_code) ... ok test_it_passes_through_if_sudo_mode_is_active (hc.accounts.tests.test_sudo_mode.SudoModeTestCase.test_it_passes_through_if_sudo_mode_is_active) ... ok test_it_rejects_incorrect_code (hc.accounts.tests.test_sudo_mode.SudoModeTestCase.test_it_rejects_incorrect_code) ... ok test_it_sends_code (hc.accounts.tests.test_sudo_mode.SudoModeTestCase.test_it_sends_code) ... ok test_it_uses_rate_limiting (hc.accounts.tests.test_sudo_mode.SudoModeTestCase.test_it_uses_rate_limiting) ... ok test_it_handles_missing_profile (hc.accounts.tests.test_team_access_middleware.TeamAccessMiddlewareTestCase.test_it_handles_missing_profile) ... ok test_accept_requires_a_transfer_request (hc.accounts.tests.test_transfer_project.TransferProjectTestCase.test_accept_requires_a_transfer_request) ... ok test_accept_works (hc.accounts.tests.test_transfer_project.TransferProjectTestCase.test_accept_works) ... ok test_cancel_checks_ownership (hc.accounts.tests.test_transfer_project.TransferProjectTestCase.test_cancel_checks_ownership) ... ok test_cancel_works (hc.accounts.tests.test_transfer_project.TransferProjectTestCase.test_cancel_works) ... ok test_it_checks_limits (hc.accounts.tests.test_transfer_project.TransferProjectTestCase.test_it_checks_limits) ... ok test_it_mangles_project_name_in_transfer_email (hc.accounts.tests.test_transfer_project.TransferProjectTestCase.test_it_mangles_project_name_in_transfer_email) ... ok test_it_shows_transfer_request (hc.accounts.tests.test_transfer_project.TransferProjectTestCase.test_it_shows_transfer_request) ... ok test_it_shows_transfer_request_with_limit_notice (hc.accounts.tests.test_transfer_project.TransferProjectTestCase.test_it_shows_transfer_request_with_limit_notice) ... ok test_only_the_proposed_owner_can_accept (hc.accounts.tests.test_transfer_project.TransferProjectTestCase.test_only_the_proposed_owner_can_accept) ... ok test_only_the_proposed_owner_can_reject (hc.accounts.tests.test_transfer_project.TransferProjectTestCase.test_only_the_proposed_owner_can_reject) ... ok test_readonly_user_can_accept (hc.accounts.tests.test_transfer_project.TransferProjectTestCase.test_readonly_user_can_accept) ... ok test_reject_works (hc.accounts.tests.test_transfer_project.TransferProjectTestCase.test_reject_works) ... ok test_transfer_project_checks_membership (hc.accounts.tests.test_transfer_project.TransferProjectTestCase.test_transfer_project_checks_membership) ... ok test_transfer_project_checks_ownership (hc.accounts.tests.test_transfer_project.TransferProjectTestCase.test_transfer_project_checks_ownership) ... ok test_transfer_project_works (hc.accounts.tests.test_transfer_project.TransferProjectTestCase.test_transfer_project_works) ... ok test_aged_signature_autosubmits (hc.accounts.tests.test_unsubscribe_reports.UnsubscribeReportsTestCase.test_aged_signature_autosubmits) ... ok test_bad_signature_gets_rejected (hc.accounts.tests.test_unsubscribe_reports.UnsubscribeReportsTestCase.test_bad_signature_gets_rejected) ... ok test_it_handles_missing_user (hc.accounts.tests.test_unsubscribe_reports.UnsubscribeReportsTestCase.test_it_handles_missing_user) ... ok test_it_serves_confirmation_form (hc.accounts.tests.test_unsubscribe_reports.UnsubscribeReportsTestCase.test_it_serves_confirmation_form) ... ok test_it_unsubscribes (hc.accounts.tests.test_unsubscribe_reports.UnsubscribeReportsTestCase.test_it_unsubscribes) ... ok test_it_shows_channel_list_with_pushbullet (hc.api.tests.test_admin.ApiAdminTestCase.test_it_shows_channel_list_with_pushbullet) ... ok test_it_does_not_compare_digest_to_plaintext_key (hc.api.tests.test_auth.AuthTestCase.test_it_does_not_compare_digest_to_plaintext_key) ... ok test_it_rejects_wrong_key (hc.api.tests.test_auth.AuthTestCase.test_it_rejects_wrong_key) ... ok test_plain_text_api_key_works (hc.api.tests.test_auth.AuthTestCase.test_plain_text_api_key_works) ... ok test_plain_text_readonly_key_works (hc.api.tests.test_auth.AuthTestCase.test_plain_text_readonly_key_works) ... ok test_ro_endpoint_accepts_hashed_api_key (hc.api.tests.test_auth.AuthTestCase.test_ro_endpoint_accepts_hashed_api_key) ... ok test_ro_endpoint_accepts_hashed_readonly_key (hc.api.tests.test_auth.AuthTestCase.test_ro_endpoint_accepts_hashed_readonly_key) ... ok test_rw_endpoint_accepts_hashed_api_key (hc.api.tests.test_auth.AuthTestCase.test_rw_endpoint_accepts_hashed_api_key) ... ok test_rw_endpoint_rejects_hashed_readonly_key (hc.api.tests.test_auth.AuthTestCase.test_rw_endpoint_rejects_hashed_readonly_key) ... ok test_it_handles_new (hc.api.tests.test_badge.BadgeTestCase.test_it_handles_new) ... ok test_it_handles_options (hc.api.tests.test_badge.BadgeTestCase.test_it_handles_options) ... ok test_it_handles_special_characters (hc.api.tests.test_badge.BadgeTestCase.test_it_handles_special_characters) ... ok test_it_ignores_started_when_down (hc.api.tests.test_badge.BadgeTestCase.test_it_ignores_started_when_down) ... ok test_it_rejects_bad_format (hc.api.tests.test_badge.BadgeTestCase.test_it_rejects_bad_format) ... ok test_it_rejects_bad_signature (hc.api.tests.test_badge.BadgeTestCase.test_it_rejects_bad_signature) ... ok test_it_returns_shields_json (hc.api.tests.test_badge.BadgeTestCase.test_it_returns_shields_json) ... ok test_it_returns_svg (hc.api.tests.test_badge.BadgeTestCase.test_it_returns_svg) ... ok test_it_treats_late_as_up (hc.api.tests.test_badge.BadgeTestCase.test_it_treats_late_as_up) ... ok test_late_mode_ignores_started_when_late (hc.api.tests.test_badge.BadgeTestCase.test_late_mode_ignores_started_when_late) ... ok test_late_mode_returns_late_status (hc.api.tests.test_badge.BadgeTestCase.test_late_mode_returns_late_status) ... ok test_it_categorizes_5_4_4_as_transient (hc.api.tests.test_bounces.BounceTestCase.test_it_categorizes_5_4_4_as_transient) ... ok test_it_checks_notification_age (hc.api.tests.test_bounces.BounceTestCase.test_it_checks_notification_age) ... ok test_it_handles_bad_signature (hc.api.tests.test_bounces.BounceTestCase.test_it_handles_bad_signature) ... ok test_it_handles_bad_username (hc.api.tests.test_bounces.BounceTestCase.test_it_handles_bad_username) ... ok test_it_handles_expired_signature (hc.api.tests.test_bounces.BounceTestCase.test_it_handles_expired_signature) ... ok test_it_handles_notification_non_bounce (hc.api.tests.test_bounces.BounceTestCase.test_it_handles_notification_non_bounce) ... ok test_it_handles_permanent_notification_bounce (hc.api.tests.test_bounces.BounceTestCase.test_it_handles_permanent_notification_bounce) ... ok test_it_handles_permanent_report_bounce (hc.api.tests.test_bounces.BounceTestCase.test_it_handles_permanent_report_bounce) ... ok test_it_handles_transient_notification_bounce (hc.api.tests.test_bounces.BounceTestCase.test_it_handles_transient_notification_bounce) ... ok test_it_handles_transient_report_bounce (hc.api.tests.test_bounces.BounceTestCase.test_it_handles_transient_report_bounce) ... ok test_it_logs_diagnostic_code (hc.api.tests.test_bounces.BounceTestCase.test_it_logs_diagnostic_code) ... ok test_it_truncates_long_diagnostic_code (hc.api.tests.test_bounces.BounceTestCase.test_it_truncates_long_diagnostic_code) ... ok test_it_handles_json_opsgenie_value (hc.api.tests.test_channel_model.ChannelModelTestCase.test_it_handles_json_opsgenie_value) ... ok test_webhook_spec_handles_mixed (hc.api.tests.test_channel_model.ChannelModelTestCase.test_webhook_spec_handles_mixed) ... ok test_it_handles_bad_badge_key (hc.api.tests.test_check_badge.CheckBadgeTestCase.test_it_handles_bad_badge_key) ... ok test_it_handles_new (hc.api.tests.test_check_badge.CheckBadgeTestCase.test_it_handles_new) ... ok test_it_handles_options (hc.api.tests.test_check_badge.CheckBadgeTestCase.test_it_handles_options) ... ok test_it_ignores_started_when_down (hc.api.tests.test_check_badge.CheckBadgeTestCase.test_it_ignores_started_when_down) ... ok test_it_rejects_bad_format (hc.api.tests.test_check_badge.CheckBadgeTestCase.test_it_rejects_bad_format) ... ok test_it_returns_shields_json (hc.api.tests.test_check_badge.CheckBadgeTestCase.test_it_returns_shields_json) ... ok test_it_returns_svg (hc.api.tests.test_check_badge.CheckBadgeTestCase.test_it_returns_svg) ... ok test_it_treats_late_as_up (hc.api.tests.test_check_badge.CheckBadgeTestCase.test_it_treats_late_as_up) ... ok test_late_mode_ignores_started_when_late (hc.api.tests.test_check_badge.CheckBadgeTestCase.test_late_mode_ignores_started_when_late) ... ok test_late_mode_returns_late_status (hc.api.tests.test_check_badge.CheckBadgeTestCase.test_late_mode_returns_late_status) ... ok test_it_handles_down (hc.api.tests.test_check_going_down_after.CheckModelTestCase.test_it_handles_down) ... ok test_it_handles_down_then_started_check (hc.api.tests.test_check_going_down_after.CheckModelTestCase.test_it_handles_down_then_started_check) ... ok test_it_handles_new_check (hc.api.tests.test_check_going_down_after.CheckModelTestCase.test_it_handles_new_check) ... ok test_it_handles_paused_check (hc.api.tests.test_check_going_down_after.CheckModelTestCase.test_it_handles_paused_check) ... ok test_it_handles_paused_then_started_check (hc.api.tests.test_check_going_down_after.CheckModelTestCase.test_it_handles_paused_then_started_check) ... ok test_it_handles_up (hc.api.tests.test_check_going_down_after.CheckModelTestCase.test_it_handles_up) ... ok test_downtimes_handles_currently_down_check (hc.api.tests.test_check_model.CheckModelTestCase.test_downtimes_handles_currently_down_check) ... ok test_downtimes_handles_flip_one_day_ago (hc.api.tests.test_check_model.CheckModelTestCase.test_downtimes_handles_flip_one_day_ago) ... ok test_downtimes_handles_flip_two_months_ago (hc.api.tests.test_check_model.CheckModelTestCase.test_downtimes_handles_flip_two_months_ago) ... ok test_downtimes_handles_months_when_check_did_not_exist (hc.api.tests.test_check_model.CheckModelTestCase.test_downtimes_handles_months_when_check_did_not_exist) ... ok test_downtimes_handles_no_flips (hc.api.tests.test_check_model.CheckModelTestCase.test_downtimes_handles_no_flips) ... ok test_downtimes_handles_non_utc_timezone (hc.api.tests.test_check_model.CheckModelTestCase.test_downtimes_handles_non_utc_timezone) ... ok test_get_grace_start_returns_utc (hc.api.tests.test_check_model.CheckModelTestCase.test_get_grace_start_returns_utc) ... ok test_get_status_handles_autumn_dst_transition (hc.api.tests.test_check_model.CheckModelTestCase.test_get_status_handles_autumn_dst_transition) ... FAIL test_get_status_handles_down_then_started_and_expired (hc.api.tests.test_check_model.CheckModelTestCase.test_get_status_handles_down_then_started_and_expired) ... ok test_get_status_handles_new_check (hc.api.tests.test_check_model.CheckModelTestCase.test_get_status_handles_new_check) ... ok test_get_status_handles_past_grace (hc.api.tests.test_check_model.CheckModelTestCase.test_get_status_handles_past_grace) ... ok test_get_status_handles_paused_check (hc.api.tests.test_check_model.CheckModelTestCase.test_get_status_handles_paused_check) ... ok test_get_status_handles_paused_then_started_and_expired (hc.api.tests.test_check_model.CheckModelTestCase.test_get_status_handles_paused_then_started_and_expired) ... ok test_get_status_handles_started (hc.api.tests.test_check_model.CheckModelTestCase.test_get_status_handles_started) ... ok test_get_status_handles_started_and_mia (hc.api.tests.test_check_model.CheckModelTestCase.test_get_status_handles_started_and_mia) ... ok test_get_status_handles_up_then_started (hc.api.tests.test_check_model.CheckModelTestCase.test_get_status_handles_up_then_started) ... ok test_get_status_handles_up_then_started_and_expired (hc.api.tests.test_check_model.CheckModelTestCase.test_get_status_handles_up_then_started_and_expired) ... ok test_get_status_obeys_down_status (hc.api.tests.test_check_model.CheckModelTestCase.test_get_status_obeys_down_status) ... ok test_it_does_not_prune_flips_less_than_93_days_old (hc.api.tests.test_check_model.CheckModelTestCase.test_it_does_not_prune_flips_less_than_93_days_old) ... ok test_it_does_not_prune_flips_newer_than_the_earliest_ping (hc.api.tests.test_check_model.CheckModelTestCase.test_it_does_not_prune_flips_newer_than_the_earliest_ping) ... ok test_it_prunes (hc.api.tests.test_check_model.CheckModelTestCase.test_it_prunes) ... ok test_it_prunes_object_storage (hc.api.tests.test_check_model.CheckModelTestCase.test_it_prunes_object_storage) ... ok test_it_strips_tags (hc.api.tests.test_check_model.CheckModelTestCase.test_it_strips_tags) ... ok test_monthly_uptime_pct_handles_dst (hc.api.tests.test_check_model.CheckModelTestCase.test_monthly_uptime_pct_handles_dst) ... ok test_next_ping_with_cron_syntax (hc.api.tests.test_check_model.CheckModelTestCase.test_next_ping_with_cron_syntax) ... ok test_rename_and_delete_handles_already_deleted_checks (hc.api.tests.test_check_model.CheckModelTestCase.test_rename_and_delete_handles_already_deleted_checks) ... ok test_status_handles_stopiteration (hc.api.tests.test_check_model.CheckModelTestCase.test_status_handles_stopiteration) ... ok test_status_works_with_cron_syntax (hc.api.tests.test_check_model.CheckModelTestCase.test_status_works_with_cron_syntax) ... ok test_status_works_with_grace_period (hc.api.tests.test_check_model.CheckModelTestCase.test_status_works_with_grace_period) ... ok test_status_works_with_oncalendar_syntax (hc.api.tests.test_check_model.CheckModelTestCase.test_status_works_with_oncalendar_syntax) ... ok test_status_works_with_timezone (hc.api.tests.test_check_model.CheckModelTestCase.test_status_works_with_timezone) ... ok test_30_days_works (hc.api.tests.test_create_check.CreateCheckTestCase.test_30_days_works) ... ok test_it_accepts_api_key_in_header (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_accepts_api_key_in_header) ... ok test_it_assigns_channels (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_assigns_channels) ... ok test_it_converts_legacy_timezone (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_converts_legacy_timezone) ... ok test_it_creates_new_check_if_unique_references_absent_field (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_creates_new_check_if_unique_references_absent_field) ... ok test_it_handles_channel_lookup_by_name_with_multiple_results (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_handles_channel_lookup_by_name_with_multiple_results) ... ok test_it_handles_channel_lookup_by_name_with_no_results (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_handles_channel_lookup_by_name_with_no_results) ... ok test_it_handles_empty_unique_parameter (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_handles_empty_unique_parameter) ... ok test_it_handles_invalid_json (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_handles_invalid_json) ... ok test_it_handles_invalid_slug (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_handles_invalid_slug) ... ok test_it_handles_missing_request_body (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_handles_missing_request_body) ... ok test_it_handles_non_dict_json (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_handles_non_dict_json) ... ok test_it_handles_options (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_handles_options) ... ok test_it_obeys_check_limit (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_obeys_check_limit) ... ok test_it_rejects_bad_methods_value (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_rejects_bad_methods_value) ... ok test_it_rejects_bad_unique_values (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_rejects_bad_unique_values) ... ok test_it_rejects_large_timeout (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_rejects_large_timeout) ... ok test_it_rejects_long_cron_expression (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_rejects_long_cron_expression) ... ok test_it_rejects_long_filtering_keywords (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_rejects_long_filtering_keywords) ... ok test_it_rejects_long_name (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_rejects_long_name) ... ok test_it_rejects_long_slug (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_rejects_long_slug) ... ok test_it_rejects_multiple_empty_channel_names (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_rejects_multiple_empty_channel_names) ... ok test_it_rejects_non_boolean_filter_flags (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_rejects_non_boolean_filter_flags) ... ok test_it_rejects_non_boolean_manual_resume (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_rejects_non_boolean_manual_resume) ... ok test_it_rejects_non_number_timeout (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_rejects_non_number_timeout) ... ok test_it_rejects_non_string_channels_key (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_rejects_non_string_channels_key) ... ok test_it_rejects_non_string_name (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_rejects_non_string_name) ... ok test_it_rejects_non_string_subject (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_rejects_non_string_subject) ... ok test_it_rejects_non_string_subject_fail (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_rejects_non_string_subject_fail) ... ok test_it_rejects_null_values (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_rejects_null_values) ... ok test_it_rejects_readonly_key (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_rejects_readonly_key) ... ok test_it_rejects_small_timeout (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_rejects_small_timeout) ... ok test_it_rejects_wrong_api_key (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_rejects_wrong_api_key) ... ok test_it_sets_channel_by_name (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_sets_channel_by_name) ... ok test_it_sets_channel_by_name_formatted_as_uuid (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_sets_channel_by_name_formatted_as_uuid) ... ok test_it_sets_default_timeout (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_sets_default_timeout) ... ok test_it_sets_failure_kw (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_sets_failure_kw) ... ok test_it_sets_manual_resume (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_sets_manual_resume) ... ok test_it_sets_methods (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_sets_methods) ... ok test_it_sets_success_kw (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_sets_success_kw) ... ok test_it_supports_cron_syntax (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_supports_cron_syntax) ... ok test_it_supports_oncalendar_syntax (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_supports_oncalendar_syntax) ... ok test_it_supports_unique_grace (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_supports_unique_grace) ... ok test_it_supports_unique_name (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_supports_unique_name) ... ok test_it_supports_unique_slug (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_supports_unique_slug) ... ok test_it_supports_unique_tags (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_supports_unique_tags) ... ok test_it_supports_unique_timeout (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_supports_unique_timeout) ... ok test_it_validates_cron_expression (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_validates_cron_expression) ... ok test_it_validates_oncalendar_expression (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_validates_oncalendar_expression) ... ok test_it_validates_timezone (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_validates_timezone) ... ok test_it_works (hc.api.tests.test_create_check.CreateCheckTestCase.test_it_works) ... ok test_unique_accepts_only_specific_values (hc.api.tests.test_create_check.CreateCheckTestCase.test_unique_accepts_only_specific_values) ... ok test_v2_reports_started_separately (hc.api.tests.test_create_check.CreateCheckTestCase.test_v2_reports_started_separately) ... ok test_v3_does_not_autogenerate_slug (hc.api.tests.test_create_check.CreateCheckTestCase.test_v3_does_not_autogenerate_slug) ... ok test_v3_saves_slug (hc.api.tests.test_create_check.CreateCheckTestCase.test_v3_saves_slug) ... ok test_it_handles_missing_api_key (hc.api.tests.test_delete_check.DeleteCheckTestCase.test_it_handles_missing_api_key) ... ok test_it_handles_missing_check (hc.api.tests.test_delete_check.DeleteCheckTestCase.test_it_handles_missing_check) ... ok test_it_handles_options (hc.api.tests.test_delete_check.DeleteCheckTestCase.test_it_handles_options) ... ok test_it_works (hc.api.tests.test_delete_check.DeleteCheckTestCase.test_it_works) ... ok test_v1_reports_status_started (hc.api.tests.test_delete_check.DeleteCheckTestCase.test_v1_reports_status_started) ... ok test_v2_reports_started_separately (hc.api.tests.test_delete_check.DeleteCheckTestCase.test_v2_reports_started_separately) ... ok test_down_duration_asserts_flips_status (hc.api.tests.test_flip_model.FlipModelTestCase.test_down_duration_asserts_flips_status) ... ok test_down_duration_checks_prev_flips_status (hc.api.tests.test_flip_model.FlipModelTestCase.test_down_duration_checks_prev_flips_status) ... ok test_down_duration_handles_unsaved_check (hc.api.tests.test_flip_model.FlipModelTestCase.test_down_duration_handles_unsaved_check) ... ok test_it_calculates_down_duration (hc.api.tests.test_flip_model.FlipModelTestCase.test_it_calculates_down_duration) ... ok test_it_skips_disabled_channels (hc.api.tests.test_flip_model.FlipModelTestCase.test_it_skips_disabled_channels) ... ok test_it_sorts_channels_by_last_notify_duration (hc.api.tests.test_flip_model.FlipModelTestCase.test_it_sorts_channels_by_last_notify_duration) ... ok test_select_channels_handles_noop (hc.api.tests.test_flip_model.FlipModelTestCase.test_select_channels_handles_noop) ... ok test_select_channels_validates_new_status (hc.api.tests.test_flip_model.FlipModelTestCase.test_select_channels_validates_new_status) ... ok test_select_channels_works (hc.api.tests.test_flip_model.FlipModelTestCase.test_select_channels_works) ... ok test_send_alerts_handles_new_up_transition (hc.api.tests.test_flip_model.FlipModelTestCase.test_send_alerts_handles_new_up_transition) ... ok test_it_handles_missing_api_key (hc.api.tests.test_get_badges.GetBadgesTestCase.test_it_handles_missing_api_key) ... ok test_it_rejects_post (hc.api.tests.test_get_badges.GetBadgesTestCase.test_it_rejects_post) ... ok test_it_works (hc.api.tests.test_get_badges.GetBadgesTestCase.test_it_works) ... ok test_readonly_key_is_allowed (hc.api.tests.test_get_badges.GetBadgesTestCase.test_readonly_key_is_allowed) ... ok test_it_handles_invalid_uuid (hc.api.tests.test_get_check.GetCheckTestCase.test_it_handles_invalid_uuid) ... ok test_it_handles_missing_check (hc.api.tests.test_get_check.GetCheckTestCase.test_it_handles_missing_check) ... ok test_it_handles_unique_key (hc.api.tests.test_get_check.GetCheckTestCase.test_it_handles_unique_key) ... ok test_it_rejects_post_unique_key (hc.api.tests.test_get_check.GetCheckTestCase.test_it_rejects_post_unique_key) ... ok test_it_works (hc.api.tests.test_get_check.GetCheckTestCase.test_it_works) ... ok test_readonly_key_works (hc.api.tests.test_get_check.GetCheckTestCase.test_readonly_key_works) ... ok test_v1_by_unique_key_reports_status_started (hc.api.tests.test_get_check.GetCheckTestCase.test_v1_by_unique_key_reports_status_started) ... ok test_v1_reports_status_started (hc.api.tests.test_get_check.GetCheckTestCase.test_v1_reports_status_started) ... ok test_v2_by_unique_key_reports_started_separately (hc.api.tests.test_get_check.GetCheckTestCase.test_v2_by_unique_key_reports_started_separately) ... ok test_v2_reports_started_separately (hc.api.tests.test_get_check.GetCheckTestCase.test_v2_reports_started_separately) ... ok test_it_filters_by_end (hc.api.tests.test_get_flips.GetFlipsTestCase.test_it_filters_by_end) ... ok test_it_filters_by_start (hc.api.tests.test_get_flips.GetFlipsTestCase.test_it_filters_by_start) ... ok test_it_handles_missing_api_key (hc.api.tests.test_get_flips.GetFlipsTestCase.test_it_handles_missing_api_key) ... ok test_it_rejects_huge_seconds (hc.api.tests.test_get_flips.GetFlipsTestCase.test_it_rejects_huge_seconds) ... ok test_it_rejects_huge_start (hc.api.tests.test_get_flips.GetFlipsTestCase.test_it_rejects_huge_start) ... ok test_it_rejects_negative_seconds (hc.api.tests.test_get_flips.GetFlipsTestCase.test_it_rejects_negative_seconds) ... ok test_it_rejects_negative_start (hc.api.tests.test_get_flips.GetFlipsTestCase.test_it_rejects_negative_start) ... ok test_it_rejects_non_integer_start (hc.api.tests.test_get_flips.GetFlipsTestCase.test_it_rejects_non_integer_start) ... ok test_it_rejects_post (hc.api.tests.test_get_flips.GetFlipsTestCase.test_it_rejects_post) ... ok test_it_works (hc.api.tests.test_get_flips.GetFlipsTestCase.test_it_works) ... ok test_it_works_with_unique_key (hc.api.tests.test_get_flips.GetFlipsTestCase.test_it_works_with_unique_key) ... ok test_readonly_key_is_allowed (hc.api.tests.test_get_flips.GetFlipsTestCase.test_readonly_key_is_allowed) ... ok test_it_checks_n_threshold (hc.api.tests.test_get_ping_body.GetPingBodyTestCase.test_it_checks_n_threshold) ... ok test_it_handles_missing_api_key (hc.api.tests.test_get_ping_body.GetPingBodyTestCase.test_it_handles_missing_api_key) ... ok test_it_handles_no_body (hc.api.tests.test_get_ping_body.GetPingBodyTestCase.test_it_handles_no_body) ... ok test_it_handles_s3_error (hc.api.tests.test_get_ping_body.GetPingBodyTestCase.test_it_handles_s3_error) ... ok test_it_handles_unhealthy_s3 (hc.api.tests.test_get_ping_body.GetPingBodyTestCase.test_it_handles_unhealthy_s3) ... ok test_it_rejects_charlies_key (hc.api.tests.test_get_ping_body.GetPingBodyTestCase.test_it_rejects_charlies_key) ... ok test_it_rejects_post (hc.api.tests.test_get_ping_body.GetPingBodyTestCase.test_it_rejects_post) ... ok test_it_returns_original_bytes (hc.api.tests.test_get_ping_body.GetPingBodyTestCase.test_it_returns_original_bytes) ... ok test_it_works (hc.api.tests.test_get_ping_body.GetPingBodyTestCase.test_it_works) ... ok test_readonly_key_is_not_allowed (hc.api.tests.test_get_ping_body.GetPingBodyTestCase.test_readonly_key_is_not_allowed) ... ok test_it_calculates_overlapping_durations (hc.api.tests.test_get_pings.GetPingsTestCase.test_it_calculates_overlapping_durations) ... ok test_it_disables_duration_calculation (hc.api.tests.test_get_pings.GetPingsTestCase.test_it_disables_duration_calculation) ... ok test_it_handles_empty_body_raw (hc.api.tests.test_get_pings.GetPingsTestCase.test_it_handles_empty_body_raw) ... ok test_it_handles_missing_api_key (hc.api.tests.test_get_pings.GetPingsTestCase.test_it_handles_missing_api_key) ... ok test_it_handles_nonempty_body_raw (hc.api.tests.test_get_pings.GetPingsTestCase.test_it_handles_nonempty_body_raw) ... ok test_it_handles_nonempty_object_size (hc.api.tests.test_get_pings.GetPingsTestCase.test_it_handles_nonempty_object_size) ... ok test_it_handles_rid (hc.api.tests.test_get_pings.GetPingsTestCase.test_it_handles_rid) ... ok test_it_handles_zero_object_size (hc.api.tests.test_get_pings.GetPingsTestCase.test_it_handles_zero_object_size) ... ok test_it_rejects_post (hc.api.tests.test_get_pings.GetPingsTestCase.test_it_rejects_post) ... ok test_it_works (hc.api.tests.test_get_pings.GetPingsTestCase.test_it_works) ... ok test_readonly_key_is_not_allowed (hc.api.tests.test_get_pings.GetPingsTestCase.test_readonly_key_is_not_allowed) ... ok test_it_handles_missing_api_key (hc.api.tests.test_list_channels.ListChannelsTestCase.test_it_handles_missing_api_key) ... ok test_it_handles_options (hc.api.tests.test_list_channels.ListChannelsTestCase.test_it_handles_options) ... ok test_it_rejects_post (hc.api.tests.test_list_channels.ListChannelsTestCase.test_it_rejects_post) ... ok test_it_shows_only_users_channels (hc.api.tests.test_list_channels.ListChannelsTestCase.test_it_shows_only_users_channels) ... ok test_it_works (hc.api.tests.test_list_channels.ListChannelsTestCase.test_it_works) ... ok test_it_does_not_match_tag_partially (hc.api.tests.test_list_checks.ListChecksTestCase.test_it_does_not_match_tag_partially) ... ok test_it_filters_with_multiple_tags_param (hc.api.tests.test_list_checks.ListChecksTestCase.test_it_filters_with_multiple_tags_param) ... ok test_it_handles_options (hc.api.tests.test_list_checks.ListChecksTestCase.test_it_handles_options) ... ok test_it_shows_only_users_checks (hc.api.tests.test_list_checks.ListChecksTestCase.test_it_shows_only_users_checks) ... ok test_it_works (hc.api.tests.test_list_checks.ListChecksTestCase.test_it_works) ... ok test_it_works_with_slug_param (hc.api.tests.test_list_checks.ListChecksTestCase.test_it_works_with_slug_param) ... ok test_it_works_with_tags_param (hc.api.tests.test_list_checks.ListChecksTestCase.test_it_works_with_tags_param) ... ok test_non_existing_tags_filter_returns_empty_result (hc.api.tests.test_list_checks.ListChecksTestCase.test_non_existing_tags_filter_returns_empty_result) ... ok test_readonly_key_works (hc.api.tests.test_list_checks.ListChecksTestCase.test_readonly_key_works) ... ok test_v1_reports_status_started (hc.api.tests.test_list_checks.ListChecksTestCase.test_v1_reports_status_started) ... ok test_v2_reports_started_separately (hc.api.tests.test_list_checks.ListChecksTestCase.test_v2_reports_started_separately) ... ok test_it_handles_incorrect_metrics_key (hc.api.tests.test_metrics.MetricsTestCase.test_it_handles_incorrect_metrics_key) ... ok test_it_handles_unset_metrics_key (hc.api.tests.test_metrics.MetricsTestCase.test_it_handles_unset_metrics_key) ... ok test_it_returns_max_notification_id (hc.api.tests.test_metrics.MetricsTestCase.test_it_returns_max_notification_id) ... ok test_it_returns_max_ping_id (hc.api.tests.test_metrics.MetricsTestCase.test_it_returns_max_ping_id) ... ok test_it_returns_num_unprocessed_flips (hc.api.tests.test_metrics.MetricsTestCase.test_it_returns_num_unprocessed_flips) ... ok test_it_checks_ttl (hc.api.tests.test_notification_status.NotificationStatusTestCase.test_it_checks_ttl) ... ok test_it_handles_error_key (hc.api.tests.test_notification_status.NotificationStatusTestCase.test_it_handles_error_key) ... ok test_it_handles_mark_disabled_key (hc.api.tests.test_notification_status.NotificationStatusTestCase.test_it_handles_mark_disabled_key) ... ok test_it_handles_missing_notification (hc.api.tests.test_notification_status.NotificationStatusTestCase.test_it_handles_missing_notification) ... ok test_it_handles_twilio_call_status_failed (hc.api.tests.test_notification_status.NotificationStatusTestCase.test_it_handles_twilio_call_status_failed) ... ok test_it_handles_twilio_delivered_status (hc.api.tests.test_notification_status.NotificationStatusTestCase.test_it_handles_twilio_delivered_status) ... ok test_it_handles_twilio_failed_status (hc.api.tests.test_notification_status.NotificationStatusTestCase.test_it_handles_twilio_failed_status) ... ok test_it_handles_twilio_undelivered_status (hc.api.tests.test_notification_status.NotificationStatusTestCase.test_it_handles_twilio_undelivered_status) ... ok test_it_requires_post (hc.api.tests.test_notification_status.NotificationStatusTestCase.test_it_requires_post) ... ok test_it_accepts_api_key_in_post_body (hc.api.tests.test_pause.PauseTestCase.test_it_accepts_api_key_in_post_body) ... ok test_it_clears_last_start_alert_after (hc.api.tests.test_pause.PauseTestCase.test_it_clears_last_start_alert_after) ... ok test_it_clears_next_nag_date (hc.api.tests.test_pause.PauseTestCase.test_it_clears_next_nag_date) ... ok test_it_does_not_pause_already_paused_check (hc.api.tests.test_pause.PauseTestCase.test_it_does_not_pause_already_paused_check) ... ok test_it_handles_missing_check (hc.api.tests.test_pause.PauseTestCase.test_it_handles_missing_check) ... ok test_it_handles_options (hc.api.tests.test_pause.PauseTestCase.test_it_handles_options) ... ok test_it_only_allows_post (hc.api.tests.test_pause.PauseTestCase.test_it_only_allows_post) ... ok test_it_rejects_non_dict_post_body (hc.api.tests.test_pause.PauseTestCase.test_it_rejects_non_dict_post_body) ... ok test_it_validates_ownership (hc.api.tests.test_pause.PauseTestCase.test_it_validates_ownership) ... ok test_it_validates_uuid (hc.api.tests.test_pause.PauseTestCase.test_it_validates_uuid) ... ok test_it_works (hc.api.tests.test_pause.PauseTestCase.test_it_works) ... ok test_allowed_methods_takes_precedence_over_keywords (hc.api.tests.test_ping.PingTestCase.test_allowed_methods_takes_precedence_over_keywords) ... ok test_fail_endpoint_works (hc.api.tests.test_ping.PingTestCase.test_fail_endpoint_works) ... ok test_head_works (hc.api.tests.test_ping.PingTestCase.test_head_works) ... ok test_it_accepts_bad_unicode (hc.api.tests.test_ping.PingTestCase.test_it_accepts_bad_unicode) ... ok test_it_accepts_uppercase_rid (hc.api.tests.test_ping.PingTestCase.test_it_accepts_uppercase_rid) ... ok test_it_allows_unlimited_body (hc.api.tests.test_ping.PingTestCase.test_it_allows_unlimited_body) ... ok test_it_changes_status_of_paused_check (hc.api.tests.test_ping.PingTestCase.test_it_changes_status_of_paused_check) ... ok test_it_chops_long_body (hc.api.tests.test_ping.PingTestCase.test_it_chops_long_body) ... ok test_it_clears_last_ping_and_sets_last_duration_if_rid_matches (hc.api.tests.test_ping.PingTestCase.test_it_clears_last_ping_and_sets_last_duration_if_rid_matches) ... ok test_it_clears_last_ping_if_rid_is_absent (hc.api.tests.test_ping.PingTestCase.test_it_clears_last_ping_if_rid_is_absent) ... ok test_it_clears_last_ping_on_failure (hc.api.tests.test_ping.PingTestCase.test_it_clears_last_ping_on_failure) ... ok test_it_clears_last_start (hc.api.tests.test_ping.PingTestCase.test_it_clears_last_start) ... ok test_it_does_not_update_last_ping_on_rid_mismatch (hc.api.tests.test_ping.PingTestCase.test_it_does_not_update_last_ping_on_rid_mismatch) ... ok test_it_handles_120_char_ua (hc.api.tests.test_ping.PingTestCase.test_it_handles_120_char_ua) ... ok test_it_handles_bad_uuid (hc.api.tests.test_ping.PingTestCase.test_it_handles_bad_uuid) ... ok test_it_handles_failure_filter_match (hc.api.tests.test_ping.PingTestCase.test_it_handles_failure_filter_match) ... ok test_it_handles_failure_filter_miss (hc.api.tests.test_ping.PingTestCase.test_it_handles_failure_filter_miss) ... ok test_it_handles_filter_default_fail (hc.api.tests.test_ping.PingTestCase.test_it_handles_filter_default_fail) ... ok test_it_handles_forwarded_ip_plus_port (hc.api.tests.test_ping.PingTestCase.test_it_handles_forwarded_ip_plus_port) ... ok test_it_handles_invalid_rid (hc.api.tests.test_ping.PingTestCase.test_it_handles_invalid_rid) ... ok test_it_handles_ipv4_mapped_ipv6_address (hc.api.tests.test_ping.PingTestCase.test_it_handles_ipv4_mapped_ipv6_address) ... ok test_it_handles_manual_resume_flag (hc.api.tests.test_ping.PingTestCase.test_it_handles_manual_resume_flag) ... ok test_it_handles_missing_check (hc.api.tests.test_ping.PingTestCase.test_it_handles_missing_check) ... ok test_it_handles_start_filter_match (hc.api.tests.test_ping.PingTestCase.test_it_handles_start_filter_match) ... ok test_it_handles_success_filter_match (hc.api.tests.test_ping.PingTestCase.test_it_handles_success_filter_match) ... ok test_it_handles_success_filter_miss (hc.api.tests.test_ping.PingTestCase.test_it_handles_success_filter_miss) ... ok test_it_ignores_email_filters (hc.api.tests.test_ping.PingTestCase.test_it_ignores_email_filters) ... ok test_it_never_caches (hc.api.tests.test_ping.PingTestCase.test_it_never_caches) ... ok test_it_reads_first_forwarded_ip (hc.api.tests.test_ping.PingTestCase.test_it_reads_first_forwarded_ip) ... ok test_it_reads_forwarded_ip (hc.api.tests.test_ping.PingTestCase.test_it_reads_forwarded_ip) ... ok test_it_reads_forwarded_ipv6_ip (hc.api.tests.test_ping.PingTestCase.test_it_reads_forwarded_ipv6_ip) ... ok test_it_reads_forwarded_protocol (hc.api.tests.test_ping.PingTestCase.test_it_reads_forwarded_protocol) ... ok test_it_rejects_alternative_uuid_formats (hc.api.tests.test_ping.PingTestCase.test_it_rejects_alternative_uuid_formats) ... ok test_it_rejects_exit_status_over_255 (hc.api.tests.test_ping.PingTestCase.test_it_rejects_exit_status_over_255) ... ok test_it_requires_post (hc.api.tests.test_ping.PingTestCase.test_it_requires_post) ... ok test_it_saves_run_id (hc.api.tests.test_ping.PingTestCase.test_it_saves_run_id) ... ok test_it_sets_last_duration (hc.api.tests.test_ping.PingTestCase.test_it_sets_last_duration) ... ok test_it_truncates_long_ua (hc.api.tests.test_ping.PingTestCase.test_it_truncates_long_ua) ... ok test_it_updates_confirmation_flag (hc.api.tests.test_ping.PingTestCase.test_it_updates_confirmation_flag) ... ok test_it_uploads_body_to_s3 (hc.api.tests.test_ping.PingTestCase.test_it_uploads_body_to_s3) ... ok test_it_works (hc.api.tests.test_ping.PingTestCase.test_it_works) ... ok test_log_endpoint_works (hc.api.tests.test_ping.PingTestCase.test_log_endpoint_works) ... ok test_manual_resume_takes_precedence_over_keywords (hc.api.tests.test_ping.PingTestCase.test_manual_resume_takes_precedence_over_keywords) ... ok test_nonzero_exit_status_works (hc.api.tests.test_ping.PingTestCase.test_nonzero_exit_status_works) ... ok test_post_works (hc.api.tests.test_ping.PingTestCase.test_post_works) ... ok test_start_does_not_change_status_of_paused_check (hc.api.tests.test_ping.PingTestCase.test_start_does_not_change_status_of_paused_check) ... ok test_start_endpoint_works (hc.api.tests.test_ping.PingTestCase.test_start_endpoint_works) ... ok test_start_sets_last_start_rid (hc.api.tests.test_ping.PingTestCase.test_start_sets_last_start_rid) ... ok test_zero_exit_status_works (hc.api.tests.test_ping.PingTestCase.test_zero_exit_status_works) ... ok test_auto_provisioning_is_off_by_default (hc.api.tests.test_ping_by_slug.PingBySlugTestCase.test_auto_provisioning_is_off_by_default) ... ok test_auto_provisioning_limits_check_count (hc.api.tests.test_ping_by_slug.PingBySlugTestCase.test_auto_provisioning_limits_check_count) ... ok test_fail_endpoint_works (hc.api.tests.test_ping_by_slug.PingBySlugTestCase.test_fail_endpoint_works) ... ok test_head_works (hc.api.tests.test_ping_by_slug.PingBySlugTestCase.test_head_works) ... ok test_it_auto_provisions_missing_check (hc.api.tests.test_ping_by_slug.PingBySlugTestCase.test_it_auto_provisions_missing_check) ... ok test_it_handles_duplicates (hc.api.tests.test_ping_by_slug.PingBySlugTestCase.test_it_handles_duplicates) ... ok test_it_handles_wrong_ping_key (hc.api.tests.test_ping_by_slug.PingBySlugTestCase.test_it_handles_wrong_ping_key) ... ok test_it_never_caches (hc.api.tests.test_ping_by_slug.PingBySlugTestCase.test_it_never_caches) ... ok test_it_rejects_uppercase_slug (hc.api.tests.test_ping_by_slug.PingBySlugTestCase.test_it_rejects_uppercase_slug) ... ok test_it_works (hc.api.tests.test_ping_by_slug.PingBySlugTestCase.test_it_works) ... ok test_nonzero_exit_status_works (hc.api.tests.test_ping_by_slug.PingBySlugTestCase.test_nonzero_exit_status_works) ... ok test_post_works (hc.api.tests.test_ping_by_slug.PingBySlugTestCase.test_post_works) ... ok test_start_endpoint_works (hc.api.tests.test_ping_by_slug.PingBySlugTestCase.test_start_endpoint_works) ... ok test_zero_exit_status_works (hc.api.tests.test_ping_by_slug.PingBySlugTestCase.test_zero_exit_status_works) ... ok test_it_calculates_duration (hc.api.tests.test_ping_model.PingModelTestCase.test_it_calculates_duration) ... ok test_it_handles_no_adjacent_start_event (hc.api.tests.test_ping_model.PingModelTestCase.test_it_handles_no_adjacent_start_event) ... ok test_it_runs_no_queries_for_the_first_ping (hc.api.tests.test_ping_model.PingModelTestCase.test_it_runs_no_queries_for_the_first_ping) ... ok test_it_applies_max_duration (hc.api.tests.test_ping_model.PrepareDurationsTestCase.test_it_applies_max_duration) ... ok test_it_caps_misses (hc.api.tests.test_ping_model.PrepareDurationsTestCase.test_it_caps_misses) ... ok test_it_checks_max_duration_before_deferring (hc.api.tests.test_ping_model.PrepareDurationsTestCase.test_it_checks_max_duration_before_deferring) ... ok test_it_defers_to_duration_property (hc.api.tests.test_ping_model.PrepareDurationsTestCase.test_it_defers_to_duration_property) ... ok test_it_handles_consecutive_success_signals (hc.api.tests.test_ping_model.PrepareDurationsTestCase.test_it_handles_consecutive_success_signals) ... ok test_it_handles_empty_list (hc.api.tests.test_ping_model.PrepareDurationsTestCase.test_it_handles_empty_list) ... ok test_it_ignores_ign_event (hc.api.tests.test_ping_model.PrepareDurationsTestCase.test_it_ignores_ign_event) ... ok test_it_matches_start_event_by_rid (hc.api.tests.test_ping_model.PrepareDurationsTestCase.test_it_matches_start_event_by_rid) ... ok test_it_requires_pings_in_descending_time_order (hc.api.tests.test_ping_model.PrepareDurationsTestCase.test_it_requires_pings_in_descending_time_order) ... ok test_it_works (hc.api.tests.test_ping_model.PrepareDurationsTestCase.test_it_works) ... ok test_it_works (hc.api.tests.test_prunepingsslow.PrunePingsSlowTestCase.test_it_works) ... ok test_it_accepts_api_key_in_post_body (hc.api.tests.test_resume.ResumeTestCase.test_it_accepts_api_key_in_post_body) ... ok test_it_handles_missing_check (hc.api.tests.test_resume.ResumeTestCase.test_it_handles_missing_check) ... ok test_it_handles_not_paused_checks (hc.api.tests.test_resume.ResumeTestCase.test_it_handles_not_paused_checks) ... ok test_it_handles_options (hc.api.tests.test_resume.ResumeTestCase.test_it_handles_options) ... ok test_it_only_allows_post (hc.api.tests.test_resume.ResumeTestCase.test_it_only_allows_post) ... ok test_it_rejects_non_dict_post_body (hc.api.tests.test_resume.ResumeTestCase.test_it_rejects_non_dict_post_body) ... ok test_it_validates_ownership (hc.api.tests.test_resume.ResumeTestCase.test_it_validates_ownership) ... ok test_it_validates_uuid (hc.api.tests.test_resume.ResumeTestCase.test_it_validates_uuid) ... ok test_it_works (hc.api.tests.test_resume.ResumeTestCase.test_it_works) ... ok test_it_clears_next_nag_date (hc.api.tests.test_sendalerts.SendAlertsTestCase.test_it_clears_next_nag_date) ... ok test_it_creates_a_flip_when_check_goes_down (hc.api.tests.test_sendalerts.SendAlertsTestCase.test_it_creates_a_flip_when_check_goes_down) ... ok test_it_does_not_clobber_check_status (hc.api.tests.test_sendalerts.SendAlertsTestCase.test_it_does_not_clobber_check_status) ... ok test_it_does_not_touch_already_set_next_nag_dates (hc.api.tests.test_sendalerts.SendAlertsTestCase.test_it_does_not_touch_already_set_next_nag_dates) ... ok test_it_handles_grace_period (hc.api.tests.test_sendalerts.SendAlertsTestCase.test_it_handles_grace_period) ... ok test_it_increases_statsd_fail_counter (hc.api.tests.test_sendalerts.SendAlertsTestCase.test_it_increases_statsd_fail_counter) ... ok test_it_increases_statsd_success_counter (hc.api.tests.test_sendalerts.SendAlertsTestCase.test_it_increases_statsd_success_counter) ... ok test_it_processes_flip (hc.api.tests.test_sendalerts.SendAlertsTestCase.test_it_processes_flip) ... ok test_it_sets_next_nag_date (hc.api.tests.test_sendalerts.SendAlertsTestCase.test_it_sets_next_nag_date) ... ok test_it_updates_alert_after (hc.api.tests.test_sendalerts.SendAlertsTestCase.test_it_updates_alert_after) ... ok test_it_fills_blank_next_monthly_report_date (hc.api.tests.test_sendreports.SendReportsTestCase.test_it_fills_blank_next_monthly_report_date) ... ok test_it_fills_blank_next_weekly_report_date (hc.api.tests.test_sendreports.SendReportsTestCase.test_it_fills_blank_next_weekly_report_date) ... ok test_it_obeys_nag_period (hc.api.tests.test_sendreports.SendReportsTestCase.test_it_obeys_nag_period) ... ok test_it_obeys_next_nag_date (hc.api.tests.test_sendreports.SendReportsTestCase.test_it_obeys_next_nag_date) ... ok test_it_obeys_next_report_date (hc.api.tests.test_sendreports.SendReportsTestCase.test_it_obeys_next_report_date) ... ok test_it_obeys_reports_off (hc.api.tests.test_sendreports.SendReportsTestCase.test_it_obeys_reports_off) ... ok test_it_requires_pinged_checks (hc.api.tests.test_sendreports.SendReportsTestCase.test_it_requires_pinged_checks) ... ok test_it_sends_monthly_report (hc.api.tests.test_sendreports.SendReportsTestCase.test_it_sends_monthly_report) ... ok test_it_sends_nag (hc.api.tests.test_sendreports.SendReportsTestCase.test_it_sends_nag) ... ok test_it_sends_weekly_report (hc.api.tests.test_sendreports.SendReportsTestCase.test_it_sends_weekly_report) ... ok test_nags_require_down_checks (hc.api.tests.test_sendreports.SendReportsTestCase.test_nags_require_down_checks) ... ok test_it_handles_ambiguous_slug (hc.api.tests.test_smtpd.SmtpdTestCase.test_it_handles_ambiguous_slug) ... ok test_it_handles_encoded_subject (hc.api.tests.test_smtpd.SmtpdTestCase.test_it_handles_encoded_subject) ... ok test_it_handles_failure_before_success (hc.api.tests.test_smtpd.SmtpdTestCase.test_it_handles_failure_before_success) ... ok test_it_handles_failure_filter_match (hc.api.tests.test_smtpd.SmtpdTestCase.test_it_handles_failure_filter_match) ... ok test_it_handles_failure_filter_miss (hc.api.tests.test_smtpd.SmtpdTestCase.test_it_handles_failure_filter_miss) ... ok test_it_handles_filter_default_fail (hc.api.tests.test_smtpd.SmtpdTestCase.test_it_handles_filter_default_fail) ... ok test_it_handles_missing_slug (hc.api.tests.test_smtpd.SmtpdTestCase.test_it_handles_missing_slug) ... ok test_it_handles_multiple_failure_keywords (hc.api.tests.test_smtpd.SmtpdTestCase.test_it_handles_multiple_failure_keywords) ... ok test_it_handles_multiple_recipients (hc.api.tests.test_smtpd.SmtpdTestCase.test_it_handles_multiple_recipients) ... ok test_it_handles_multiple_success_keywords (hc.api.tests.test_smtpd.SmtpdTestCase.test_it_handles_multiple_success_keywords) ... ok test_it_handles_non_ascii_keywords (hc.api.tests.test_smtpd.SmtpdTestCase.test_it_handles_non_ascii_keywords) ... ok test_it_handles_slug (hc.api.tests.test_smtpd.SmtpdTestCase.test_it_handles_slug) ... ok test_it_handles_start_filter_match (hc.api.tests.test_smtpd.SmtpdTestCase.test_it_handles_start_filter_match) ... ok test_it_handles_success_body_filter_match_in_html_body (hc.api.tests.test_smtpd.SmtpdTestCase.test_it_handles_success_body_filter_match_in_html_body) ... ok test_it_handles_success_filter_match (hc.api.tests.test_smtpd.SmtpdTestCase.test_it_handles_success_filter_match) ... ok test_it_handles_success_filter_match_in_body (hc.api.tests.test_smtpd.SmtpdTestCase.test_it_handles_success_filter_match_in_body) ... ok test_it_handles_success_filter_miss (hc.api.tests.test_smtpd.SmtpdTestCase.test_it_handles_success_filter_miss) ... ok test_it_ignores_http_body_filters (hc.api.tests.test_smtpd.SmtpdTestCase.test_it_ignores_http_body_filters) ... ok test_it_works (hc.api.tests.test_smtpd.SmtpdTestCase.test_it_works) ... ok test_manual_resume_takes_precedence_over_keywords (hc.api.tests.test_smtpd.SmtpdTestCase.test_manual_resume_takes_precedence_over_keywords) ... ok test_rcpt_handler_accepts_slug (hc.api.tests.test_smtpd.SmtpdTestCase.test_rcpt_handler_accepts_slug) ... ok test_rcpt_handler_accepts_uuid (hc.api.tests.test_smtpd.SmtpdTestCase.test_rcpt_handler_accepts_uuid) ... ok test_rcpt_handler_rejects_invalid_ping_key (hc.api.tests.test_smtpd.SmtpdTestCase.test_rcpt_handler_rejects_invalid_ping_key) ... ok test_rcpt_handler_rejects_invalid_slug (hc.api.tests.test_smtpd.SmtpdTestCase.test_rcpt_handler_rejects_invalid_slug) ... ok test_rcpt_handler_rejects_non_uuid_mailboxes (hc.api.tests.test_smtpd.SmtpdTestCase.test_rcpt_handler_rejects_non_uuid_mailboxes) ... ok test_rcpt_handler_rejects_wrong_domain (hc.api.tests.test_smtpd.SmtpdTestCase.test_rcpt_handler_rejects_wrong_domain) ... ok test_it_works (hc.api.tests.test_status.StatusTestCase.test_it_works) ... ok test_it_checks_apprise_and_private_ips (hc.api.tests.test_system_checks.SystemChecksCase.test_it_checks_apprise_and_private_ips) ... ok test_it_checks_secure_proxy_ssl_header_tupleness (hc.api.tests.test_system_checks.SystemChecksCase.test_it_checks_secure_proxy_ssl_header_tupleness) ... ok test_it_checks_site_root_host_is_present_in_allowed_hosts (hc.api.tests.test_system_checks.SystemChecksCase.test_it_checks_site_root_host_is_present_in_allowed_hosts) ... ok test_it_validates_site_root_syntax (hc.api.tests.test_system_checks.SystemChecksCase.test_it_validates_site_root_syntax) ... ok test_it_warns_about_missing_smtp_credentials (hc.api.tests.test_system_checks.SystemChecksCase.test_it_warns_about_missing_smtp_credentials) ... ok test_it_handles_insufficient_tokens (hc.api.tests.test_tokenbucket.TokenBucketTestCase.test_it_handles_insufficient_tokens) ... ok test_it_normalizes_email (hc.api.tests.test_tokenbucket.TokenBucketTestCase.test_it_normalizes_email) ... ok test_it_tops_up (hc.api.tests.test_tokenbucket.TokenBucketTestCase.test_it_tops_up) ... ok test_it_works (hc.api.tests.test_tokenbucket.TokenBucketTestCase.test_it_works) ... ok test_record_s3_get_object_error_works (hc.api.tests.test_tokenbucket.TokenBucketTestCase.test_record_s3_get_object_error_works) ... ok test_s3_get_object_healthy_negative_works (hc.api.tests.test_tokenbucket.TokenBucketTestCase.test_s3_get_object_healthy_negative_works) ... ok test_s3_get_object_healthy_works (hc.api.tests.test_tokenbucket.TokenBucketTestCase.test_s3_get_object_healthy_works) ... ok test_it_accepts_60_days_timeout (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_accepts_60_days_timeout) ... ok test_it_clears_methods (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_clears_methods) ... ok test_it_handles_asterix (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_handles_asterix) ... ok test_it_handles_channel_lookup_by_name_with_multiple_results (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_handles_channel_lookup_by_name_with_multiple_results) ... ok test_it_handles_channel_lookup_by_name_with_no_results (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_handles_channel_lookup_by_name_with_no_results) ... ok test_it_handles_comma_separated_channel_codes (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_handles_comma_separated_channel_codes) ... ok test_it_handles_concurrent_delete (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_handles_concurrent_delete) ... ok test_it_handles_invalid_uuid (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_handles_invalid_uuid) ... ok test_it_handles_missing_check (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_handles_missing_check) ... ok test_it_handles_options (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_handles_options) ... ok test_it_ignores_channels_if_channels_key_missing (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_ignores_channels_if_channels_key_missing) ... ok test_it_leaves_methods_unchanged (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_leaves_methods_unchanged) ... ok test_it_prioritizes_filter_subject_field (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_prioritizes_filter_subject_field) ... ok test_it_rejects_bad_channel_code (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_rejects_bad_channel_code) ... ok test_it_rejects_bad_methods_value (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_rejects_bad_methods_value) ... ok test_it_rejects_channel_from_another_project (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_rejects_channel_from_another_project) ... ok test_it_rejects_missing_channel (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_rejects_missing_channel) ... ok test_it_rejects_multiple_empty_channel_names (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_rejects_multiple_empty_channel_names) ... ok test_it_rejects_non_string_channels_key (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_rejects_non_string_channels_key) ... ok test_it_rejects_non_string_desc (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_rejects_non_string_desc) ... ok test_it_rejects_null_values (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_rejects_null_values) ... ok test_it_rejects_out_of_range_timeout (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_rejects_out_of_range_timeout) ... ok test_it_rejects_readonly_key (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_rejects_readonly_key) ... ok test_it_sets_channel_by_name (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_sets_channel_by_name) ... ok test_it_sets_channel_by_name_formatted_as_uuid (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_sets_channel_by_name_formatted_as_uuid) ... ok test_it_sets_failure_kw (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_sets_failure_kw) ... ok test_it_sets_manual_resume_to_false (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_sets_manual_resume_to_false) ... ok test_it_sets_manual_resume_to_true (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_sets_manual_resume_to_true) ... ok test_it_sets_methods (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_sets_methods) ... ok test_it_sets_single_channel (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_sets_single_channel) ... ok test_it_sets_success_kw (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_sets_success_kw) ... ok test_it_sets_the_channel_only_once (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_sets_the_channel_only_once) ... ok test_it_unassigns_channels (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_unassigns_channels) ... ok test_it_unsets_filter_subject_flag (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_unsets_filter_subject_flag) ... ok test_it_updates_cron_to_oncalendar (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_updates_cron_to_oncalendar) ... ok test_it_updates_cron_to_simple (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_updates_cron_to_simple) ... ok test_it_validates_ownership (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_validates_ownership) ... ok test_it_validates_schedule (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_validates_schedule) ... ok test_it_works (hc.api.tests.test_update_check.UpdateCheckTestCase.test_it_works) ... ok test_v1_reports_status_started (hc.api.tests.test_update_check.UpdateCheckTestCase.test_v1_reports_status_started) ... ok test_v2_reports_started_separately (hc.api.tests.test_update_check.UpdateCheckTestCase.test_v2_reports_started_separately) ... ok test_v3_does_not_autogenerate_slug (hc.api.tests.test_update_check.UpdateCheckTestCase.test_v3_does_not_autogenerate_slug) ... ok test_v3_saves_slug (hc.api.tests.test_update_check.UpdateCheckTestCase.test_v3_saves_slug) ... ok test_it_obeys_check_limit (hc.front.tests.test_add_check.AddCheckTestCase.test_it_obeys_check_limit) ... ok test_it_rejects_get (hc.front.tests.test_add_check.AddCheckTestCase.test_it_rejects_get) ... ok test_it_requires_rw_access (hc.front.tests.test_add_check.AddCheckTestCase.test_it_requires_rw_access) ... ok test_it_sanitizes_tags (hc.front.tests.test_add_check.AddCheckTestCase.test_it_sanitizes_tags) ... ok test_it_saves_cron_schedule (hc.front.tests.test_add_check.AddCheckTestCase.test_it_saves_cron_schedule) ... ok test_it_saves_oncalendar_schedule (hc.front.tests.test_add_check.AddCheckTestCase.test_it_saves_oncalendar_schedule) ... ok test_it_validates_cron_expression (hc.front.tests.test_add_check.AddCheckTestCase.test_it_validates_cron_expression) ... ok test_it_validates_cron_expression_with_no_matches (hc.front.tests.test_add_check.AddCheckTestCase.test_it_validates_cron_expression_with_no_matches) ... ok test_it_validates_kind (hc.front.tests.test_add_check.AddCheckTestCase.test_it_validates_kind) ... ok test_it_validates_oncalendar_expression (hc.front.tests.test_add_check.AddCheckTestCase.test_it_validates_oncalendar_expression) ... ok test_it_validates_timeout (hc.front.tests.test_add_check.AddCheckTestCase.test_it_validates_timeout) ... ok test_it_validates_tz (hc.front.tests.test_add_check.AddCheckTestCase.test_it_validates_tz) ... ok test_it_works (hc.front.tests.test_add_check.AddCheckTestCase.test_it_works) ... ok test_redirect_preserves_querystring (hc.front.tests.test_add_check.AddCheckTestCase.test_redirect_preserves_querystring) ... ok test_team_access_works (hc.front.tests.test_add_check.AddCheckTestCase.test_team_access_works) ... ok test_it_handles_cell_without_row (hc.front.tests.test_asciitable_tag.AsciiTableTestCase.test_it_handles_cell_without_row) ... ok test_it_handles_row_without_table (hc.front.tests.test_asciitable_tag.AsciiTableTestCase.test_it_handles_row_without_table) ... ok test_it_works (hc.front.tests.test_asciitable_tag.AsciiTableTestCase.test_it_works) ... ok test_it_checks_ownership (hc.front.tests.test_badges.BadgesTestCase.test_it_checks_ownership) ... ok test_it_handles_special_characters_in_tags (hc.front.tests.test_badges.BadgesTestCase.test_it_handles_special_characters_in_tags) ... ok test_it_previews_check_svg (hc.front.tests.test_badges.BadgesTestCase.test_it_previews_check_svg) ... ok test_it_previews_json (hc.front.tests.test_badges.BadgesTestCase.test_it_previews_json) ... ok test_it_previews_master_svg (hc.front.tests.test_badges.BadgesTestCase.test_it_previews_master_svg) ... ok test_it_previews_shields (hc.front.tests.test_badges.BadgesTestCase.test_it_previews_shields) ... ok test_it_previews_tag_svg (hc.front.tests.test_badges.BadgesTestCase.test_it_previews_tag_svg) ... ok test_it_shows_form (hc.front.tests.test_badges.BadgesTestCase.test_it_shows_form) ... ok test_team_access_works (hc.front.tests.test_badges.BadgesTestCase.test_team_access_works) ... ok test_it_obeys_registration_open (hc.front.tests.test_basics.BasicsTestCase.test_it_obeys_registration_open) ... ok test_it_redirects_to_login (hc.front.tests.test_basics.BasicsTestCase.test_it_redirects_to_login) ... ok test_it_shows_debug_warning (hc.front.tests.test_basics.BasicsTestCase.test_it_shows_debug_warning) ... ok test_it_shows_no_warning (hc.front.tests.test_basics.BasicsTestCase.test_it_shows_no_warning) ... ok test_it_shows_secret_key_warning (hc.front.tests.test_basics.BasicsTestCase.test_it_shows_secret_key_warning) ... ok test_it_checks_owner (hc.front.tests.test_channel_checks.ChannelChecksTestCase.test_it_checks_owner) ... ok test_it_handles_no_checks (hc.front.tests.test_channel_checks.ChannelChecksTestCase.test_it_handles_no_checks) ... ok test_it_works (hc.front.tests.test_channel_checks.ChannelChecksTestCase.test_it_works) ... ok test_missing_channel (hc.front.tests.test_channel_checks.ChannelChecksTestCase.test_missing_channel) ... ok test_team_access_works (hc.front.tests.test_channel_checks.ChannelChecksTestCase.test_team_access_works) ... ok test_it_formats_complex_slack_value (hc.front.tests.test_channels.ChannelsTestCase.test_it_formats_complex_slack_value) ... ok test_it_hides_actions_from_readonly_users (hc.front.tests.test_channels.ChannelsTestCase.test_it_hides_actions_from_readonly_users) ... ok test_it_shows_channel_issues_indicator (hc.front.tests.test_channels.ChannelsTestCase.test_it_shows_channel_issues_indicator) ... ok test_it_shows_disabled_note (hc.front.tests.test_channels.ChannelsTestCase.test_it_shows_disabled_note) ... ok test_it_shows_down_only_note_for_email (hc.front.tests.test_channels.ChannelsTestCase.test_it_shows_down_only_note_for_email) ... ok test_it_shows_down_only_note_for_sms (hc.front.tests.test_channels.ChannelsTestCase.test_it_shows_down_only_note_for_sms) ... ok test_it_shows_fix_button_for_disabled_email (hc.front.tests.test_channels.ChannelsTestCase.test_it_shows_fix_button_for_disabled_email) ... ok test_it_shows_gotify_details (hc.front.tests.test_channels.ChannelsTestCase.test_it_shows_gotify_details) ... ok test_it_shows_pushover_details (hc.front.tests.test_channels.ChannelsTestCase.test_it_shows_pushover_details) ... ok test_it_shows_sms_number (hc.front.tests.test_channels.ChannelsTestCase.test_it_shows_sms_number) ... ok test_it_shows_unconfirmed_email (hc.front.tests.test_channels.ChannelsTestCase.test_it_shows_unconfirmed_email) ... ok test_it_shows_up_only_note_for_email (hc.front.tests.test_channels.ChannelsTestCase.test_it_shows_up_only_note_for_email) ... ok test_it_shows_up_only_note_for_sms (hc.front.tests.test_channels.ChannelsTestCase.test_it_shows_up_only_note_for_sms) ... ok test_it_shows_webhook_post_data (hc.front.tests.test_channels.ChannelsTestCase.test_it_shows_webhook_post_data) ... ok test_it_checks_owner (hc.front.tests.test_clear_events.ClearEventsTestCase.test_it_checks_owner) ... ok test_it_handles_bad_uuid (hc.front.tests.test_clear_events.ClearEventsTestCase.test_it_handles_bad_uuid) ... ok test_it_handles_missing_uuid (hc.front.tests.test_clear_events.ClearEventsTestCase.test_it_handles_missing_uuid) ... ok test_it_rejects_get (hc.front.tests.test_clear_events.ClearEventsTestCase.test_it_rejects_get) ... ok test_it_requires_rw_access (hc.front.tests.test_clear_events.ClearEventsTestCase.test_it_requires_rw_access) ... ok test_it_works (hc.front.tests.test_clear_events.ClearEventsTestCase.test_it_works) ... ok test_team_access_works (hc.front.tests.test_clear_events.ClearEventsTestCase.test_team_access_works) ... ok test_it_works (hc.front.tests.test_contact_vcf.ContactVcfTestCase.test_it_works) ... ok test_it_handles_long_check_name (hc.front.tests.test_copy.CopyCheckTestCase.test_it_handles_long_check_name) ... ok test_it_obeys_limit (hc.front.tests.test_copy.CopyCheckTestCase.test_it_obeys_limit) ... ok test_it_requires_rw_access (hc.front.tests.test_copy.CopyCheckTestCase.test_it_requires_rw_access) ... ok test_it_works (hc.front.tests.test_copy.CopyCheckTestCase.test_it_works) ... ok test_it_accepts_sunday_7 (hc.front.tests.test_cron_preview.CronPreviewTestCase.test_it_accepts_sunday_7) ... ok test_it_handles_dst_transition (hc.front.tests.test_cron_preview.CronPreviewTestCase.test_it_handles_dst_transition) ... ok test_it_handles_feb_29 (hc.front.tests.test_cron_preview.CronPreviewTestCase.test_it_handles_feb_29) ... ok test_it_handles_invalid_timezone (hc.front.tests.test_cron_preview.CronPreviewTestCase.test_it_handles_invalid_timezone) ... ok test_it_handles_missing_arguments (hc.front.tests.test_cron_preview.CronPreviewTestCase.test_it_handles_missing_arguments) ... ok test_it_handles_no_matches (hc.front.tests.test_cron_preview.CronPreviewTestCase.test_it_handles_no_matches) ... ok test_it_rejects_get (hc.front.tests.test_cron_preview.CronPreviewTestCase.test_it_rejects_get) ... ok test_it_rejects_invalid_cron_expression (hc.front.tests.test_cron_preview.CronPreviewTestCase.test_it_rejects_invalid_cron_expression) ... ok test_it_works (hc.front.tests.test_cron_preview.CronPreviewTestCase.test_it_works) ... ok test_crontab_example_guesses_schedules (hc.front.tests.test_details.DetailsTestCase.test_crontab_example_guesses_schedules) ... ok test_crontab_example_handles_unsupported_timeout_values (hc.front.tests.test_details.DetailsTestCase.test_crontab_example_handles_unsupported_timeout_values) ... ok test_downtime_summary_handles_negative_utc_offset (hc.front.tests.test_details.DetailsTestCase.test_downtime_summary_handles_negative_utc_offset) ... ok test_downtime_summary_handles_positive_utc_offset (hc.front.tests.test_details.DetailsTestCase.test_downtime_summary_handles_positive_utc_offset) ... ok test_it_allows_cross_team_access (hc.front.tests.test_details.DetailsTestCase.test_it_allows_cross_team_access) ... ok test_it_calculates_downtime_summary (hc.front.tests.test_details.DetailsTestCase.test_it_calculates_downtime_summary) ... ok test_it_checks_ownership (hc.front.tests.test_details.DetailsTestCase.test_it_checks_ownership) ... ok test_it_downtime_summary_handles_plural (hc.front.tests.test_details.DetailsTestCase.test_it_downtime_summary_handles_plural) ... ok test_it_handles_empty_slug (hc.front.tests.test_details.DetailsTestCase.test_it_handles_empty_slug) ... ok test_it_handles_months_when_check_did_not_exist (hc.front.tests.test_details.DetailsTestCase.test_it_handles_months_when_check_did_not_exist) ... ok test_it_handles_no_ping_key (hc.front.tests.test_details.DetailsTestCase.test_it_handles_no_ping_key) ... ok test_it_handles_no_ping_key_for_readonly_user (hc.front.tests.test_details.DetailsTestCase.test_it_handles_no_ping_key_for_readonly_user) ... ok test_it_hides_actions_from_readonly_users (hc.front.tests.test_details.DetailsTestCase.test_it_hides_actions_from_readonly_users) ... ok test_it_hides_resume_action_from_readonly_users (hc.front.tests.test_details.DetailsTestCase.test_it_hides_resume_action_from_readonly_users) ... ok test_it_outputs_period_grace_as_integers (hc.front.tests.test_details.DetailsTestCase.test_it_outputs_period_grace_as_integers) ... ok test_it_saves_url_format_preference (hc.front.tests.test_details.DetailsTestCase.test_it_saves_url_format_preference) ... ok test_it_sets_title_and_favicon (hc.front.tests.test_details.DetailsTestCase.test_it_sets_title_and_favicon) ... ok test_it_shows_cron_expression (hc.front.tests.test_details.DetailsTestCase.test_it_shows_cron_expression) ... ok test_it_suggests_tags_from_other_checks (hc.front.tests.test_details.DetailsTestCase.test_it_suggests_tags_from_other_checks) ... ok test_it_works (hc.front.tests.test_details.DetailsTestCase.test_it_works) ... ok test_it_clears_filtering_fields (hc.front.tests.test_filtering_rules.FilteringRulesTestCase.test_it_clears_filtering_fields) ... ok test_it_clears_manual_resume_flag (hc.front.tests.test_filtering_rules.FilteringRulesTestCase.test_it_clears_manual_resume_flag) ... ok test_it_clears_methods (hc.front.tests.test_filtering_rules.FilteringRulesTestCase.test_it_clears_methods) ... ok test_it_requires_rw_access (hc.front.tests.test_filtering_rules.FilteringRulesTestCase.test_it_requires_rw_access) ... ok test_it_works (hc.front.tests.test_filtering_rules.FilteringRulesTestCase.test_it_works) ... ok test_it_calculates_duration (hc.front.tests.test_get_events.GetEventsTestCase.test_it_calculates_duration) ... ok test_it_calculates_overlapping_durations (hc.front.tests.test_get_events.GetEventsTestCase.test_it_calculates_overlapping_durations) ... ok test_it_delegates_duration_calculation_to_model (hc.front.tests.test_get_events.GetEventsTestCase.test_it_delegates_duration_calculation_to_model) ... ok test_it_disables_duration_display (hc.front.tests.test_get_events.GetEventsTestCase.test_it_disables_duration_display) ... ok test_it_shows_overall_down_status (hc.front.tests.test_index.IndexTestCase.test_it_shows_overall_down_status) ... ok test_it_shows_projects (hc.front.tests.test_index.IndexTestCase.test_it_shows_projects) ... ok test_it_handles_line_without_linemode (hc.front.tests.test_linemode_tag.LinemodeTestCase.test_it_handles_line_without_linemode) ... ok test_it_works (hc.front.tests.test_linemode_tag.LinemodeTestCase.test_it_works) ... ok test_it_checks_ownership (hc.front.tests.test_log.LogTestCase.test_it_checks_ownership) ... ok test_it_displays_email (hc.front.tests.test_log.LogTestCase.test_it_displays_email) ... ok test_it_does_not_load_body_from_object_storage (hc.front.tests.test_log.LogTestCase.test_it_does_not_load_body_from_object_storage) ... ok test_it_does_not_show_duration_for_ign_event (hc.front.tests.test_log.LogTestCase.test_it_does_not_show_duration_for_ign_event) ... ok test_it_does_not_show_duration_for_log_event (hc.front.tests.test_log.LogTestCase.test_it_does_not_show_duration_for_log_event) ... ok test_it_does_not_show_too_old_notifications (hc.front.tests.test_log.LogTestCase.test_it_does_not_show_too_old_notifications) ... ok test_it_handles_bad_uuid (hc.front.tests.test_log.LogTestCase.test_it_handles_bad_uuid) ... ok test_it_handles_log_event (hc.front.tests.test_log.LogTestCase.test_it_handles_log_event) ... ok test_it_handles_missing_uuid (hc.front.tests.test_log.LogTestCase.test_it_handles_missing_uuid) ... ok test_it_shows_ignored_nonzero_exitstatus (hc.front.tests.test_log.LogTestCase.test_it_shows_ignored_nonzero_exitstatus) ... ok test_it_works (hc.front.tests.test_log.LogTestCase.test_it_works) ... ok test_team_access_works (hc.front.tests.test_log.LogTestCase.test_team_access_works) ... ok test_it_accepts_start_parameter (hc.front.tests.test_log_events.LogTestCase.test_it_accepts_start_parameter) ... ok test_it_checks_ownership (hc.front.tests.test_log_events.LogTestCase.test_it_checks_ownership) ... ok test_it_does_not_show_too_old_notifications (hc.front.tests.test_log_events.LogTestCase.test_it_does_not_show_too_old_notifications) ... ok test_it_filters_flip (hc.front.tests.test_log_events.LogTestCase.test_it_filters_flip) ... ok test_it_filters_notification (hc.front.tests.test_log_events.LogTestCase.test_it_filters_notification) ... ok test_it_filters_success (hc.front.tests.test_log_events.LogTestCase.test_it_filters_success) ... ok test_it_handles_bad_uuid (hc.front.tests.test_log_events.LogTestCase.test_it_handles_bad_uuid) ... ok test_it_handles_missing_uuid (hc.front.tests.test_log_events.LogTestCase.test_it_handles_missing_uuid) ... ok test_it_rejects_bad_u_parameter (hc.front.tests.test_log_events.LogTestCase.test_it_rejects_bad_u_parameter) ... ok test_it_returns_403_for_anon_requests (hc.front.tests.test_log_events.LogTestCase.test_it_returns_403_for_anon_requests) ... ok test_it_shows_email_notification (hc.front.tests.test_log_events.LogTestCase.test_it_shows_email_notification) ... ok test_it_shows_pushover_notification (hc.front.tests.test_log_events.LogTestCase.test_it_shows_pushover_notification) ... ok test_it_shows_webhook_notification (hc.front.tests.test_log_events.LogTestCase.test_it_shows_webhook_notification) ... ok test_it_works (hc.front.tests.test_log_events.LogTestCase.test_it_works) ... ok test_live_updates_do_not_return_too_old_notifications (hc.front.tests.test_log_events.LogTestCase.test_live_updates_do_not_return_too_old_notifications) ... ok test_team_access_works (hc.front.tests.test_log_events.LogTestCase.test_team_access_works) ... ok test_it_bumps_last_active_date (hc.front.tests.test_my_checks.MyChecksTestCase.test_it_bumps_last_active_date) ... ok test_it_checks_access (hc.front.tests.test_my_checks.MyChecksTestCase.test_it_checks_access) ... ok test_it_hides_actions_from_readonly_users (hc.front.tests.test_my_checks.MyChecksTestCase.test_it_hides_actions_from_readonly_users) ... ok test_it_hides_add_check_button (hc.front.tests.test_my_checks.MyChecksTestCase.test_it_hides_add_check_button) ... ok test_it_ignores_bad_sort_value (hc.front.tests.test_my_checks.MyChecksTestCase.test_it_ignores_bad_sort_value) ... ok test_it_includes_filters_in_sort_urls (hc.front.tests.test_my_checks.MyChecksTestCase.test_it_includes_filters_in_sort_urls) ... ok test_it_outputs_period_grace_as_integers (hc.front.tests.test_my_checks.MyChecksTestCase.test_it_outputs_period_grace_as_integers) ... ok test_it_saves_sort_field (hc.front.tests.test_my_checks.MyChecksTestCase.test_it_saves_sort_field) ... ok test_it_saves_url_format_preference (hc.front.tests.test_my_checks.MyChecksTestCase.test_it_saves_url_format_preference) ... ok test_it_shows_amber_check (hc.front.tests.test_my_checks.MyChecksTestCase.test_it_shows_amber_check) ... ok test_it_shows_grace_badge (hc.front.tests.test_my_checks.MyChecksTestCase.test_it_shows_grace_badge) ... ok test_it_shows_grace_started_badge (hc.front.tests.test_my_checks.MyChecksTestCase.test_it_shows_grace_started_badge) ... ok test_it_shows_green_check (hc.front.tests.test_my_checks.MyChecksTestCase.test_it_shows_green_check) ... ok test_it_shows_not_unique_note (hc.front.tests.test_my_checks.MyChecksTestCase.test_it_shows_not_unique_note) ... ok test_it_shows_red_check (hc.front.tests.test_my_checks.MyChecksTestCase.test_it_shows_red_check) ... ok test_it_shows_slugs (hc.front.tests.test_my_checks.MyChecksTestCase.test_it_shows_slugs) ... ok test_it_shows_started_but_down_badge (hc.front.tests.test_my_checks.MyChecksTestCase.test_it_shows_started_but_down_badge) ... ok test_it_updates_session (hc.front.tests.test_my_checks.MyChecksTestCase.test_it_updates_session) ... ok test_it_works (hc.front.tests.test_my_checks.MyChecksTestCase.test_it_works) ... ok test_it_handles_single_result (hc.front.tests.test_oncalendar_preview.OnCalendarPreviewTestCase.test_it_handles_single_result) ... ok test_it_works (hc.front.tests.test_oncalendar_preview.OnCalendarPreviewTestCase.test_it_works) ... ok test_it_allows_cross_team_access (hc.front.tests.test_pause.PauseTestCase.test_it_allows_cross_team_access) ... ok test_it_clears_last_start_alert_after (hc.front.tests.test_pause.PauseTestCase.test_it_clears_last_start_alert_after) ... ok test_it_clears_next_nag_date (hc.front.tests.test_pause.PauseTestCase.test_it_clears_next_nag_date) ... ok test_it_does_not_pause_an_already_paused_check (hc.front.tests.test_pause.PauseTestCase.test_it_does_not_pause_an_already_paused_check) ... ok test_it_does_not_redirect_ajax (hc.front.tests.test_pause.PauseTestCase.test_it_does_not_redirect_ajax) ... ok test_it_pauses (hc.front.tests.test_pause.PauseTestCase.test_it_pauses) ... ok test_it_rejects_get (hc.front.tests.test_pause.PauseTestCase.test_it_rejects_get) ... ok test_it_requires_rw_access (hc.front.tests.test_pause.PauseTestCase.test_it_requires_rw_access) ... ok test_it_allows_cross_team_access (hc.front.tests.test_ping_body.PingBodyTestCase.test_it_allows_cross_team_access) ... ok test_it_handles_missing_body (hc.front.tests.test_ping_body.PingBodyTestCase.test_it_handles_missing_body) ... ok test_it_handles_missing_ping (hc.front.tests.test_ping_body.PingBodyTestCase.test_it_handles_missing_ping) ... ok test_it_handles_s3_error (hc.front.tests.test_ping_body.PingBodyTestCase.test_it_handles_s3_error) ... ok test_it_handles_unhealthy_s3 (hc.front.tests.test_ping_body.PingBodyTestCase.test_it_handles_unhealthy_s3) ... ok test_it_requires_logged_in_user (hc.front.tests.test_ping_body.PingBodyTestCase.test_it_requires_logged_in_user) ... ok test_it_returns_original_bytes (hc.front.tests.test_ping_body.PingBodyTestCase.test_it_returns_original_bytes) ... ok test_it_works (hc.front.tests.test_ping_body.PingBodyTestCase.test_it_works) ... ok test_download_original_returns_raw_bytes (hc.front.tests.test_ping_details.PingDetailsTestCase.test_download_original_returns_raw_bytes) ... ok test_it_accepts_n (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_accepts_n) ... ok test_it_allows_cross_team_access (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_allows_cross_team_access) ... ok test_it_decodes_email_subject (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_decodes_email_subject) ... ok test_it_decodes_html_email_body (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_decodes_html_email_body) ... ok test_it_decodes_plaintext_email_body (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_decodes_plaintext_email_body) ... ok test_it_decodes_plaintext_email_from_object_storage (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_decodes_plaintext_email_from_object_storage) ... ok test_it_displays_duration (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_displays_duration) ... ok test_it_handles_bad_base64_in_email_body (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_handles_bad_base64_in_email_body) ... ok test_it_handles_missing_object (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_handles_missing_object) ... ok test_it_handles_missing_object_email (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_handles_missing_object_email) ... ok test_it_handles_missing_ping (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_handles_missing_ping) ... ok test_it_handles_missing_s3_credentials (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_handles_missing_s3_credentials) ... ok test_it_handles_s3_outage (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_handles_s3_outage) ... ok test_it_handles_utf8_encoded_plaintext (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_handles_utf8_encoded_plaintext) ... ok test_it_leaves_invalid_json_body_as_is (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_leaves_invalid_json_body_as_is) ... ok test_it_leaves_non_json_body_as_is (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_leaves_non_json_body_as_is) ... ok test_it_loads_body_from_object_storage (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_loads_body_from_object_storage) ... ok test_it_preserves_non_ascii_in_json_body (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_preserves_non_ascii_in_json_body) ... ok test_it_pretty_prints_json_body (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_pretty_prints_json_body) ... ok test_it_requires_logged_in_user (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_requires_logged_in_user) ... ok test_it_shows_fail (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_shows_fail) ... ok test_it_shows_ignored_nonzero_exitstatus (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_shows_ignored_nonzero_exitstatus) ... ok test_it_shows_log (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_shows_log) ... ok test_it_shows_nonzero_exitstatus (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_shows_nonzero_exitstatus) ... ok test_it_shows_start (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_shows_start) ... ok test_it_shows_zero_exitstatus (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_shows_zero_exitstatus) ... ok test_it_works (hc.front.tests.test_ping_details.PingDetailsTestCase.test_it_works) ... ok test_last_ping_lookup_excludes_log_ign_start (hc.front.tests.test_ping_details.PingDetailsTestCase.test_last_ping_lookup_excludes_log_ign_start) ... ok test_it_requires_logged_in_user (hc.front.tests.test_projects_menu.ProjectsMenuTestCase.test_it_requires_logged_in_user) ... ok test_it_works (hc.front.tests.test_projects_menu.ProjectsMenuTestCase.test_it_works) ... ok test_it_checks_owner (hc.front.tests.test_remove_channel.RemoveChannelTestCase.test_it_checks_owner) ... ok test_it_handles_bad_uuid (hc.front.tests.test_remove_channel.RemoveChannelTestCase.test_it_handles_bad_uuid) ... ok test_it_handles_missing_uuid (hc.front.tests.test_remove_channel.RemoveChannelTestCase.test_it_handles_missing_uuid) ... ok test_it_rejects_get (hc.front.tests.test_remove_channel.RemoveChannelTestCase.test_it_rejects_get) ... ok test_it_requires_rw_access (hc.front.tests.test_remove_channel.RemoveChannelTestCase.test_it_requires_rw_access) ... ok test_it_works (hc.front.tests.test_remove_channel.RemoveChannelTestCase.test_it_works) ... ok test_team_access_works (hc.front.tests.test_remove_channel.RemoveChannelTestCase.test_team_access_works) ... ok test_it_checks_owner (hc.front.tests.test_remove_check.RemoveCheckTestCase.test_it_checks_owner) ... ok test_it_handles_bad_uuid (hc.front.tests.test_remove_check.RemoveCheckTestCase.test_it_handles_bad_uuid) ... ok test_it_handles_missing_uuid (hc.front.tests.test_remove_check.RemoveCheckTestCase.test_it_handles_missing_uuid) ... ok test_it_rejects_get (hc.front.tests.test_remove_check.RemoveCheckTestCase.test_it_rejects_get) ... ok test_it_requires_rw_access (hc.front.tests.test_remove_check.RemoveCheckTestCase.test_it_requires_rw_access) ... ok test_it_works (hc.front.tests.test_remove_check.RemoveCheckTestCase.test_it_works) ... ok test_team_access_works (hc.front.tests.test_remove_check.RemoveCheckTestCase.test_team_access_works) ... ok test_it_allows_cross_team_access (hc.front.tests.test_resume.ResumeTestCase.test_it_allows_cross_team_access) ... ok test_it_handles_not_paused_tests (hc.front.tests.test_resume.ResumeTestCase.test_it_handles_not_paused_tests) ... ok test_it_rejects_get (hc.front.tests.test_resume.ResumeTestCase.test_it_rejects_get) ... ok test_it_requires_rw_access (hc.front.tests.test_resume.ResumeTestCase.test_it_requires_rw_access) ... ok test_it_resumes (hc.front.tests.test_resume.ResumeTestCase.test_it_resumes) ... ok test_it_handles_no_results (hc.front.tests.test_search.SearchTestCase.test_it_handles_no_results) ... ok test_it_rejects_special_characters (hc.front.tests.test_search.SearchTestCase.test_it_rejects_special_characters) ... ok test_it_works (hc.front.tests.test_search.SearchTestCase.test_it_works) ... ok test_it_allows_readonly_user (hc.front.tests.test_send_test_notification.SendTestNotificationTestCase.test_it_allows_readonly_user) ... ok test_it_checks_channel_ownership (hc.front.tests.test_send_test_notification.SendTestNotificationTestCase.test_it_checks_channel_ownership) ... ok test_it_clears_channel_last_error (hc.front.tests.test_send_test_notification.SendTestNotificationTestCase.test_it_clears_channel_last_error) ... ok test_it_handles_group_channel (hc.front.tests.test_send_test_notification.SendTestNotificationTestCase.test_it_handles_group_channel) ... ok test_it_handles_up_only_sms_channel (hc.front.tests.test_send_test_notification.SendTestNotificationTestCase.test_it_handles_up_only_sms_channel) ... ok test_it_handles_webhook_with_json_variable (hc.front.tests.test_send_test_notification.SendTestNotificationTestCase.test_it_handles_webhook_with_json_variable) ... ok test_it_handles_webhooks_with_no_down_url (hc.front.tests.test_send_test_notification.SendTestNotificationTestCase.test_it_handles_webhooks_with_no_down_url) ... ok test_it_handles_webhooks_with_no_urls (hc.front.tests.test_send_test_notification.SendTestNotificationTestCase.test_it_handles_webhooks_with_no_urls) ... ok test_it_sends_test_email (hc.front.tests.test_send_test_notification.SendTestNotificationTestCase.test_it_sends_test_email) ... ok test_it_sets_channel_last_error (hc.front.tests.test_send_test_notification.SendTestNotificationTestCase.test_it_sets_channel_last_error) ... ok test_it_handles_bad_url (hc.front.tests.test_serve_doc.ServeDocTestCase.test_it_handles_bad_url) ... ok test_it_rejects_bad_characters (hc.front.tests.test_serve_doc.ServeDocTestCase.test_it_rejects_bad_characters) ... ok test_it_serves_introduction (hc.front.tests.test_serve_doc.ServeDocTestCase.test_it_serves_introduction) ... ok test_it_serves_subpage (hc.front.tests.test_serve_doc.ServeDocTestCase.test_it_serves_subpage) ... ok test_it_allows_cross_team_access (hc.front.tests.test_status.StatusTestCase.test_it_allows_cross_team_access) ... ok test_it_checks_ownership (hc.front.tests.test_status.StatusTestCase.test_it_checks_ownership) ... ok test_it_returns_403_for_anon_requests (hc.front.tests.test_status.StatusTestCase.test_it_returns_403_for_anon_requests) ... ok test_it_works (hc.front.tests.test_status.StatusTestCase.test_it_works) ... ok test_it_allows_cross_team_access (hc.front.tests.test_status_single.StatusSingleTestCase.test_it_allows_cross_team_access) ... ok test_it_handles_log_event (hc.front.tests.test_status_single.StatusSingleTestCase.test_it_handles_log_event) ... ok test_it_handles_manual_resume (hc.front.tests.test_status_single.StatusSingleTestCase.test_it_handles_manual_resume) ... ok test_it_omits_events (hc.front.tests.test_status_single.StatusSingleTestCase.test_it_omits_events) ... ok test_it_returns_403_for_anon_requests (hc.front.tests.test_status_single.StatusSingleTestCase.test_it_returns_403_for_anon_requests) ... ok test_it_returns_events (hc.front.tests.test_status_single.StatusSingleTestCase.test_it_returns_events) ... ok test_it_shows_ignored_nonzero_exitstatus (hc.front.tests.test_status_single.StatusSingleTestCase.test_it_shows_ignored_nonzero_exitstatus) ... ok test_it_works (hc.front.tests.test_status_single.StatusSingleTestCase.test_it_works) ... ok test_resume_requires_rw_access (hc.front.tests.test_status_single.StatusSingleTestCase.test_resume_requires_rw_access) ... ok test_status_text_shows_elapsed_run_time (hc.front.tests.test_status_single.StatusSingleTestCase.test_status_text_shows_elapsed_run_time) ... ok test_it_allows_cross_team_access (hc.front.tests.test_switch_channel.SwitchChannelTestCase.test_it_allows_cross_team_access) ... ok test_it_checks_channels_ownership (hc.front.tests.test_switch_channel.SwitchChannelTestCase.test_it_checks_channels_ownership) ... ok test_it_checks_ownership (hc.front.tests.test_switch_channel.SwitchChannelTestCase.test_it_checks_ownership) ... ok test_it_disables (hc.front.tests.test_switch_channel.SwitchChannelTestCase.test_it_disables) ... ok test_it_enables (hc.front.tests.test_switch_channel.SwitchChannelTestCase.test_it_enables) ... ok test_it_requires_rw_access (hc.front.tests.test_switch_channel.SwitchChannelTestCase.test_it_requires_rw_access) ... ok test_form_always_allows_transfers_between_same_accounts_projects (hc.front.tests.test_transfer.TransferTestCase.test_form_always_allows_transfers_between_same_accounts_projects) ... ok test_form_obeys_check_limit (hc.front.tests.test_transfer.TransferTestCase.test_form_obeys_check_limit) ... ok test_it_checks_check_ownership (hc.front.tests.test_transfer.TransferTestCase.test_it_checks_check_ownership) ... ok test_it_checks_project_access (hc.front.tests.test_transfer.TransferTestCase.test_it_checks_project_access) ... ok test_it_handles_bad_project_uuid (hc.front.tests.test_transfer.TransferTestCase.test_it_handles_bad_project_uuid) ... ok test_it_reassigns_channels (hc.front.tests.test_transfer.TransferTestCase.test_it_reassigns_channels) ... ok test_it_requires_rw_access (hc.front.tests.test_transfer.TransferTestCase.test_it_requires_rw_access) ... ok test_it_serves_form (hc.front.tests.test_transfer.TransferTestCase.test_it_serves_form) ... ok test_it_works (hc.front.tests.test_transfer.TransferTestCase.test_it_works) ... ok test_post_always_allows_transfers_between_same_accounts_projects (hc.front.tests.test_transfer.TransferTestCase.test_post_always_allows_transfers_between_same_accounts_projects) ... ok test_post_obeys_check_limit (hc.front.tests.test_transfer.TransferTestCase.test_post_obeys_check_limit) ... ok test_it_checks_access (hc.front.tests.test_uncloak.UncloakTestCase.test_it_checks_access) ... ok test_it_handles_bad_unique_key (hc.front.tests.test_uncloak.UncloakTestCase.test_it_handles_bad_unique_key) ... ok test_it_redirects (hc.front.tests.test_uncloak.UncloakTestCase.test_it_redirects) ... ok test_it_requires_logged_in_user (hc.front.tests.test_uncloak.UncloakTestCase.test_it_requires_logged_in_user) ... ok test_it_checks_channel_user (hc.front.tests.test_update_channel.UpdateChannelTestCase.test_it_checks_channel_user) ... ok test_it_checks_check_owner (hc.front.tests.test_update_channel.UpdateChannelTestCase.test_it_checks_check_owner) ... ok test_it_handles_empty_payload (hc.front.tests.test_update_channel.UpdateChannelTestCase.test_it_handles_empty_payload) ... ok test_it_handles_invalid_check_uuid (hc.front.tests.test_update_channel.UpdateChannelTestCase.test_it_handles_invalid_check_uuid) ... ok test_it_handles_missing_channel (hc.front.tests.test_update_channel.UpdateChannelTestCase.test_it_handles_missing_channel) ... ok test_it_handles_missing_check (hc.front.tests.test_update_channel.UpdateChannelTestCase.test_it_handles_missing_check) ... ok test_it_requires_rw_access (hc.front.tests.test_update_channel.UpdateChannelTestCase.test_it_requires_rw_access) ... ok test_it_works (hc.front.tests.test_update_channel.UpdateChannelTestCase.test_it_works) ... ok test_team_access_works (hc.front.tests.test_update_channel.UpdateChannelTestCase.test_team_access_works) ... ok test_it_checks_ownership (hc.front.tests.test_update_channel_name.UpdateChannelNameTestCase.test_it_checks_ownership) ... ok test_it_handles_missing_uuid (hc.front.tests.test_update_channel_name.UpdateChannelNameTestCase.test_it_handles_missing_uuid) ... ok test_it_rejects_get (hc.front.tests.test_update_channel_name.UpdateChannelNameTestCase.test_it_rejects_get) ... ok test_it_requires_rw_access (hc.front.tests.test_update_channel_name.UpdateChannelNameTestCase.test_it_requires_rw_access) ... ok test_it_works (hc.front.tests.test_update_channel_name.UpdateChannelNameTestCase.test_it_works) ... ok test_team_access_works (hc.front.tests.test_update_channel_name.UpdateChannelNameTestCase.test_team_access_works) ... ok test_it_allows_cross_team_access (hc.front.tests.test_update_name.UpdateNameTestCase.test_it_allows_cross_team_access) ... ok test_it_checks_ownership (hc.front.tests.test_update_name.UpdateNameTestCase.test_it_checks_ownership) ... ok test_it_handles_bad_uuid (hc.front.tests.test_update_name.UpdateNameTestCase.test_it_handles_bad_uuid) ... ok test_it_handles_missing_uuid (hc.front.tests.test_update_name.UpdateNameTestCase.test_it_handles_missing_uuid) ... ok test_it_redirects_to_details (hc.front.tests.test_update_name.UpdateNameTestCase.test_it_redirects_to_details) ... ok test_it_rejects_get (hc.front.tests.test_update_name.UpdateNameTestCase.test_it_rejects_get) ... ok test_it_requires_rw_access (hc.front.tests.test_update_name.UpdateNameTestCase.test_it_requires_rw_access) ... ok test_it_sanitizes_tags (hc.front.tests.test_update_name.UpdateNameTestCase.test_it_sanitizes_tags) ... ok test_it_works (hc.front.tests.test_update_name.UpdateNameTestCase.test_it_works) ... ok test_redirect_preserves_querystring (hc.front.tests.test_update_name.UpdateNameTestCase.test_redirect_preserves_querystring) ... ok test_team_access_works (hc.front.tests.test_update_name.UpdateNameTestCase.test_team_access_works) ... ok test_it_allows_cross_team_access (hc.front.tests.test_update_timeout.UpdateTimeoutTestCase.test_it_allows_cross_team_access) ... ok test_it_checks_ownership (hc.front.tests.test_update_timeout.UpdateTimeoutTestCase.test_it_checks_ownership) ... ok test_it_does_not_update_status_to_up (hc.front.tests.test_update_timeout.UpdateTimeoutTestCase.test_it_does_not_update_status_to_up) ... ok test_it_handles_bad_uuid (hc.front.tests.test_update_timeout.UpdateTimeoutTestCase.test_it_handles_bad_uuid) ... ok test_it_handles_missing_uuid (hc.front.tests.test_update_timeout.UpdateTimeoutTestCase.test_it_handles_missing_uuid) ... ok test_it_rejects_get (hc.front.tests.test_update_timeout.UpdateTimeoutTestCase.test_it_rejects_get) ... ok test_it_rejects_missing_schedule (hc.front.tests.test_update_timeout.UpdateTimeoutTestCase.test_it_rejects_missing_schedule) ... ok test_it_rejects_missing_tz (hc.front.tests.test_update_timeout.UpdateTimeoutTestCase.test_it_rejects_missing_tz) ... ok test_it_rejects_six_field_cron_expression (hc.front.tests.test_update_timeout.UpdateTimeoutTestCase.test_it_rejects_six_field_cron_expression) ... ok test_it_requires_rw_access (hc.front.tests.test_update_timeout.UpdateTimeoutTestCase.test_it_requires_rw_access) ... ok test_it_saves_cron_expression (hc.front.tests.test_update_timeout.UpdateTimeoutTestCase.test_it_saves_cron_expression) ... ok test_it_saves_multiline_oncalendar_expression (hc.front.tests.test_update_timeout.UpdateTimeoutTestCase.test_it_saves_multiline_oncalendar_expression) ... ok test_it_saves_oncalendar_expression (hc.front.tests.test_update_timeout.UpdateTimeoutTestCase.test_it_saves_oncalendar_expression) ... ok test_it_updates_status_to_down (hc.front.tests.test_update_timeout.UpdateTimeoutTestCase.test_it_updates_status_to_down) ... ok test_it_validates_cron_expression (hc.front.tests.test_update_timeout.UpdateTimeoutTestCase.test_it_validates_cron_expression) ... ok test_it_validates_oncalendar_expression (hc.front.tests.test_update_timeout.UpdateTimeoutTestCase.test_it_validates_oncalendar_expression) ... ok test_it_validates_tz (hc.front.tests.test_update_timeout.UpdateTimeoutTestCase.test_it_validates_tz) ... ok test_it_works (hc.front.tests.test_update_timeout.UpdateTimeoutTestCase.test_it_works) ... ok test_redirect_preserves_querystring (hc.front.tests.test_update_timeout.UpdateTimeoutTestCase.test_redirect_preserves_querystring) ... ok test_team_access_works (hc.front.tests.test_update_timeout.UpdateTimeoutTestCase.test_team_access_works) ... ok test_it_rejects_bad_schedules (hc.front.tests.test_validate_schedule.ValidateScheduleTestCase.test_it_rejects_bad_schedules) ... ok test_it_validates_cron_schedule (hc.front.tests.test_validate_schedule.ValidateScheduleTestCase.test_it_validates_cron_schedule) ... ok test_it_validates_oncalendar_schedule (hc.front.tests.test_validate_schedule.ValidateScheduleTestCase.test_it_validates_oncalendar_schedule) ... ok test_it_adds_tld (hc.front.tests.test_webhook_validator.WebhookValidatorTestCase.test_it_adds_tld) ... ok test_it_does_not_touch_existing_tld (hc.front.tests.test_webhook_validator.WebhookValidatorTestCase.test_it_does_not_touch_existing_tld) ... ok test_it_does_not_touch_existing_tld_with_port (hc.front.tests.test_webhook_validator.WebhookValidatorTestCase.test_it_does_not_touch_existing_tld_with_port) ... ok test_it_does_not_touch_existing_tld_with_port_and_basic_auth (hc.front.tests.test_webhook_validator.WebhookValidatorTestCase.test_it_does_not_touch_existing_tld_with_port_and_basic_auth) ... ok test_it_handles_port (hc.front.tests.test_webhook_validator.WebhookValidatorTestCase.test_it_handles_port) ... ok test_it_handles_port_and_basic_auth (hc.front.tests.test_webhook_validator.WebhookValidatorTestCase.test_it_handles_port_and_basic_auth) ... ok test_it_handles_trailing_dot (hc.front.tests.test_webhook_validator.WebhookValidatorTestCase.test_it_handles_trailing_dot) ... ok test_instructions_work (hc.integrations.apprise.tests.test_add.AddAppriseTestCase.test_instructions_work) ... ok test_it_requires_client_id (hc.integrations.apprise.tests.test_add.AddAppriseTestCase.test_it_requires_client_id) ... ok test_it_requires_rw_access (hc.integrations.apprise.tests.test_add.AddAppriseTestCase.test_it_requires_rw_access) ... ok test_it_works (hc.integrations.apprise.tests.test_add.AddAppriseTestCase.test_it_works) ... ok test_apprise_disabled (hc.integrations.apprise.tests.test_notify.NotifyAppriseTestCase.test_apprise_disabled) ... ok test_it_handles_reason_failure (hc.integrations.apprise.tests.test_notify.NotifyAppriseTestCase.test_it_handles_reason_failure) ... ok test_it_reports_down_duration (hc.integrations.apprise.tests.test_notify.NotifyAppriseTestCase.test_it_reports_down_duration) ... ok test_it_works (hc.integrations.apprise.tests.test_notify.NotifyAppriseTestCase.test_it_works) ... ok test_instructions_work (hc.integrations.call.tests.test_add.AddCallTestCase.test_instructions_work) ... ok test_it_creates_channel (hc.integrations.call.tests.test_add.AddCallTestCase.test_it_creates_channel) ... ok test_it_rejects_bad_number (hc.integrations.call.tests.test_add.AddCallTestCase.test_it_rejects_bad_number) ... ok test_it_requires_credentials (hc.integrations.call.tests.test_add.AddCallTestCase.test_it_requires_credentials) ... ok test_it_requires_rw_access (hc.integrations.call.tests.test_add.AddCallTestCase.test_it_requires_rw_access) ... ok test_it_trims_whitespace (hc.integrations.call.tests.test_add.AddCallTestCase.test_it_trims_whitespace) ... ok test_it_warns_about_limits (hc.integrations.call.tests.test_add.AddCallTestCase.test_it_warns_about_limits) ... ok test_call (hc.integrations.call.tests.test_notify.NotifyCallTestCase.test_call) ... ok test_call_limit (hc.integrations.call.tests.test_notify.NotifyCallTestCase.test_call_limit) ... ok test_call_limit_reset (hc.integrations.call.tests.test_notify.NotifyCallTestCase.test_call_limit_reset) ... ok test_it_disables_channel_on_21211 (hc.integrations.call.tests.test_notify.NotifyCallTestCase.test_it_disables_channel_on_21211) ... ok test_it_escapes_check_name (hc.integrations.call.tests.test_notify.NotifyCallTestCase.test_it_escapes_check_name) ... ok test_it_requires_twilio_configuration (hc.integrations.call.tests.test_notify.NotifyCallTestCase.test_it_requires_twilio_configuration) ... ok test_limit_notice_handles_escaping (hc.integrations.call.tests.test_notify.NotifyCallTestCase.test_limit_notice_handles_escaping) ... ok test_instructions_work (hc.integrations.discord.tests.test_add.AddDiscordTestCase.test_instructions_work) ... ok test_it_requires_client_id (hc.integrations.discord.tests.test_add.AddDiscordTestCase.test_it_requires_client_id) ... ok test_it_requires_rw_access (hc.integrations.discord.tests.test_add.AddDiscordTestCase.test_it_requires_rw_access) ... ok test_it_avoids_csrf (hc.integrations.discord.tests.test_add_complete.AddDiscordCompleteTestCase.test_it_avoids_csrf) ... ok test_it_handles_access_denied (hc.integrations.discord.tests.test_add_complete.AddDiscordCompleteTestCase.test_it_handles_access_denied) ... ok test_it_handles_code_30007 (hc.integrations.discord.tests.test_add_complete.AddDiscordCompleteTestCase.test_it_handles_code_30007) ... ok test_it_handles_oauth_response (hc.integrations.discord.tests.test_add_complete.AddDiscordCompleteTestCase.test_it_handles_oauth_response) ... ok test_it_handles_unexpected_oauth_response (hc.integrations.discord.tests.test_add_complete.AddDiscordCompleteTestCase.test_it_handles_unexpected_oauth_response) ... ok test_it_requires_client_id (hc.integrations.discord.tests.test_add_complete.AddDiscordCompleteTestCase.test_it_requires_client_id) ... ok test_it_requires_rw_access (hc.integrations.discord.tests.test_add_complete.AddDiscordCompleteTestCase.test_it_requires_rw_access) ... ok test_it_disables_channel_on_404 (hc.integrations.discord.tests.test_notify.NotifyDiscordTestCase.test_it_disables_channel_on_404) ... ok test_it_handles_last_ping_failure (hc.integrations.discord.tests.test_notify.NotifyDiscordTestCase.test_it_handles_last_ping_failure) ... ok test_it_rewrites_discordapp_com (hc.integrations.discord.tests.test_notify.NotifyDiscordTestCase.test_it_rewrites_discordapp_com) ... ok test_it_shows_cron_schedule_and_tz (hc.integrations.discord.tests.test_notify.NotifyDiscordTestCase.test_it_shows_cron_schedule_and_tz) ... ok test_it_works (hc.integrations.discord.tests.test_notify.NotifyDiscordTestCase.test_it_works) ... ok test_instructions_work (hc.integrations.email.tests.test_add.AddEmailTestCase.test_instructions_work) ... ok test_it_auto_verifies_email (hc.integrations.email.tests.test_add.AddEmailTestCase.test_it_auto_verifies_email) ... ok test_it_auto_verifies_own_email (hc.integrations.email.tests.test_add.AddEmailTestCase.test_it_auto_verifies_own_email) ... ok test_it_creates_channel (hc.integrations.email.tests.test_add.AddEmailTestCase.test_it_creates_channel) ... ok test_it_hides_confirmation_needed_notice (hc.integrations.email.tests.test_add.AddEmailTestCase.test_it_hides_confirmation_needed_notice) ... ok test_it_rejects_bad_email (hc.integrations.email.tests.test_add.AddEmailTestCase.test_it_rejects_bad_email) ... ok test_it_rejects_unchecked_up_and_down (hc.integrations.email.tests.test_add.AddEmailTestCase.test_it_rejects_unchecked_up_and_down) ... ok test_it_requires_rw_access (hc.integrations.email.tests.test_add.AddEmailTestCase.test_it_requires_rw_access) ... ok test_it_trims_whitespace (hc.integrations.email.tests.test_add.AddEmailTestCase.test_it_trims_whitespace) ... ok test_team_access_works (hc.integrations.email.tests.test_add.AddEmailTestCase.test_team_access_works) ... ok test_it_auto_verifies_email (hc.integrations.email.tests.test_edit.EditEmailTestCase.test_it_auto_verifies_email) ... ok test_it_auto_verifies_own_email (hc.integrations.email.tests.test_edit.EditEmailTestCase.test_it_auto_verifies_own_email) ... ok test_it_hides_confirmation_needed_notice (hc.integrations.email.tests.test_edit.EditEmailTestCase.test_it_hides_confirmation_needed_notice) ... ok test_it_requires_rw_access (hc.integrations.email.tests.test_edit.EditEmailTestCase.test_it_requires_rw_access) ... ok test_it_resets_disabled_flag (hc.integrations.email.tests.test_edit.EditEmailTestCase.test_it_resets_disabled_flag) ... ok test_it_saves_changes (hc.integrations.email.tests.test_edit.EditEmailTestCase.test_it_saves_changes) ... ok test_it_shows_form (hc.integrations.email.tests.test_edit.EditEmailTestCase.test_it_shows_form) ... ok test_it_skips_verification_if_email_unchanged (hc.integrations.email.tests.test_edit.EditEmailTestCase.test_it_skips_verification_if_email_unchanged) ... ok test_team_access_works (hc.integrations.email.tests.test_edit.EditEmailTestCase.test_team_access_works) ... ok test_it_checks_up_down_flags (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_checks_up_down_flags) ... ok test_it_displays_last_ping_subject_and_adds_attachment (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_displays_last_ping_subject_and_adds_attachment) ... ok test_it_falls_back_to_check_owners_timezone (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_falls_back_to_check_owners_timezone) ... ok test_it_handles_amperstand (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_handles_amperstand) ... ok test_it_handles_connection_refused_error (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_handles_connection_refused_error) ... ok test_it_handles_data_error (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_handles_data_error) ... ok test_it_handles_getbodyerror_exception (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_handles_getbodyerror_exception) ... ok test_it_handles_identical_ping_and_flip_timestamp (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_handles_identical_ping_and_flip_timestamp) ... ok test_it_handles_json_value (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_handles_json_value) ... ok test_it_handles_last_ping_exitstatus (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_handles_last_ping_exitstatus) ... ok test_it_handles_last_ping_log (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_handles_last_ping_log) ... ok test_it_handles_missing_ping_object (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_handles_missing_ping_object) ... ok test_it_handles_missing_profile (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_handles_missing_profile) ... ok test_it_handles_non_ascii_in_last_ping_body (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_handles_non_ascii_in_last_ping_body) ... ok test_it_handles_pending_body (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_handles_pending_body) ... ok test_it_handles_reason_failure (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_handles_reason_failure) ... ok test_it_handles_server_disconnected (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_handles_server_disconnected) ... ok test_it_ignores_ping_after_flip (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_ignores_ping_after_flip) ... ok test_it_loads_body_from_object_storage (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_loads_body_from_object_storage) ... ok test_it_message_id_generation_handles_angle_brackets (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_message_id_generation_handles_angle_brackets) ... ok test_it_removes_message_rfc822_parts_from_last_ping_body (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_removes_message_rfc822_parts_from_last_ping_body) ... ok test_it_reports_down_duration (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_reports_down_duration) ... ok test_it_reports_unverified_email (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_reports_unverified_email) ... ok test_it_sets_custom_mail_from (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_sets_custom_mail_from) ... ok test_it_shows_cron_schedule (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_shows_cron_schedule) ... ok test_it_shows_ignored_nonzero_exitstatus (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_shows_ignored_nonzero_exitstatus) ... ok test_it_shows_oncalendar_schedule (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_shows_oncalendar_schedule) ... ok test_it_truncates_long_body (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_truncates_long_body) ... ok test_it_uses_users_preferred_timezone (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_uses_users_preferred_timezone) ... ok test_it_works (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_works) ... ok test_it_wraps_long_8bit_body (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_wraps_long_8bit_body) ... ok test_it_wraps_long_8bit_mime_part (hc.integrations.email.tests.test_notify.NotifyEmailTestCase.test_it_wraps_long_8bit_mime_part) ... ok test_aged_signature_does_autosubmit (hc.integrations.email.tests.test_unsubscribe.UnsubscribeTestCase.test_aged_signature_does_autosubmit) ... ok test_fresh_signature_does_not_autosubmit (hc.integrations.email.tests.test_unsubscribe.UnsubscribeTestCase.test_fresh_signature_does_not_autosubmit) ... ok test_it_checks_channel_kind (hc.integrations.email.tests.test_unsubscribe.UnsubscribeTestCase.test_it_checks_channel_kind) ... ok test_it_checks_signature (hc.integrations.email.tests.test_unsubscribe.UnsubscribeTestCase.test_it_checks_signature) ... ok test_it_checks_token (hc.integrations.email.tests.test_unsubscribe.UnsubscribeTestCase.test_it_checks_token) ... ok test_it_serves_confirmation_form (hc.integrations.email.tests.test_unsubscribe.UnsubscribeTestCase.test_it_serves_confirmation_form) ... ok test_post_unsubscribes (hc.integrations.email.tests.test_unsubscribe.UnsubscribeTestCase.test_post_unsubscribes) ... ok test_it_handles_bad_token (hc.integrations.email.tests.test_verify.VerifyEmailTestCase.test_it_handles_bad_token) ... ok test_it_works (hc.integrations.email.tests.test_verify.VerifyEmailTestCase.test_it_works) ... ok test_make_token_depends_on_email (hc.integrations.email.tests.test_verify.VerifyEmailTestCase.test_make_token_depends_on_email) ... ok test_missing_channel (hc.integrations.email.tests.test_verify.VerifyEmailTestCase.test_missing_channel) ... ok test_it_requires_client_id (hc.integrations.github.tests.test_add.AddGitHubTestCase.test_it_requires_client_id) ... ok test_it_requires_rw_access (hc.integrations.github.tests.test_add.AddGitHubTestCase.test_it_requires_rw_access) ... ok test_prompt_works (hc.integrations.github.tests.test_add.AddGitHubTestCase.test_prompt_works) ... ok test_it_handles_bad_credentials (hc.integrations.github.tests.test_add_save.AddGitHubSaveTestCase.test_it_handles_bad_credentials) ... ok test_it_handles_empty_form (hc.integrations.github.tests.test_add_save.AddGitHubSaveTestCase.test_it_handles_empty_form) ... ok test_it_handles_no_session (hc.integrations.github.tests.test_add_save.AddGitHubSaveTestCase.test_it_handles_no_session) ... ok test_it_handles_unexpected_repo_name (hc.integrations.github.tests.test_add_save.AddGitHubSaveTestCase.test_it_handles_unexpected_repo_name) ... ok test_it_rejects_get (hc.integrations.github.tests.test_add_save.AddGitHubSaveTestCase.test_it_rejects_get) ... ok test_it_requires_client_id (hc.integrations.github.tests.test_add_save.AddGitHubSaveTestCase.test_it_requires_client_id) ... ok test_it_requires_rw_access (hc.integrations.github.tests.test_add_save.AddGitHubSaveTestCase.test_it_requires_rw_access) ... ok test_it_works (hc.integrations.github.tests.test_add_save.AddGitHubSaveTestCase.test_it_works) ... ok test_it_handles_access_denied (hc.integrations.github.tests.test_add_select.AddGitHubSelectTestCase.test_it_handles_access_denied) ... ok test_it_handles_bad_credentials (hc.integrations.github.tests.test_add_select.AddGitHubSelectTestCase.test_it_handles_bad_credentials) ... ok test_it_handles_missing_code (hc.integrations.github.tests.test_add_select.AddGitHubSelectTestCase.test_it_handles_missing_code) ... ok test_it_handles_no_session (hc.integrations.github.tests.test_add_select.AddGitHubSelectTestCase.test_it_handles_no_session) ... ok test_it_handles_no_state_and_no_token (hc.integrations.github.tests.test_add_select.AddGitHubSelectTestCase.test_it_handles_no_state_and_no_token) ... ok test_it_handles_wrong_state (hc.integrations.github.tests.test_add_select.AddGitHubSelectTestCase.test_it_handles_wrong_state) ... ok test_it_redirects_to_install_page (hc.integrations.github.tests.test_add_select.AddGitHubSelectTestCase.test_it_redirects_to_install_page) ... ok test_it_requires_client_id (hc.integrations.github.tests.test_add_select.AddGitHubSelectTestCase.test_it_requires_client_id) ... ok test_it_requires_rw_access (hc.integrations.github.tests.test_add_select.AddGitHubSelectTestCase.test_it_requires_rw_access) ... ok test_it_skips_oauth_code_exchange (hc.integrations.github.tests.test_add_select.AddGitHubSelectTestCase.test_it_skips_oauth_code_exchange) ... ok test_it_works (hc.integrations.github.tests.test_add_select.AddGitHubSelectTestCase.test_it_works) ... ok test_it_checks_for_backticks_in_body (hc.integrations.github.tests.test_notify.NotifyGitHubTestCase.test_it_checks_for_backticks_in_body) ... ok test_it_disables_channel_on_http_410 (hc.integrations.github.tests.test_notify.NotifyGitHubTestCase.test_it_disables_channel_on_http_410) ... ok test_it_handles_no_access_token (hc.integrations.github.tests.test_notify.NotifyGitHubTestCase.test_it_handles_no_access_token) ... ok test_it_handles_reason_failure (hc.integrations.github.tests.test_notify.NotifyGitHubTestCase.test_it_handles_reason_failure) ... ok test_it_requires_github_private_key (hc.integrations.github.tests.test_notify.NotifyGitHubTestCase.test_it_requires_github_private_key) ... ok test_it_returns_error (hc.integrations.github.tests.test_notify.NotifyGitHubTestCase.test_it_returns_error) ... ok test_it_shows_cron_schedule (hc.integrations.github.tests.test_notify.NotifyGitHubTestCase.test_it_shows_cron_schedule) ... ok test_it_shows_exitstatus (hc.integrations.github.tests.test_notify.NotifyGitHubTestCase.test_it_shows_exitstatus) ... ok test_it_shows_last_ping_body (hc.integrations.github.tests.test_notify.NotifyGitHubTestCase.test_it_shows_last_ping_body) ... ok test_it_shows_oncalendar_schedule (hc.integrations.github.tests.test_notify.NotifyGitHubTestCase.test_it_shows_oncalendar_schedule) ... ok test_it_works (hc.integrations.github.tests.test_notify.NotifyGitHubTestCase.test_it_works) ... ok test_instructions_work (hc.integrations.googlechat.tests.test_add.AddGoogleChatTestCase.test_instructions_work) ... ok test_it_requires_rw_access (hc.integrations.googlechat.tests.test_add.AddGoogleChatTestCase.test_it_requires_rw_access) ... ok test_it_works (hc.integrations.googlechat.tests.test_add.AddGoogleChatTestCase.test_it_works) ... ok test_it_handles_500 (hc.integrations.googlechat.tests.test_notify.NotifyGoogleChatTestCase.test_it_handles_500) ... ok test_it_handles_last_ping_fail (hc.integrations.googlechat.tests.test_notify.NotifyGoogleChatTestCase.test_it_handles_last_ping_fail) ... ok test_it_handles_last_ping_log (hc.integrations.googlechat.tests.test_notify.NotifyGoogleChatTestCase.test_it_handles_last_ping_log) ... ok test_it_handles_reason_failure (hc.integrations.googlechat.tests.test_notify.NotifyGoogleChatTestCase.test_it_handles_reason_failure) ... ok test_it_handles_timeout (hc.integrations.googlechat.tests.test_notify.NotifyGoogleChatTestCase.test_it_handles_timeout) ... ok test_it_reports_down_duration (hc.integrations.googlechat.tests.test_notify.NotifyGoogleChatTestCase.test_it_reports_down_duration) ... ok test_it_shows_cron_schedule_and_tz (hc.integrations.googlechat.tests.test_notify.NotifyGoogleChatTestCase.test_it_shows_cron_schedule_and_tz) ... ok test_it_shows_ignored_nonzero_exitstatus (hc.integrations.googlechat.tests.test_notify.NotifyGoogleChatTestCase.test_it_shows_ignored_nonzero_exitstatus) ... ok test_it_shows_nonzero_exit_status (hc.integrations.googlechat.tests.test_notify.NotifyGoogleChatTestCase.test_it_shows_nonzero_exit_status) ... ok test_it_shows_oncalendar_schedule_and_tz (hc.integrations.googlechat.tests.test_notify.NotifyGoogleChatTestCase.test_it_shows_oncalendar_schedule_and_tz) ... ok test_it_works (hc.integrations.googlechat.tests.test_notify.NotifyGoogleChatTestCase.test_it_works) ... ok test_instructions_work (hc.integrations.gotify.tests.test_add.AddGotifyTestCase.test_instructions_work) ... ok test_it_rejects_bad_url (hc.integrations.gotify.tests.test_add.AddGotifyTestCase.test_it_rejects_bad_url) ... ok test_it_requires_priority_field (hc.integrations.gotify.tests.test_add.AddGotifyTestCase.test_it_requires_priority_field) ... ok test_it_requires_priority_up_field (hc.integrations.gotify.tests.test_add.AddGotifyTestCase.test_it_requires_priority_up_field) ... ok test_it_requires_rw_access (hc.integrations.gotify.tests.test_add.AddGotifyTestCase.test_it_requires_rw_access) ... ok test_it_works (hc.integrations.gotify.tests.test_add.AddGotifyTestCase.test_it_works) ... ok test_instructions_work (hc.integrations.gotify.tests.test_edit.EditGotifyTestCase.test_instructions_work) ... ok test_it_requires_rw_access (hc.integrations.gotify.tests.test_edit.EditGotifyTestCase.test_it_requires_rw_access) ... ok test_it_updates_channel (hc.integrations.gotify.tests.test_edit.EditGotifyTestCase.test_it_updates_channel) ... ok test_it_disables_down_priority (hc.integrations.gotify.tests.test_notify.NotifyGotidyTestCase.test_it_disables_down_priority) ... ok test_it_disables_up_priority (hc.integrations.gotify.tests.test_notify.NotifyGotidyTestCase.test_it_disables_up_priority) ... ok test_it_does_not_show_more_than_10_other_checks (hc.integrations.gotify.tests.test_notify.NotifyGotidyTestCase.test_it_does_not_show_more_than_10_other_checks) ... ok test_it_handles_no_last_ping (hc.integrations.gotify.tests.test_notify.NotifyGotidyTestCase.test_it_handles_no_last_ping) ... ok test_it_handles_other_checks_with_no_last_ping (hc.integrations.gotify.tests.test_notify.NotifyGotidyTestCase.test_it_handles_other_checks_with_no_last_ping) ... ok test_it_handles_reason_fail (hc.integrations.gotify.tests.test_notify.NotifyGotidyTestCase.test_it_handles_reason_fail) ... ok test_it_handles_subpath (hc.integrations.gotify.tests.test_notify.NotifyGotidyTestCase.test_it_handles_subpath) ... ok test_it_handles_subpath_with_missing_slash (hc.integrations.gotify.tests.test_notify.NotifyGotidyTestCase.test_it_handles_subpath_with_missing_slash) ... ok test_it_lists_other_down_checks (hc.integrations.gotify.tests.test_notify.NotifyGotidyTestCase.test_it_lists_other_down_checks) ... ok test_it_reports_down_duration (hc.integrations.gotify.tests.test_notify.NotifyGotidyTestCase.test_it_reports_down_duration) ... ok test_it_shows_all_other_checks_up_note (hc.integrations.gotify.tests.test_notify.NotifyGotidyTestCase.test_it_shows_all_other_checks_up_note) ... ok test_it_uses_configured_priority (hc.integrations.gotify.tests.test_notify.NotifyGotidyTestCase.test_it_uses_configured_priority) ... ok test_it_uses_configured_priority_up (hc.integrations.gotify.tests.test_notify.NotifyGotidyTestCase.test_it_uses_configured_priority_up) ... ok test_it_works (hc.integrations.gotify.tests.test_notify.NotifyGotidyTestCase.test_it_works) ... ok test_instructions_work (hc.integrations.group.tests.test_add.AddGroupTestCase.test_instructions_work) ... ok test_it_creates_channel (hc.integrations.group.tests.test_add.AddGroupTestCase.test_it_creates_channel) ... ok test_it_rejects_another_projects_channel (hc.integrations.group.tests.test_add.AddGroupTestCase.test_it_rejects_another_projects_channel) ... ok test_it_rejects_nonexistent_channel_code (hc.integrations.group.tests.test_add.AddGroupTestCase.test_it_rejects_nonexistent_channel_code) ... ok test_it_requires_rw_access (hc.integrations.group.tests.test_add.AddGroupTestCase.test_it_requires_rw_access) ... ok test_instructions_work (hc.integrations.group.tests.test_edit.EditGroupTestCase.test_instructions_work) ... ok test_it_handles_nonexistent_members_in_value_field (hc.integrations.group.tests.test_edit.EditGroupTestCase.test_it_handles_nonexistent_members_in_value_field) ... ok test_it_requires_rw_access (hc.integrations.group.tests.test_edit.EditGroupTestCase.test_it_requires_rw_access) ... ok test_it_updates_channel (hc.integrations.group.tests.test_edit.EditGroupTestCase.test_it_updates_channel) ... ok test_it_handles_noop (hc.integrations.group.tests.test_notify.NotifyGroupTestCase.test_it_handles_noop) ... ok test_it_ignores_invalid_channels (hc.integrations.group.tests.test_notify.NotifyGroupTestCase.test_it_ignores_invalid_channels) ... ok test_it_reports_failure_count (hc.integrations.group.tests.test_notify.NotifyGroupTestCase.test_it_reports_failure_count) ... ok test_it_works (hc.integrations.group.tests.test_notify.NotifyGroupTestCase.test_it_works) ... ok test_instructions_work (hc.integrations.matrix.tests.test_add.AddMatrixTestCase.test_instructions_work) ... ok test_it_handles_403 (hc.integrations.matrix.tests.test_add.AddMatrixTestCase.test_it_handles_403) ... ok test_it_handles_429 (hc.integrations.matrix.tests.test_add.AddMatrixTestCase.test_it_handles_429) ... ok test_it_handles_502 (hc.integrations.matrix.tests.test_add.AddMatrixTestCase.test_it_handles_502) ... ok test_it_handles_invalid_join_responses (hc.integrations.matrix.tests.test_add.AddMatrixTestCase.test_it_handles_invalid_join_responses) ... ok test_it_requires_access_token (hc.integrations.matrix.tests.test_add.AddMatrixTestCase.test_it_requires_access_token) ... ok test_it_requires_rw_access (hc.integrations.matrix.tests.test_add.AddMatrixTestCase.test_it_requires_rw_access) ... ok test_it_works (hc.integrations.matrix.tests.test_add.AddMatrixTestCase.test_it_works) ... ok test_it_handles_no_last_ping (hc.integrations.matrix.tests.test_notify.NotifyMatrixTestCase.test_it_handles_no_last_ping) ... ok test_it_handles_reason_failure (hc.integrations.matrix.tests.test_notify.NotifyMatrixTestCase.test_it_handles_reason_failure) ... ok test_it_reports_down_duration (hc.integrations.matrix.tests.test_notify.NotifyMatrixTestCase.test_it_reports_down_duration) ... ok test_it_works (hc.integrations.matrix.tests.test_notify.NotifyMatrixTestCase.test_it_works) ... ok test_instructions_work (hc.integrations.mattermost.tests.test_add.AddMattermostTestCase.test_instructions_work) ... ok test_it_handles_disabled_integration (hc.integrations.mattermost.tests.test_add.AddMattermostTestCase.test_it_handles_disabled_integration) ... ok test_it_requires_rw_access (hc.integrations.mattermost.tests.test_add.AddMattermostTestCase.test_it_requires_rw_access) ... ok test_it_works (hc.integrations.mattermost.tests.test_add.AddMattermostTestCase.test_it_works) ... ok test_instructions_work (hc.integrations.mattermost.tests.test_help.AddMattermostHelpTestCase.test_instructions_work) ... ok test_it_requires_mattermost_enabled (hc.integrations.mattermost.tests.test_help.AddMattermostHelpTestCase.test_it_requires_mattermost_enabled) ... ok test_it_does_not_disable_channel_on_404 (hc.integrations.mattermost.tests.test_notify.NotifyMattermostTestCase.test_it_does_not_disable_channel_on_404) ... ok test_it_requires_mattermost_enabled (hc.integrations.mattermost.tests.test_notify.NotifyMattermostTestCase.test_it_requires_mattermost_enabled) ... ok test_it_shows_cron_schedule_and_tz (hc.integrations.mattermost.tests.test_notify.NotifyMattermostTestCase.test_it_shows_cron_schedule_and_tz) ... ok test_it_shows_last_ping_body (hc.integrations.mattermost.tests.test_notify.NotifyMattermostTestCase.test_it_shows_last_ping_body) ... ok test_it_shows_truncated_last_ping_body (hc.integrations.mattermost.tests.test_notify.NotifyMattermostTestCase.test_it_shows_truncated_last_ping_body) ... ok test_it_skips_last_ping_body_with_backticks (hc.integrations.mattermost.tests.test_notify.NotifyMattermostTestCase.test_it_skips_last_ping_body_with_backticks) ... ok test_it_works (hc.integrations.mattermost.tests.test_notify.NotifyMattermostTestCase.test_it_works) ... ok test_instructions_work (hc.integrations.msteamsw.tests.test_add.AddMsTeamsTestCase.test_instructions_work) ... ok test_it_handles_disabled_integration (hc.integrations.msteamsw.tests.test_add.AddMsTeamsTestCase.test_it_handles_disabled_integration) ... ok test_it_requires_rw_access (hc.integrations.msteamsw.tests.test_add.AddMsTeamsTestCase.test_it_requires_rw_access) ... ok test_it_works (hc.integrations.msteamsw.tests.test_add.AddMsTeamsTestCase.test_it_works) ... ok test_it_escapes_special_characters (hc.integrations.msteamsw.tests.test_notify.NotifyMsTeamsTestCase.test_it_escapes_special_characters) ... ok test_it_escapes_stars_in_schedule (hc.integrations.msteamsw.tests.test_notify.NotifyMsTeamsTestCase.test_it_escapes_stars_in_schedule) ... ok test_it_handles_last_ping_fail (hc.integrations.msteamsw.tests.test_notify.NotifyMsTeamsTestCase.test_it_handles_last_ping_fail) ... ok test_it_handles_last_ping_log (hc.integrations.msteamsw.tests.test_notify.NotifyMsTeamsTestCase.test_it_handles_last_ping_log) ... ok test_it_handles_reason_fail (hc.integrations.msteamsw.tests.test_notify.NotifyMsTeamsTestCase.test_it_handles_reason_fail) ... ok test_it_requires_msteams_enabled (hc.integrations.msteamsw.tests.test_notify.NotifyMsTeamsTestCase.test_it_requires_msteams_enabled) ... ok test_it_shows_cron_schedule_and_tz (hc.integrations.msteamsw.tests.test_notify.NotifyMsTeamsTestCase.test_it_shows_cron_schedule_and_tz) ... ok test_it_shows_ignored_nonzero_exitstatus (hc.integrations.msteamsw.tests.test_notify.NotifyMsTeamsTestCase.test_it_shows_ignored_nonzero_exitstatus) ... ok test_it_shows_last_ping_body (hc.integrations.msteamsw.tests.test_notify.NotifyMsTeamsTestCase.test_it_shows_last_ping_body) ... ok test_it_shows_oncalendar_schedule_and_tz (hc.integrations.msteamsw.tests.test_notify.NotifyMsTeamsTestCase.test_it_shows_oncalendar_schedule_and_tz) ... ok test_it_works (hc.integrations.msteamsw.tests.test_notify.NotifyMsTeamsTestCase.test_it_works) ... ok test_instructions_work (hc.integrations.ntfy.tests.test_add.AddNtfyTestCase.test_instructions_work) ... ok test_it_creates_channel (hc.integrations.ntfy.tests.test_add.AddNtfyTestCase.test_it_creates_channel) ... ok test_it_requires_rw_access (hc.integrations.ntfy.tests.test_add.AddNtfyTestCase.test_it_requires_rw_access) ... ok test_it_requires_topic (hc.integrations.ntfy.tests.test_add.AddNtfyTestCase.test_it_requires_topic) ... ok test_it_saves_token (hc.integrations.ntfy.tests.test_add.AddNtfyTestCase.test_it_saves_token) ... ok test_it_validates_url (hc.integrations.ntfy.tests.test_add.AddNtfyTestCase.test_it_validates_url) ... ok test_instructions_work (hc.integrations.ntfy.tests.test_edit.EditNtfyTestCase.test_instructions_work) ... ok test_it_requires_rw_access (hc.integrations.ntfy.tests.test_edit.EditNtfyTestCase.test_it_requires_rw_access) ... ok test_it_updates_channel (hc.integrations.ntfy.tests.test_edit.EditNtfyTestCase.test_it_updates_channel) ... ok test_it_updates_token (hc.integrations.ntfy.tests.test_edit.EditNtfyTestCase.test_it_updates_token) ... ok test_it_does_not_show_more_than_10_other_checks (hc.integrations.ntfy.tests.test_notify.NotifyNtfyTestCase.test_it_does_not_show_more_than_10_other_checks) ... ok test_it_escapes_special_characters_in_message (hc.integrations.ntfy.tests.test_notify.NotifyNtfyTestCase.test_it_escapes_special_characters_in_message) ... ok test_it_handles_other_checks_with_no_last_ping (hc.integrations.ntfy.tests.test_notify.NotifyNtfyTestCase.test_it_handles_other_checks_with_no_last_ping) ... ok test_it_handles_reason_fail (hc.integrations.ntfy.tests.test_notify.NotifyNtfyTestCase.test_it_handles_reason_fail) ... ok test_it_lists_other_down_checks (hc.integrations.ntfy.tests.test_notify.NotifyNtfyTestCase.test_it_lists_other_down_checks) ... ok test_it_obeys_rate_limit (hc.integrations.ntfy.tests.test_notify.NotifyNtfyTestCase.test_it_obeys_rate_limit) ... ok test_it_reports_down_duration (hc.integrations.ntfy.tests.test_notify.NotifyNtfyTestCase.test_it_reports_down_duration) ... ok test_it_reports_last_pings_exit_code (hc.integrations.ntfy.tests.test_notify.NotifyNtfyTestCase.test_it_reports_last_pings_exit_code) ... ok test_it_shows_all_other_checks_up_note (hc.integrations.ntfy.tests.test_notify.NotifyNtfyTestCase.test_it_shows_all_other_checks_up_note) ... ok test_it_shows_cron_schedule_and_tz (hc.integrations.ntfy.tests.test_notify.NotifyNtfyTestCase.test_it_shows_cron_schedule_and_tz) ... ok test_it_shows_oncalendar_schedule_and_tz (hc.integrations.ntfy.tests.test_notify.NotifyNtfyTestCase.test_it_shows_oncalendar_schedule_and_tz) ... ok test_it_uses_access_token (hc.integrations.ntfy.tests.test_notify.NotifyNtfyTestCase.test_it_uses_access_token) ... ok test_it_uses_default_ntfy_sh_token (hc.integrations.ntfy.tests.test_notify.NotifyNtfyTestCase.test_it_uses_default_ntfy_sh_token) ... ok test_it_works (hc.integrations.ntfy.tests.test_notify.NotifyNtfyTestCase.test_it_works) ... ok test_uses_default_token_only_on_ntfy_sh (hc.integrations.ntfy.tests.test_notify.NotifyNtfyTestCase.test_uses_default_token_only_on_ntfy_sh) ... ok test_instructions_work (hc.integrations.opsgenie.tests.test_add.AddOpsgenieTestCase.test_instructions_work) ... ok test_it_handles_disabled_integration (hc.integrations.opsgenie.tests.test_add.AddOpsgenieTestCase.test_it_handles_disabled_integration) ... ok test_it_requires_rw_access (hc.integrations.opsgenie.tests.test_add.AddOpsgenieTestCase.test_it_requires_rw_access) ... ok test_it_saves_eu_region (hc.integrations.opsgenie.tests.test_add.AddOpsgenieTestCase.test_it_saves_eu_region) ... ok test_it_trims_whitespace (hc.integrations.opsgenie.tests.test_add.AddOpsgenieTestCase.test_it_trims_whitespace) ... ok test_it_works (hc.integrations.opsgenie.tests.test_add.AddOpsgenieTestCase.test_it_works) ... ok test_it_handles_no_last_ping (hc.integrations.opsgenie.tests.test_notify.NotifyOpsgenieTestCase.test_it_handles_no_last_ping) ... ok test_it_handles_non_json_error_response (hc.integrations.opsgenie.tests.test_notify.NotifyOpsgenieTestCase.test_it_handles_non_json_error_response) ... ok test_it_handles_oncalendar_schedule (hc.integrations.opsgenie.tests.test_notify.NotifyOpsgenieTestCase.test_it_handles_oncalendar_schedule) ... ok test_it_handles_reason_fail (hc.integrations.opsgenie.tests.test_notify.NotifyOpsgenieTestCase.test_it_handles_reason_fail) ... ok test_it_requires_opsgenie_enabled (hc.integrations.opsgenie.tests.test_notify.NotifyOpsgenieTestCase.test_it_requires_opsgenie_enabled) ... ok test_it_works (hc.integrations.opsgenie.tests.test_notify.NotifyOpsgenieTestCase.test_it_works) ... ok test_opsgenie_returns_error (hc.integrations.opsgenie.tests.test_notify.NotifyOpsgenieTestCase.test_opsgenie_returns_error) ... ok test_opsgenie_up (hc.integrations.opsgenie.tests.test_notify.NotifyOpsgenieTestCase.test_opsgenie_up) ... ok test_opsgenie_with_eu_region (hc.integrations.opsgenie.tests.test_notify.NotifyOpsgenieTestCase.test_opsgenie_with_eu_region) ... ok test_opsgenie_with_legacy_value (hc.integrations.opsgenie.tests.test_notify.NotifyOpsgenieTestCase.test_opsgenie_with_legacy_value) ... ok test_instructions_work (hc.integrations.pagertree.tests.test_add.AddPagerTreeTestCase.test_instructions_work) ... ok test_it_handles_disabled_integration (hc.integrations.pagertree.tests.test_add.AddPagerTreeTestCase.test_it_handles_disabled_integration) ... ok test_it_rejects_bad_url (hc.integrations.pagertree.tests.test_add.AddPagerTreeTestCase.test_it_rejects_bad_url) ... ok test_it_requires_rw_access (hc.integrations.pagertree.tests.test_add.AddPagerTreeTestCase.test_it_requires_rw_access) ... ok test_it_works (hc.integrations.pagertree.tests.test_add.AddPagerTreeTestCase.test_it_works) ... ok test_it_does_not_escape_title (hc.integrations.pagertree.tests.test_notify.NotifyPagertreeTestCase.test_it_does_not_escape_title) ... ok test_it_handles_no_last_ping (hc.integrations.pagertree.tests.test_notify.NotifyPagertreeTestCase.test_it_handles_no_last_ping) ... ok test_it_handles_reason_fail (hc.integrations.pagertree.tests.test_notify.NotifyPagertreeTestCase.test_it_handles_reason_fail) ... ok test_it_requires_pagertree_enabled (hc.integrations.pagertree.tests.test_notify.NotifyPagertreeTestCase.test_it_requires_pagertree_enabled) ... ok test_it_works (hc.integrations.pagertree.tests.test_notify.NotifyPagertreeTestCase.test_it_works) ... ok test_instructions_work (hc.integrations.pd.tests.test_add.AddPdTestCase.test_instructions_work) ... ok test_it_handles_disabled_integration (hc.integrations.pd.tests.test_add.AddPdTestCase.test_it_handles_disabled_integration) ... ok test_it_handles_pd_app_id (hc.integrations.pd.tests.test_add.AddPdTestCase.test_it_handles_pd_app_id) ... ok test_it_requires_rw_access (hc.integrations.pd.tests.test_add.AddPdTestCase.test_it_requires_rw_access) ... ok test_it_trims_whitespace (hc.integrations.pd.tests.test_add.AddPdTestCase.test_it_trims_whitespace) ... ok test_it_works (hc.integrations.pd.tests.test_add.AddPdTestCase.test_it_works) ... ok test_it_adds_channel (hc.integrations.pd.tests.test_add_complete.AddPagerDutyCompleteTestCase.test_it_adds_channel) ... ok test_it_requires_app_id (hc.integrations.pd.tests.test_add_complete.AddPagerDutyCompleteTestCase.test_it_requires_app_id) ... ok test_it_requires_pd_enabled (hc.integrations.pd.tests.test_add_complete.AddPagerDutyCompleteTestCase.test_it_requires_pd_enabled) ... ok test_it_requires_rw_access (hc.integrations.pd.tests.test_add_complete.AddPagerDutyCompleteTestCase.test_it_requires_rw_access) ... ok test_it_validates_state (hc.integrations.pd.tests.test_add_complete.AddPagerDutyCompleteTestCase.test_it_validates_state) ... ok test_instructions_work (hc.integrations.pd.tests.test_help.AddPdcHelpTestCase.test_instructions_work) ... ok test_instructions_work_when_not_logged_in (hc.integrations.pd.tests.test_help.AddPdcHelpTestCase.test_instructions_work_when_not_logged_in) ... ok test_it_requires_vendor_key (hc.integrations.pd.tests.test_help.AddPdcHelpTestCase.test_it_requires_vendor_key) ... ok test_it_does_not_escape_description (hc.integrations.pd.tests.test_notify.NotifyPdTestCase.test_it_does_not_escape_description) ... ok test_it_handles_no_last_ping (hc.integrations.pd.tests.test_notify.NotifyPdTestCase.test_it_handles_no_last_ping) ... ok test_it_handles_reason_fail (hc.integrations.pd.tests.test_notify.NotifyPdTestCase.test_it_handles_reason_fail) ... ok test_it_requires_pd_enabled (hc.integrations.pd.tests.test_notify.NotifyPdTestCase.test_it_requires_pd_enabled) ... ok test_it_shows_cron_schedule_and_tz (hc.integrations.pd.tests.test_notify.NotifyPdTestCase.test_it_shows_cron_schedule_and_tz) ... ok test_it_shows_oncalendar_schedule_and_tz (hc.integrations.pd.tests.test_notify.NotifyPdTestCase.test_it_shows_oncalendar_schedule_and_tz) ... ok test_it_works (hc.integrations.pd.tests.test_notify.NotifyPdTestCase.test_it_works) ... ok test_pd_complex (hc.integrations.pd.tests.test_notify.NotifyPdTestCase.test_pd_complex) ... ok test_it_adds_channel (hc.integrations.po.tests.test_add.AddPushoverTestCase.test_it_adds_channel) ... ok test_it_handles_prio_disabled (hc.integrations.po.tests.test_add.AddPushoverTestCase.test_it_handles_prio_disabled) ... ok test_it_requires_api_token (hc.integrations.po.tests.test_add.AddPushoverTestCase.test_it_requires_api_token) ... ok test_it_requires_authenticated_user (hc.integrations.po.tests.test_add.AddPushoverTestCase.test_it_requires_authenticated_user) ... ok test_it_requires_rw_access (hc.integrations.po.tests.test_add.AddPushoverTestCase.test_it_requires_rw_access) ... ok test_it_shows_form (hc.integrations.po.tests.test_add.AddPushoverTestCase.test_it_shows_form) ... ok test_it_validates_priority (hc.integrations.po.tests.test_add.AddPushoverTestCase.test_it_validates_priority) ... ok test_it_validates_priority_up (hc.integrations.po.tests.test_add.AddPushoverTestCase.test_it_validates_priority_up) ... ok test_it_validates_state (hc.integrations.po.tests.test_add.AddPushoverTestCase.test_it_validates_state) ... ok test_post_redirects (hc.integrations.po.tests.test_add.AddPushoverTestCase.test_post_redirects) ... ok test_instructions_work_without_login (hc.integrations.po.tests.test_help.AddPushoverHelpTestCase.test_instructions_work_without_login) ... ok test_it_requires_api_token (hc.integrations.po.tests.test_help.AddPushoverHelpTestCase.test_it_requires_api_token) ... ok test_it_cancels_emergency_notification (hc.integrations.po.tests.test_notify.NotifyPushoverTestCase.test_it_cancels_emergency_notification) ... ok test_it_does_not_escape_title (hc.integrations.po.tests.test_notify.NotifyPushoverTestCase.test_it_does_not_escape_title) ... ok test_it_does_not_show_more_than_10_other_checks (hc.integrations.po.tests.test_notify.NotifyPushoverTestCase.test_it_does_not_show_more_than_10_other_checks) ... ok test_it_handles_400 (hc.integrations.po.tests.test_notify.NotifyPushoverTestCase.test_it_handles_400) ... ok test_it_handles_500 (hc.integrations.po.tests.test_notify.NotifyPushoverTestCase.test_it_handles_500) ... ok test_it_handles_disabled_priority (hc.integrations.po.tests.test_notify.NotifyPushoverTestCase.test_it_handles_disabled_priority) ... ok test_it_handles_disabled_up_priority (hc.integrations.po.tests.test_notify.NotifyPushoverTestCase.test_it_handles_disabled_up_priority) ... ok test_it_handles_invalid_user (hc.integrations.po.tests.test_notify.NotifyPushoverTestCase.test_it_handles_invalid_user) ... ok test_it_handles_other_checks_with_no_last_ping (hc.integrations.po.tests.test_notify.NotifyPushoverTestCase.test_it_handles_other_checks_with_no_last_ping) ... ok test_it_handles_reason_fail (hc.integrations.po.tests.test_notify.NotifyPushoverTestCase.test_it_handles_reason_fail) ... ok test_it_lists_other_down_checks (hc.integrations.po.tests.test_notify.NotifyPushoverTestCase.test_it_lists_other_down_checks) ... ok test_it_obeys_rate_limit (hc.integrations.po.tests.test_notify.NotifyPushoverTestCase.test_it_obeys_rate_limit) ... ok test_it_reports_down_duration (hc.integrations.po.tests.test_notify.NotifyPushoverTestCase.test_it_reports_down_duration) ... ok test_it_requires_pushover_api_token (hc.integrations.po.tests.test_notify.NotifyPushoverTestCase.test_it_requires_pushover_api_token) ... ok test_it_shows_all_other_checks_up_note (hc.integrations.po.tests.test_notify.NotifyPushoverTestCase.test_it_shows_all_other_checks_up_note) ... ok test_it_shows_cron_schedule (hc.integrations.po.tests.test_notify.NotifyPushoverTestCase.test_it_shows_cron_schedule) ... ok test_it_shows_oncalendar_schedule (hc.integrations.po.tests.test_notify.NotifyPushoverTestCase.test_it_shows_oncalendar_schedule) ... ok test_it_supports_up_priority (hc.integrations.po.tests.test_notify.NotifyPushoverTestCase.test_it_supports_up_priority) ... ok test_it_works (hc.integrations.po.tests.test_notify.NotifyPushoverTestCase.test_it_works) ... ok test_instructions_work (hc.integrations.prometheus.tests.test_add.AddPrometheusTestCase.test_instructions_work) ... ok test_it_handles_disabled_integration (hc.integrations.prometheus.tests.test_add.AddPrometheusTestCase.test_it_handles_disabled_integration) ... ok test_authenticated_request_accepts_bearer_token (hc.integrations.prometheus.tests.test_metrics.MetricsTestCase.test_authenticated_request_accepts_bearer_token) ... ok test_authenticated_request_requires_bearer_token (hc.integrations.prometheus.tests.test_metrics.MetricsTestCase.test_authenticated_request_requires_bearer_token) ... ok test_it_accepts_hashed_ro_key (hc.integrations.prometheus.tests.test_metrics.MetricsTestCase.test_it_accepts_hashed_ro_key) ... ok test_it_checks_api_key (hc.integrations.prometheus.tests.test_metrics.MetricsTestCase.test_it_checks_api_key) ... ok test_it_checks_api_key_length (hc.integrations.prometheus.tests.test_metrics.MetricsTestCase.test_it_checks_api_key_length) ... ok test_it_does_not_mangle_bearer_token (hc.integrations.prometheus.tests.test_metrics.MetricsTestCase.test_it_does_not_mangle_bearer_token) ... ok test_it_escapes_newline (hc.integrations.prometheus.tests.test_metrics.MetricsTestCase.test_it_escapes_newline) ... ok test_it_rejects_hashed_rw_key (hc.integrations.prometheus.tests.test_metrics.MetricsTestCase.test_it_rejects_hashed_rw_key) ... ok test_it_reports_hc_check_grace (hc.integrations.prometheus.tests.test_metrics.MetricsTestCase.test_it_reports_hc_check_grace) ... ok test_it_reports_hc_check_paused (hc.integrations.prometheus.tests.test_metrics.MetricsTestCase.test_it_reports_hc_check_paused) ... ok test_it_reports_hc_check_started (hc.integrations.prometheus.tests.test_metrics.MetricsTestCase.test_it_reports_hc_check_started) ... ok test_it_requires_prometheus_enabled (hc.integrations.prometheus.tests.test_metrics.MetricsTestCase.test_it_requires_prometheus_enabled) ... ok test_it_works (hc.integrations.prometheus.tests.test_metrics.MetricsTestCase.test_it_works) ... ok test_instructions_work (hc.integrations.pushbullet.tests.test_add.AddPushbulletTestCase.test_instructions_work) ... ok test_it_requires_client_id (hc.integrations.pushbullet.tests.test_add.AddPushbulletTestCase.test_it_requires_client_id) ... ok test_it_requires_rw_access (hc.integrations.pushbullet.tests.test_add.AddPushbulletTestCase.test_it_requires_rw_access) ... ok test_it_avoids_csrf (hc.integrations.pushbullet.tests.test_add_complete.AddPushbulletTestCase.test_it_avoids_csrf) ... ok test_it_handles_bad_oauth_response (hc.integrations.pushbullet.tests.test_add_complete.AddPushbulletTestCase.test_it_handles_bad_oauth_response) ... ok test_it_handles_denial (hc.integrations.pushbullet.tests.test_add_complete.AddPushbulletTestCase.test_it_handles_denial) ... ok test_it_handles_oauth_response (hc.integrations.pushbullet.tests.test_add_complete.AddPushbulletTestCase.test_it_handles_oauth_response) ... ok test_it_requires_client_id (hc.integrations.pushbullet.tests.test_add_complete.AddPushbulletTestCase.test_it_requires_client_id) ... ok test_it_requires_rw_access (hc.integrations.pushbullet.tests.test_add_complete.AddPushbulletTestCase.test_it_requires_rw_access) ... ok test_it_escapes_body (hc.integrations.pushbullet.tests.test_notify.NotifyPushbulletTestCase.test_it_escapes_body) ... ok test_it_handles_reason_fail (hc.integrations.pushbullet.tests.test_notify.NotifyPushbulletTestCase.test_it_handles_reason_fail) ... ok test_it_handles_up (hc.integrations.pushbullet.tests.test_notify.NotifyPushbulletTestCase.test_it_handles_up) ... ok test_it_reports_down_duration (hc.integrations.pushbullet.tests.test_notify.NotifyPushbulletTestCase.test_it_reports_down_duration) ... ok test_it_works (hc.integrations.pushbullet.tests.test_notify.NotifyPushbulletTestCase.test_it_works) ... ok test_instructions_work (hc.integrations.rocketchat.tests.test_add.AddRocketChatTestCase.test_instructions_work) ... ok test_it_handles_disabled_integration (hc.integrations.rocketchat.tests.test_add.AddRocketChatTestCase.test_it_handles_disabled_integration) ... ok test_it_requires_rw_access (hc.integrations.rocketchat.tests.test_add.AddRocketChatTestCase.test_it_requires_rw_access) ... ok test_it_works (hc.integrations.rocketchat.tests.test_add.AddRocketChatTestCase.test_it_works) ... ok test_it_does_not_disable_channel_on_404 (hc.integrations.rocketchat.tests.test_notify.NotifyRocketChatTestCase.test_it_does_not_disable_channel_on_404) ... ok test_it_does_not_escape_name (hc.integrations.rocketchat.tests.test_notify.NotifyRocketChatTestCase.test_it_does_not_escape_name) ... ok test_it_handles_reason_fail (hc.integrations.rocketchat.tests.test_notify.NotifyRocketChatTestCase.test_it_handles_reason_fail) ... ok test_it_reports_down_duration (hc.integrations.rocketchat.tests.test_notify.NotifyRocketChatTestCase.test_it_reports_down_duration) ... ok test_it_requires_rocketchat_enabled (hc.integrations.rocketchat.tests.test_notify.NotifyRocketChatTestCase.test_it_requires_rocketchat_enabled) ... ok test_it_shows_cron_schedule_and_tz (hc.integrations.rocketchat.tests.test_notify.NotifyRocketChatTestCase.test_it_shows_cron_schedule_and_tz) ... ok test_it_shows_ignored_nonzero_exitstatus (hc.integrations.rocketchat.tests.test_notify.NotifyRocketChatTestCase.test_it_shows_ignored_nonzero_exitstatus) ... ok test_it_shows_last_ping_body_one_byte (hc.integrations.rocketchat.tests.test_notify.NotifyRocketChatTestCase.test_it_shows_last_ping_body_one_byte) ... ok test_it_shows_last_ping_body_size (hc.integrations.rocketchat.tests.test_notify.NotifyRocketChatTestCase.test_it_shows_last_ping_body_size) ... ok test_it_shows_nonzero_exitstatus (hc.integrations.rocketchat.tests.test_notify.NotifyRocketChatTestCase.test_it_shows_nonzero_exitstatus) ... ok test_it_shows_oncalendar_schedule_and_tz (hc.integrations.rocketchat.tests.test_notify.NotifyRocketChatTestCase.test_it_shows_oncalendar_schedule_and_tz) ... ok test_it_shows_ping_kind_fail (hc.integrations.rocketchat.tests.test_notify.NotifyRocketChatTestCase.test_it_shows_ping_kind_fail) ... ok test_it_works (hc.integrations.rocketchat.tests.test_notify.NotifyRocketChatTestCase.test_it_works) ... ok test_instructions_work (hc.integrations.shell.tests.test_add.AddShellTestCase.test_instructions_work) ... ok test_it_adds_two_commands_and_redirects (hc.integrations.shell.tests.test_add.AddShellTestCase.test_it_adds_two_commands_and_redirects) ... ok test_it_adds_webhook_using_team_access (hc.integrations.shell.tests.test_add.AddShellTestCase.test_it_adds_webhook_using_team_access) ... ok test_it_handles_empty_down_command (hc.integrations.shell.tests.test_add.AddShellTestCase.test_it_handles_empty_down_command) ... ok test_it_is_disabled_by_default (hc.integrations.shell.tests.test_add.AddShellTestCase.test_it_is_disabled_by_default) ... ok test_it_requires_rw_access (hc.integrations.shell.tests.test_add.AddShellTestCase.test_it_requires_rw_access) ... ok test_shell (hc.integrations.shell.tests.test_notify.NotifyTestCase.test_shell) ... ok test_shell_disabled (hc.integrations.shell.tests.test_notify.NotifyTestCase.test_shell_disabled) ... ok test_shell_escapes_name (hc.integrations.shell.tests.test_notify.NotifyTestCase.test_shell_escapes_name) ... ok test_shell_escapes_tag1 (hc.integrations.shell.tests.test_notify.NotifyTestCase.test_shell_escapes_tag1) ... ok test_shell_escapes_tags (hc.integrations.shell.tests.test_notify.NotifyTestCase.test_shell_escapes_tags) ... ok test_shell_handles_nonzero_exit_code (hc.integrations.shell.tests.test_notify.NotifyTestCase.test_shell_handles_nonzero_exit_code) ... ok test_shell_supports_variables (hc.integrations.shell.tests.test_notify.NotifyTestCase.test_shell_supports_variables) ... ok test_instructions_work (hc.integrations.signal.tests.test_add.AddSignalTestCase.test_instructions_work) ... ok test_it_creates_channel (hc.integrations.signal.tests.test_add.AddSignalTestCase.test_it_creates_channel) ... ok test_it_handles_disabled_integration (hc.integrations.signal.tests.test_add.AddSignalTestCase.test_it_handles_disabled_integration) ... ok test_it_handles_down_false_up_true (hc.integrations.signal.tests.test_add.AddSignalTestCase.test_it_handles_down_false_up_true) ... ok test_it_handles_username (hc.integrations.signal.tests.test_add.AddSignalTestCase.test_it_handles_username) ... ok test_it_rejects_bad_phone (hc.integrations.signal.tests.test_add.AddSignalTestCase.test_it_rejects_bad_phone) ... ok test_it_rejects_bad_username (hc.integrations.signal.tests.test_add.AddSignalTestCase.test_it_rejects_bad_username) ... ok test_it_rejects_unchecked_up_and_down (hc.integrations.signal.tests.test_add.AddSignalTestCase.test_it_rejects_unchecked_up_and_down) ... ok test_it_requires_rw_access (hc.integrations.signal.tests.test_add.AddSignalTestCase.test_it_requires_rw_access) ... ok test_it_strips_hyphens (hc.integrations.signal.tests.test_add.AddSignalTestCase.test_it_strips_hyphens) ... ok test_it_strips_invisible_formatting_characters (hc.integrations.signal.tests.test_add.AddSignalTestCase.test_it_strips_invisible_formatting_characters) ... ok test_it_strips_spaces (hc.integrations.signal.tests.test_add.AddSignalTestCase.test_it_strips_spaces) ... ok test_instructions_work (hc.integrations.signal.tests.test_edit.EditSignalTestCase.test_instructions_work) ... ok test_it_handles_disabled_integration (hc.integrations.signal.tests.test_edit.EditSignalTestCase.test_it_handles_disabled_integration) ... ok test_it_handles_username (hc.integrations.signal.tests.test_edit.EditSignalTestCase.test_it_handles_username) ... ok test_it_requires_rw_access (hc.integrations.signal.tests.test_edit.EditSignalTestCase.test_it_requires_rw_access) ... ok test_it_updates_channel (hc.integrations.signal.tests.test_edit.EditSignalTestCase.test_it_updates_channel) ... ok test_it_checks_jsonrpc_id (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_checks_jsonrpc_id) ... ERROR test_it_does_not_escape_special_characters (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_does_not_escape_special_characters) ... ERROR test_it_does_not_show_more_than_10_other_checks (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_does_not_show_more_than_10_other_checks) ... ERROR test_it_handles_error_code (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_handles_error_code) ... ERROR test_it_handles_host_port (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_handles_host_port) ... ok test_it_handles_missing_jsonrpc_id (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_handles_missing_jsonrpc_id) ... ERROR test_it_handles_null_data (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_handles_null_data) ... ERROR test_it_handles_oserror (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_handles_oserror) ... ERROR test_it_handles_other_checks_with_no_last_ping (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_handles_other_checks_with_no_last_ping) ... ERROR test_it_handles_rate_limit_failure (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_handles_rate_limit_failure) ... ERROR test_it_handles_reason_fail (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_handles_reason_fail) ... ERROR test_it_handles_special_characters (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_handles_special_characters) ... ERROR test_it_handles_unexpected_payload (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_handles_unexpected_payload) ... ERROR test_it_handles_unregistered_and_null_number (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_handles_unregistered_and_null_number) ... ERROR test_it_handles_unregistered_failure (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_handles_unregistered_failure) ... ERROR test_it_handles_username (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_handles_username) ... ERROR test_it_lists_other_down_checks (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_lists_other_down_checks) ... ERROR test_it_obeys_down_flag (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_obeys_down_flag) ... ok test_it_obeys_rate_limit (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_obeys_rate_limit) ... ok test_it_reports_down_duration (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_reports_down_duration) ... ERROR test_it_requires_signal_cli_socket (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_requires_signal_cli_socket) ... ok test_it_retries_network_failure (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_retries_network_failure) ... ERROR test_it_shows_all_other_checks_up_note (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_shows_all_other_checks_up_note) ... ERROR test_it_shows_cron_schedule_and_tz (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_shows_cron_schedule_and_tz) ... ERROR test_it_shows_exitstatus (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_shows_exitstatus) ... ERROR test_it_shows_oncalendar_schedule_and_tz (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_shows_oncalendar_schedule_and_tz) ... ERROR test_it_works (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_works) ... ERROR test_it_checks_jsonrpc_id (hc.integrations.signal.tests.test_signal_captcha.SignalCaptchaTestCase.test_it_checks_jsonrpc_id) ... ERROR test_it_removes_protocol_prefix (hc.integrations.signal.tests.test_signal_captcha.SignalCaptchaTestCase.test_it_removes_protocol_prefix) ... ERROR test_it_requires_signal_cli_socket (hc.integrations.signal.tests.test_signal_captcha.SignalCaptchaTestCase.test_it_requires_signal_cli_socket) ... ok test_it_requires_superuser (hc.integrations.signal.tests.test_signal_captcha.SignalCaptchaTestCase.test_it_requires_superuser) ... ok test_it_works (hc.integrations.signal.tests.test_signal_captcha.SignalCaptchaTestCase.test_it_works) ... ERROR test_it_handles_invalid_phone_number (hc.integrations.signal.tests.test_verify_signal_number.VerifySignalNumberTestCase.test_it_handles_invalid_phone_number) ... ok test_it_handles_rate_limit (hc.integrations.signal.tests.test_verify_signal_number.VerifySignalNumberTestCase.test_it_handles_rate_limit) ... ok test_it_handles_recipient_not_found (hc.integrations.signal.tests.test_verify_signal_number.VerifySignalNumberTestCase.test_it_handles_recipient_not_found) ... ok test_it_handles_unhandled_error (hc.integrations.signal.tests.test_verify_signal_number.VerifySignalNumberTestCase.test_it_handles_unhandled_error) ... ok test_it_obeys_per_account_rate_limit (hc.integrations.signal.tests.test_verify_signal_number.VerifySignalNumberTestCase.test_it_obeys_per_account_rate_limit) ... ok test_it_obeys_per_recipient_rate_limit (hc.integrations.signal.tests.test_verify_signal_number.VerifySignalNumberTestCase.test_it_obeys_per_recipient_rate_limit) ... ok test_it_requires_authenticated_user (hc.integrations.signal.tests.test_verify_signal_number.VerifySignalNumberTestCase.test_it_requires_authenticated_user) ... ok test_it_requires_post (hc.integrations.signal.tests.test_verify_signal_number.VerifySignalNumberTestCase.test_it_requires_post) ... ok test_it_works (hc.integrations.signal.tests.test_verify_signal_number.VerifySignalNumberTestCase.test_it_works) ... ok test_instructions_work (hc.integrations.slack.tests.test_add.AddSlackTestCase.test_instructions_work) ... ok test_it_handles_disabled_integration (hc.integrations.slack.tests.test_add.AddSlackTestCase.test_it_handles_disabled_integration) ... ok test_it_rejects_bad_url (hc.integrations.slack.tests.test_add.AddSlackTestCase.test_it_rejects_bad_url) ... ok test_it_requires_rw_access (hc.integrations.slack.tests.test_add.AddSlackTestCase.test_it_requires_rw_access) ... ok test_it_works (hc.integrations.slack.tests.test_add.AddSlackTestCase.test_it_works) ... ok test_instructions_work (hc.integrations.slack.tests.test_add_btn.AddSlackBtnTestCase.test_instructions_work) ... ok test_it_handles_disabled_integration (hc.integrations.slack.tests.test_add_btn.AddSlackBtnTestCase.test_it_handles_disabled_integration) ... ok test_it_requires_client_id (hc.integrations.slack.tests.test_add_btn.AddSlackBtnTestCase.test_it_requires_client_id) ... ok test_it_requires_rw_access (hc.integrations.slack.tests.test_add_btn.AddSlackBtnTestCase.test_it_requires_rw_access) ... ok test_slack_button (hc.integrations.slack.tests.test_add_btn.AddSlackBtnTestCase.test_slack_button) ... ok test_it_avoids_csrf (hc.integrations.slack.tests.test_add_complete.AddSlackCompleteTestCase.test_it_avoids_csrf) ... ok test_it_handles_oauth_error (hc.integrations.slack.tests.test_add_complete.AddSlackCompleteTestCase.test_it_handles_oauth_error) ... ok test_it_handles_oauth_response (hc.integrations.slack.tests.test_add_complete.AddSlackCompleteTestCase.test_it_handles_oauth_response) ... ok test_it_handles_unexpected_oauth_response (hc.integrations.slack.tests.test_add_complete.AddSlackCompleteTestCase.test_it_handles_unexpected_oauth_response) ... ok test_it_requires_client_id (hc.integrations.slack.tests.test_add_complete.AddSlackCompleteTestCase.test_it_requires_client_id) ... ok test_it_requires_rw_access (hc.integrations.slack.tests.test_add_complete.AddSlackCompleteTestCase.test_it_requires_rw_access) ... ok test_it_requires_slack_enabled (hc.integrations.slack.tests.test_add_complete.AddSlackCompleteTestCase.test_it_requires_slack_enabled) ... ok test_instructions_work (hc.integrations.slack.tests.test_help.AddSlackHelpTestCase.test_instructions_work) ... ok test_it_requires_client_id (hc.integrations.slack.tests.test_help.AddSlackHelpTestCase.test_it_requires_client_id) ... ok test_it_disables_channel_on_400_invalid_token (hc.integrations.slack.tests.test_notify.NotifySlackTestCase.test_it_disables_channel_on_400_invalid_token) ... ok test_it_disables_channel_on_404 (hc.integrations.slack.tests.test_notify.NotifySlackTestCase.test_it_disables_channel_on_404) ... ok test_it_handles_500 (hc.integrations.slack.tests.test_notify.NotifySlackTestCase.test_it_handles_500) ... ok test_it_handles_last_ping_fail (hc.integrations.slack.tests.test_notify.NotifySlackTestCase.test_it_handles_last_ping_fail) ... ok test_it_handles_last_ping_log (hc.integrations.slack.tests.test_notify.NotifySlackTestCase.test_it_handles_last_ping_log) ... ok test_it_handles_reason_failure (hc.integrations.slack.tests.test_notify.NotifySlackTestCase.test_it_handles_reason_failure) ... ok test_it_handles_timeout (hc.integrations.slack.tests.test_notify.NotifySlackTestCase.test_it_handles_timeout) ... ok test_it_logs_unexpected_400 (hc.integrations.slack.tests.test_notify.NotifySlackTestCase.test_it_logs_unexpected_400) ... ok test_it_reports_down_duration (hc.integrations.slack.tests.test_notify.NotifySlackTestCase.test_it_reports_down_duration) ... ok test_it_requires_slack_enabled (hc.integrations.slack.tests.test_notify.NotifySlackTestCase.test_it_requires_slack_enabled) ... ok test_it_shows_cron_schedule_and_tz (hc.integrations.slack.tests.test_notify.NotifySlackTestCase.test_it_shows_cron_schedule_and_tz) ... ok test_it_shows_ignored_nonzero_exitstatus (hc.integrations.slack.tests.test_notify.NotifySlackTestCase.test_it_shows_ignored_nonzero_exitstatus) ... ok test_it_shows_last_ping_body (hc.integrations.slack.tests.test_notify.NotifySlackTestCase.test_it_shows_last_ping_body) ... ok test_it_shows_nonzero_exit_status (hc.integrations.slack.tests.test_notify.NotifySlackTestCase.test_it_shows_nonzero_exit_status) ... ok test_it_shows_oncalendar_schedule_and_tz (hc.integrations.slack.tests.test_notify.NotifySlackTestCase.test_it_shows_oncalendar_schedule_and_tz) ... ok test_it_shows_truncated_last_ping_body (hc.integrations.slack.tests.test_notify.NotifySlackTestCase.test_it_shows_truncated_last_ping_body) ... ok test_it_skips_last_ping_body_with_backticks (hc.integrations.slack.tests.test_notify.NotifySlackTestCase.test_it_skips_last_ping_body_with_backticks) ... ok test_it_works (hc.integrations.slack.tests.test_notify.NotifySlackTestCase.test_it_works) ... ok test_slack_with_complex_value (hc.integrations.slack.tests.test_notify.NotifySlackTestCase.test_slack_with_complex_value) ... ok test_slack_with_tabs_in_schedule (hc.integrations.slack.tests.test_notify.NotifySlackTestCase.test_slack_with_tabs_in_schedule) ... ok test_instructions_work (hc.integrations.sms.tests.test_add.AddSmsTestCase.test_instructions_work) ... ok test_it_creates_channel (hc.integrations.sms.tests.test_add.AddSmsTestCase.test_it_creates_channel) ... ok test_it_handles_down_false_up_true (hc.integrations.sms.tests.test_add.AddSmsTestCase.test_it_handles_down_false_up_true) ... ok test_it_rejects_bad_number (hc.integrations.sms.tests.test_add.AddSmsTestCase.test_it_rejects_bad_number) ... ok test_it_rejects_unchecked_up_and_down (hc.integrations.sms.tests.test_add.AddSmsTestCase.test_it_rejects_unchecked_up_and_down) ... ok test_it_requires_credentials (hc.integrations.sms.tests.test_add.AddSmsTestCase.test_it_requires_credentials) ... ok test_it_requires_rw_access (hc.integrations.sms.tests.test_add.AddSmsTestCase.test_it_requires_rw_access) ... ok test_it_strips_hyphens (hc.integrations.sms.tests.test_add.AddSmsTestCase.test_it_strips_hyphens) ... ok test_it_strips_invisible_formatting_characters (hc.integrations.sms.tests.test_add.AddSmsTestCase.test_it_strips_invisible_formatting_characters) ... ok test_it_strips_spaces (hc.integrations.sms.tests.test_add.AddSmsTestCase.test_it_strips_spaces) ... ok test_it_warns_about_limits (hc.integrations.sms.tests.test_add.AddSmsTestCase.test_it_warns_about_limits) ... ok test_instructions_work (hc.integrations.sms.tests.test_edit.EditSmsTestCase.test_instructions_work) ... ok test_it_requires_credentials (hc.integrations.sms.tests.test_edit.EditSmsTestCase.test_it_requires_credentials) ... ok test_it_requires_rw_access (hc.integrations.sms.tests.test_edit.EditSmsTestCase.test_it_requires_rw_access) ... ok test_it_updates_channel (hc.integrations.sms.tests.test_edit.EditSmsTestCase.test_it_updates_channel) ... ok test_it_disables_channel_on_21211 (hc.integrations.sms.tests.test_notify.NotifySmsTestCase.test_it_disables_channel_on_21211) ... ok test_it_does_not_escape_special_characters (hc.integrations.sms.tests.test_notify.NotifySmsTestCase.test_it_does_not_escape_special_characters) ... ok test_it_enforces_limit (hc.integrations.sms.tests.test_notify.NotifySmsTestCase.test_it_enforces_limit) ... ok test_it_handles_disabled_down_notification (hc.integrations.sms.tests.test_notify.NotifySmsTestCase.test_it_handles_disabled_down_notification) ... ok test_it_handles_no_last_ping (hc.integrations.sms.tests.test_notify.NotifySmsTestCase.test_it_handles_no_last_ping) ... ok test_it_handles_reason_fail (hc.integrations.sms.tests.test_notify.NotifySmsTestCase.test_it_handles_reason_fail) ... ok test_it_reports_down_duration (hc.integrations.sms.tests.test_notify.NotifySmsTestCase.test_it_reports_down_duration) ... ok test_it_requires_twilio_configuration (hc.integrations.sms.tests.test_notify.NotifySmsTestCase.test_it_requires_twilio_configuration) ... ok test_it_resets_limit_next_month (hc.integrations.sms.tests.test_notify.NotifySmsTestCase.test_it_resets_limit_next_month) ... ok test_it_sends_up_notification (hc.integrations.sms.tests.test_notify.NotifySmsTestCase.test_it_sends_up_notification) ... ok test_it_uses_messaging_service (hc.integrations.sms.tests.test_notify.NotifySmsTestCase.test_it_uses_messaging_service) ... ok test_it_works (hc.integrations.sms.tests.test_notify.NotifySmsTestCase.test_it_works) ... ok test_limit_notice_handles_escaping (hc.integrations.sms.tests.test_notify.NotifySmsTestCase.test_limit_notice_handles_escaping) ... ok test_instructions_work (hc.integrations.spike.tests.test_add.AddSpikeTestCase.test_instructions_work) ... ok test_it_rejects_bad_url (hc.integrations.spike.tests.test_add.AddSpikeTestCase.test_it_rejects_bad_url) ... ok test_it_requires_rw_access (hc.integrations.spike.tests.test_add.AddSpikeTestCase.test_it_requires_rw_access) ... ok test_it_requires_spike_enabled (hc.integrations.spike.tests.test_add.AddSpikeTestCase.test_it_requires_spike_enabled) ... ok test_it_works (hc.integrations.spike.tests.test_add.AddSpikeTestCase.test_it_works) ... ok test_it_does_not_escape (hc.integrations.spike.tests.test_notify.NotifySpikeTestCase.test_it_does_not_escape) ... ok test_it_handles_no_last_ping (hc.integrations.spike.tests.test_notify.NotifySpikeTestCase.test_it_handles_no_last_ping) ... ok test_it_handles_reason_fail (hc.integrations.spike.tests.test_notify.NotifySpikeTestCase.test_it_handles_reason_fail) ... ok test_it_requires_spike_enabled (hc.integrations.spike.tests.test_notify.NotifySpikeTestCase.test_it_requires_spike_enabled) ... ok test_it_works (hc.integrations.spike.tests.test_notify.NotifySpikeTestCase.test_it_works) ... ok test_bot_handles_bad_message (hc.integrations.telegram.tests.test_add.AddTelegramTestCase.test_bot_handles_bad_message) ... ok test_bot_handles_channel_post (hc.integrations.telegram.tests.test_add.AddTelegramTestCase.test_bot_handles_channel_post) ... ok test_bot_handles_send_failure (hc.integrations.telegram.tests.test_add.AddTelegramTestCase.test_bot_handles_send_failure) ... ok test_bot_sends_invite (hc.integrations.telegram.tests.test_add.AddTelegramTestCase.test_bot_sends_invite) ... ok test_bot_sends_invite_to_thread (hc.integrations.telegram.tests.test_add.AddTelegramTestCase.test_bot_sends_invite_to_thread) ... ok test_instructions_work (hc.integrations.telegram.tests.test_add.AddTelegramTestCase.test_instructions_work) ... ok test_it_handles_bad_signature (hc.integrations.telegram.tests.test_add.AddTelegramTestCase.test_it_handles_bad_signature) ... ok test_it_requires_rw_access (hc.integrations.telegram.tests.test_add.AddTelegramTestCase.test_it_requires_rw_access) ... ok test_it_requires_token (hc.integrations.telegram.tests.test_add.AddTelegramTestCase.test_it_requires_token) ... ok test_it_saves_thread_id (hc.integrations.telegram.tests.test_add.AddTelegramTestCase.test_it_saves_thread_id) ... ok test_it_shows_confirmation (hc.integrations.telegram.tests.test_add.AddTelegramTestCase.test_it_shows_confirmation) ... ok test_it_works (hc.integrations.telegram.tests.test_add.AddTelegramTestCase.test_it_works) ... ok test_it_disables_channel_on_403 (hc.integrations.telegram.tests.test_notify.NotifyTelegramTestCase.test_it_disables_channel_on_403) ... ok test_it_disables_channel_on_chat_not_found (hc.integrations.telegram.tests.test_notify.NotifyTelegramTestCase.test_it_disables_channel_on_chat_not_found) ... ok test_it_does_not_disable_on_unknown_400 (hc.integrations.telegram.tests.test_notify.NotifyTelegramTestCase.test_it_does_not_disable_on_unknown_400) ... ok test_it_does_not_disable_on_unknown_403 (hc.integrations.telegram.tests.test_notify.NotifyTelegramTestCase.test_it_does_not_disable_on_unknown_403) ... ok test_it_does_not_show_more_than_10_other_checks (hc.integrations.telegram.tests.test_notify.NotifyTelegramTestCase.test_it_does_not_show_more_than_10_other_checks) ... ok test_it_escapes_html (hc.integrations.telegram.tests.test_notify.NotifyTelegramTestCase.test_it_escapes_html) ... ok test_it_handles_group_supergroup_migration (hc.integrations.telegram.tests.test_notify.NotifyTelegramTestCase.test_it_handles_group_supergroup_migration) ... ok test_it_handles_non_json_error (hc.integrations.telegram.tests.test_notify.NotifyTelegramTestCase.test_it_handles_non_json_error) ... ok test_it_handles_other_checks_with_no_last_ping (hc.integrations.telegram.tests.test_notify.NotifyTelegramTestCase.test_it_handles_other_checks_with_no_last_ping) ... ok test_it_handles_reason_failure (hc.integrations.telegram.tests.test_notify.NotifyTelegramTestCase.test_it_handles_reason_failure) ... ok test_it_lists_other_down_checks (hc.integrations.telegram.tests.test_notify.NotifyTelegramTestCase.test_it_lists_other_down_checks) ... ok test_it_obeys_rate_limit (hc.integrations.telegram.tests.test_notify.NotifyTelegramTestCase.test_it_obeys_rate_limit) ... ok test_it_reports_down_duration (hc.integrations.telegram.tests.test_notify.NotifyTelegramTestCase.test_it_reports_down_duration) ... ok test_it_returns_error (hc.integrations.telegram.tests.test_notify.NotifyTelegramTestCase.test_it_returns_error) ... ok test_it_sends_to_thread (hc.integrations.telegram.tests.test_notify.NotifyTelegramTestCase.test_it_sends_to_thread) ... ok test_it_shows_all_other_checks_up_note (hc.integrations.telegram.tests.test_notify.NotifyTelegramTestCase.test_it_shows_all_other_checks_up_note) ... ok test_it_shows_cron_schedule (hc.integrations.telegram.tests.test_notify.NotifyTelegramTestCase.test_it_shows_cron_schedule) ... ok test_it_shows_exitstatus (hc.integrations.telegram.tests.test_notify.NotifyTelegramTestCase.test_it_shows_exitstatus) ... ok test_it_shows_last_ping_body (hc.integrations.telegram.tests.test_notify.NotifyTelegramTestCase.test_it_shows_last_ping_body) ... ok test_it_shows_oncalendar_schedule (hc.integrations.telegram.tests.test_notify.NotifyTelegramTestCase.test_it_shows_oncalendar_schedule) ... ok test_it_shows_truncated_last_ping_body (hc.integrations.telegram.tests.test_notify.NotifyTelegramTestCase.test_it_shows_truncated_last_ping_body) ... ok test_it_works (hc.integrations.telegram.tests.test_notify.NotifyTelegramTestCase.test_it_works) ... ok test_instructions_work (hc.integrations.trello.tests.test_add.AddTrelloTestCase.test_instructions_work) ... ok test_it_handles_1000_char_token (hc.integrations.trello.tests.test_add.AddTrelloTestCase.test_it_handles_1000_char_token) ... ok test_it_handles_opaque_token (hc.integrations.trello.tests.test_add.AddTrelloTestCase.test_it_handles_opaque_token) ... ok test_it_requires_board_name (hc.integrations.trello.tests.test_add.AddTrelloTestCase.test_it_requires_board_name) ... ok test_it_requires_rw_access (hc.integrations.trello.tests.test_add.AddTrelloTestCase.test_it_requires_rw_access) ... ok test_it_requires_trello_app_key (hc.integrations.trello.tests.test_add.AddTrelloTestCase.test_it_requires_trello_app_key) ... ok test_it_works (hc.integrations.trello.tests.test_add.AddTrelloTestCase.test_it_works) ... ok test_it_does_not_escape_name (hc.integrations.trello.tests.test_notify.NotifyTrelloTestCase.test_it_does_not_escape_name) ... ok test_it_handles_no_last_ping (hc.integrations.trello.tests.test_notify.NotifyTrelloTestCase.test_it_handles_no_last_ping) ... ok test_it_requires_trello_app_key (hc.integrations.trello.tests.test_notify.NotifyTrelloTestCase.test_it_requires_trello_app_key) ... ok test_it_shows_cron_schedule_and_tz (hc.integrations.trello.tests.test_notify.NotifyTrelloTestCase.test_it_shows_cron_schedule_and_tz) ... ok test_it_shows_oncalendar_schedule (hc.integrations.trello.tests.test_notify.NotifyTrelloTestCase.test_it_shows_oncalendar_schedule) ... ok test_it_works (hc.integrations.trello.tests.test_notify.NotifyTrelloTestCase.test_it_works) ... ok test_it_handles_no_lists (hc.integrations.trello.tests.test_settings.AddTrelloTestCase.test_it_handles_no_lists) ... ok test_it_handles_unexpected_response_from_trello (hc.integrations.trello.tests.test_settings.AddTrelloTestCase.test_it_handles_unexpected_response_from_trello) ... ok test_it_requires_trello_app_key (hc.integrations.trello.tests.test_settings.AddTrelloTestCase.test_it_requires_trello_app_key) ... ok test_it_works (hc.integrations.trello.tests.test_settings.AddTrelloTestCase.test_it_works) ... ok test_instructions_work (hc.integrations.victorops.tests.test_add.AddVictorOpsTestCase.test_instructions_work) ... ok test_it_handles_disabled_integration (hc.integrations.victorops.tests.test_add.AddVictorOpsTestCase.test_it_handles_disabled_integration) ... ok test_it_rejects_bad_url (hc.integrations.victorops.tests.test_add.AddVictorOpsTestCase.test_it_rejects_bad_url) ... ok test_it_requires_rw_access (hc.integrations.victorops.tests.test_add.AddVictorOpsTestCase.test_it_requires_rw_access) ... ok test_it_works (hc.integrations.victorops.tests.test_add.AddVictorOpsTestCase.test_it_works) ... ok test_it_disables_channel_on_404 (hc.integrations.victorops.tests.test_notify.NotifyVictorOpsTestCase.test_it_disables_channel_on_404) ... ok test_it_does_not_escape_description (hc.integrations.victorops.tests.test_notify.NotifyVictorOpsTestCase.test_it_does_not_escape_description) ... ok test_it_does_not_retry_404 (hc.integrations.victorops.tests.test_notify.NotifyVictorOpsTestCase.test_it_does_not_retry_404) ... ok test_it_handles_no_last_ping (hc.integrations.victorops.tests.test_notify.NotifyVictorOpsTestCase.test_it_handles_no_last_ping) ... ok test_it_handles_reason_fail (hc.integrations.victorops.tests.test_notify.NotifyVictorOpsTestCase.test_it_handles_reason_fail) ... ok test_it_requires_victorops_enabled (hc.integrations.victorops.tests.test_notify.NotifyVictorOpsTestCase.test_it_requires_victorops_enabled) ... ok test_it_works (hc.integrations.victorops.tests.test_notify.NotifyVictorOpsTestCase.test_it_works) ... ok test_instructions_work (hc.integrations.webhook.tests.test_add.AddWebhookTestCase.test_instructions_work) ... ok test_it_accepts_good_urls (hc.integrations.webhook.tests.test_add.AddWebhookTestCase.test_it_accepts_good_urls) ... ok test_it_adds_headers (hc.integrations.webhook.tests.test_add.AddWebhookTestCase.test_it_adds_headers) ... ok test_it_adds_request_body (hc.integrations.webhook.tests.test_add.AddWebhookTestCase.test_it_adds_request_body) ... ok test_it_adds_two_webhook_urls_and_redirects (hc.integrations.webhook.tests.test_add.AddWebhookTestCase.test_it_adds_two_webhook_urls_and_redirects) ... ok test_it_adds_webhook_using_team_access (hc.integrations.webhook.tests.test_add.AddWebhookTestCase.test_it_adds_webhook_using_team_access) ... ok test_it_handles_disabled_integration (hc.integrations.webhook.tests.test_add.AddWebhookTestCase.test_it_handles_disabled_integration) ... ok test_it_handles_empty_down_url (hc.integrations.webhook.tests.test_add.AddWebhookTestCase.test_it_handles_empty_down_url) ... ok test_it_rejects_bad_headers (hc.integrations.webhook.tests.test_add.AddWebhookTestCase.test_it_rejects_bad_headers) ... ok test_it_rejects_bad_urls (hc.integrations.webhook.tests.test_add.AddWebhookTestCase.test_it_rejects_bad_urls) ... ok test_it_rejects_both_empty (hc.integrations.webhook.tests.test_add.AddWebhookTestCase.test_it_rejects_both_empty) ... ok test_it_rejects_non_latin1_in_header_name (hc.integrations.webhook.tests.test_add.AddWebhookTestCase.test_it_rejects_non_latin1_in_header_name) ... ok test_it_requires_rw_access (hc.integrations.webhook.tests.test_add.AddWebhookTestCase.test_it_requires_rw_access) ... ok test_it_saves_name (hc.integrations.webhook.tests.test_add.AddWebhookTestCase.test_it_saves_name) ... ok test_it_strips_headers (hc.integrations.webhook.tests.test_add.AddWebhookTestCase.test_it_strips_headers) ... ok test_it_requires_kind_webhook (hc.integrations.webhook.tests.test_edit.EditWebhookTestCase.test_it_requires_kind_webhook) ... ok test_it_requires_rw_access (hc.integrations.webhook.tests.test_edit.EditWebhookTestCase.test_it_requires_rw_access) ... ok test_it_saves_form_and_redirects (hc.integrations.webhook.tests.test_edit.EditWebhookTestCase.test_it_saves_form_and_redirects) ... ok test_it_shows_form (hc.integrations.webhook.tests.test_edit.EditWebhookTestCase.test_it_shows_form) ... ok test_it_requires_webhooks_enabled (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_it_requires_webhooks_enabled) ... ok test_webhook (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhook) ... ok test_webhooks_accept_http_205 (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_accept_http_205) HTTP 205 Reset Content is a 2xx status and must not be treated as an error. ... ok test_webhooks_allow_user_agent_override (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_allow_user_agent_override) ... ok test_webhooks_do_not_escape_body_variable (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_do_not_escape_body_variable) ... ok test_webhooks_do_not_escape_name_variable (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_do_not_escape_name_variable) ... ok test_webhooks_dollarsign_escaping (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_dollarsign_escaping) ... ok test_webhooks_dont_retry_when_sending_test_notifications (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_dont_retry_when_sending_test_notifications) ... ok test_webhooks_dont_support_body_variable_in_url_and_headers (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_dont_support_body_variable_in_url_and_headers) ... ok test_webhooks_handle_500 (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_handle_500) ... ok test_webhooks_handle_curl_errors (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_handle_curl_errors) ... ok test_webhooks_handle_exitstatus_variable_with_last_ping_missing (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_handle_exitstatus_variable_with_last_ping_missing) ... ok test_webhooks_handle_get_headers (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_handle_get_headers) ... ok test_webhooks_handle_latin1_in_headers (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_handle_latin1_in_headers) ... ok test_webhooks_handle_non_ascii_in_headers (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_handle_non_ascii_in_headers) ... ok test_webhooks_handle_noop_up_events (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_handle_noop_up_events) ... ok test_webhooks_handle_null_exitstatus (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_handle_null_exitstatus) ... ok test_webhooks_handle_post_headers (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_handle_post_headers) ... ok test_webhooks_handle_unicode_post_body (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_handle_unicode_post_body) ... ok test_webhooks_handle_up_events (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_handle_up_events) ... ok test_webhooks_handle_variable_variables (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_handle_variable_variables) ... ok test_webhooks_support_body_json_variable (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_support_body_json_variable) ... ok test_webhooks_support_body_variable_in_body (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_support_body_variable_in_body) ... ok test_webhooks_support_exitstatus_variable (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_support_exitstatus_variable) ... ok test_webhooks_support_json_variable (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_support_json_variable) ... ok test_webhooks_support_name_json_variable (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_support_name_json_variable) ... ok test_webhooks_support_post (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_support_post) ... ok test_webhooks_support_variables (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_support_variables) ... ok test_webhooks_support_variables_in_headers (hc.integrations.webhook.tests.test_notify.NotifyWebhookTestCase.test_webhooks_support_variables_in_headers) ... ok test_instructions_work (hc.integrations.whatsapp.tests.test_add.AddWhatsAppTestCase.test_instructions_work) ... ok test_it_creates_channel (hc.integrations.whatsapp.tests.test_add.AddWhatsAppTestCase.test_it_creates_channel) ... ok test_it_handles_down_false_up_true (hc.integrations.whatsapp.tests.test_add.AddWhatsAppTestCase.test_it_handles_down_false_up_true) ... ok test_it_obeys_use_whatsapp_flag (hc.integrations.whatsapp.tests.test_add.AddWhatsAppTestCase.test_it_obeys_use_whatsapp_flag) ... ok test_it_rejects_unchecked_up_and_down (hc.integrations.whatsapp.tests.test_add.AddWhatsAppTestCase.test_it_rejects_unchecked_up_and_down) ... ok test_it_requires_rw_access (hc.integrations.whatsapp.tests.test_add.AddWhatsAppTestCase.test_it_requires_rw_access) ... ok test_it_warns_about_limits (hc.integrations.whatsapp.tests.test_add.AddWhatsAppTestCase.test_it_warns_about_limits) ... ok test_instructions_work (hc.integrations.whatsapp.tests.test_edit.EditWhatsAppTestCase.test_instructions_work) ... ok test_it_obeys_use_whatsapp_flag (hc.integrations.whatsapp.tests.test_edit.EditWhatsAppTestCase.test_it_obeys_use_whatsapp_flag) ... ok test_it_requires_rw_access (hc.integrations.whatsapp.tests.test_edit.EditWhatsAppTestCase.test_it_requires_rw_access) ... ok test_it_updates_channel (hc.integrations.whatsapp.tests.test_edit.EditWhatsAppTestCase.test_it_updates_channel) ... ok test_it_disables_channel_on_21211 (hc.integrations.whatsapp.tests.test_notify.NotifyWhatsAppTestCase.test_it_disables_channel_on_21211) ... ok test_it_does_not_escape_special_characters (hc.integrations.whatsapp.tests.test_notify.NotifyWhatsAppTestCase.test_it_does_not_escape_special_characters) ... ok test_it_enforces_limit (hc.integrations.whatsapp.tests.test_notify.NotifyWhatsAppTestCase.test_it_enforces_limit) ... ok test_it_handles_last_ping_now (hc.integrations.whatsapp.tests.test_notify.NotifyWhatsAppTestCase.test_it_handles_last_ping_now) ... ok test_it_obeys_up_down_flags (hc.integrations.whatsapp.tests.test_notify.NotifyWhatsAppTestCase.test_it_obeys_up_down_flags) ... ok test_it_requires_content_template_sids (hc.integrations.whatsapp.tests.test_notify.NotifyWhatsAppTestCase.test_it_requires_content_template_sids) ... ok test_it_requires_twilio_account (hc.integrations.whatsapp.tests.test_notify.NotifyWhatsAppTestCase.test_it_requires_twilio_account) ... ok test_it_works (hc.integrations.whatsapp.tests.test_notify.NotifyWhatsAppTestCase.test_it_works) ... ok test_instructions_work (hc.integrations.zulip.tests.test_add.AddZulipTestCase.test_instructions_work) ... ok test_it_handles_disabled_integration (hc.integrations.zulip.tests.test_add.AddZulipTestCase.test_it_handles_disabled_integration) ... ok test_it_rejects_bad_email (hc.integrations.zulip.tests.test_add.AddZulipTestCase.test_it_rejects_bad_email) ... ok test_it_rejects_bad_mtype (hc.integrations.zulip.tests.test_add.AddZulipTestCase.test_it_rejects_bad_mtype) ... ok test_it_rejects_malformed_site (hc.integrations.zulip.tests.test_add.AddZulipTestCase.test_it_rejects_malformed_site) ... ok test_it_rejects_missing_api_key (hc.integrations.zulip.tests.test_add.AddZulipTestCase.test_it_rejects_missing_api_key) ... ok test_it_rejects_missing_site (hc.integrations.zulip.tests.test_add.AddZulipTestCase.test_it_rejects_missing_site) ... ok test_it_rejects_missing_stream_name (hc.integrations.zulip.tests.test_add.AddZulipTestCase.test_it_rejects_missing_stream_name) ... ok test_it_requires_rw_access (hc.integrations.zulip.tests.test_add.AddZulipTestCase.test_it_requires_rw_access) ... ok test_it_works (hc.integrations.zulip.tests.test_add.AddZulipTestCase.test_it_works) ... ok test_it_does_not_escape_topic (hc.integrations.zulip.tests.test_notify.NotifyZulipTestCase.test_it_does_not_escape_topic) ... ok test_it_handles_no_last_ping (hc.integrations.zulip.tests.test_notify.NotifyZulipTestCase.test_it_handles_no_last_ping) ... ok test_it_handles_non_json_error_response (hc.integrations.zulip.tests.test_notify.NotifyZulipTestCase.test_it_handles_non_json_error_response) ... ok test_it_handles_reason_fail (hc.integrations.zulip.tests.test_notify.NotifyZulipTestCase.test_it_handles_reason_fail) ... ok test_it_reports_down_duration (hc.integrations.zulip.tests.test_notify.NotifyZulipTestCase.test_it_reports_down_duration) ... ok test_it_requires_zulip_enabled (hc.integrations.zulip.tests.test_notify.NotifyZulipTestCase.test_it_requires_zulip_enabled) ... ok test_it_returns_error (hc.integrations.zulip.tests.test_notify.NotifyZulipTestCase.test_it_returns_error) ... ok test_it_sends_to_user_id (hc.integrations.zulip.tests.test_notify.NotifyZulipTestCase.test_it_sends_to_user_id) ... ok test_it_uses_custom_topic (hc.integrations.zulip.tests.test_notify.NotifyZulipTestCase.test_it_uses_custom_topic) ... ok test_it_uses_site_parameter (hc.integrations.zulip.tests.test_notify.NotifyZulipTestCase.test_it_uses_site_parameter) ... ok test_it_works (hc.integrations.zulip.tests.test_notify.NotifyZulipTestCase.test_it_works) ... ok test_get_object_handles_invalidresponseerror (hc.lib.tests.test_s3.S3TestCase.test_get_object_handles_invalidresponseerror) ... ok test_get_object_handles_no_s3_configuration (hc.lib.tests.test_s3.S3TestCase.test_get_object_handles_no_s3_configuration) ... ok test_get_object_handles_nosuchkey (hc.lib.tests.test_s3.S3TestCase.test_get_object_handles_nosuchkey) ... ok test_get_object_handles_s3error (hc.lib.tests.test_s3.S3TestCase.test_get_object_handles_s3error) ... ok test_get_object_handles_urllib_exceptions (hc.lib.tests.test_s3.S3TestCase.test_get_object_handles_urllib_exceptions) ... ok test_it_handles_deleted_channel (hc.api.tests.test_notify.NotifyTestCase.test_it_handles_deleted_channel) ... ok test_unexpected_channel_kind_raises_not_implemented (hc.api.tests.test_notify.NotifyTestCase.test_unexpected_channel_kind_raises_not_implemented) ... ok test_get_width_works (hc.lib.tests.test_badges.BadgesTestCase.test_get_width_works) ... ok test_it_generates_absolute_url (hc.lib.tests.test_badges.BadgesTestCase.test_it_generates_absolute_url) ... ok test_it_makes_svg (hc.lib.tests.test_badges.BadgesTestCase.test_it_makes_svg) ... ok test_it_uses_decimal_dot (hc.lib.tests.test_badges.BadgesTestCase.test_it_uses_decimal_dot) ... ok test_get_works (hc.lib.tests.test_curl.CurlTestCase.test_get_works) ... ok test_it_accepts_private_ip (hc.lib.tests.test_curl.CurlTestCase.test_it_accepts_private_ip) ... ok test_it_allows_custom_ua (hc.lib.tests.test_curl.CurlTestCase.test_it_allows_custom_ua) ... ok test_it_encodes_header_values_to_latin1 (hc.lib.tests.test_curl.CurlTestCase.test_it_encodes_header_values_to_latin1) ... ok test_it_handles_auth (hc.lib.tests.test_curl.CurlTestCase.test_it_handles_auth) ... ok test_it_handles_params (hc.lib.tests.test_curl.CurlTestCase.test_it_handles_params) ... ok test_it_posts_bytes (hc.lib.tests.test_curl.CurlTestCase.test_it_posts_bytes) ... ok test_it_posts_form (hc.lib.tests.test_curl.CurlTestCase.test_it_posts_form) ... ok test_it_posts_json (hc.lib.tests.test_curl.CurlTestCase.test_it_posts_json) ... ok test_it_posts_str (hc.lib.tests.test_curl.CurlTestCase.test_it_posts_str) ... ok test_it_puts_bytes (hc.lib.tests.test_curl.CurlTestCase.test_it_puts_bytes) ... ok test_it_puts_form (hc.lib.tests.test_curl.CurlTestCase.test_it_puts_form) ... ok test_it_puts_json (hc.lib.tests.test_curl.CurlTestCase.test_it_puts_json) ... ok test_it_puts_str (hc.lib.tests.test_curl.CurlTestCase.test_it_puts_str) ... ok test_it_rejects_private_ip (hc.lib.tests.test_curl.CurlTestCase.test_it_rejects_private_ip) ... ok test_it_sets_timeout (hc.lib.tests.test_curl.CurlTestCase.test_it_sets_timeout) ... ok test_it_handles_default (hc.front.tests.test_hc_extras.AbsoluteSiteLogoUrlTestCase.test_it_handles_default) ... ok test_it_handles_default_with_subpath (hc.front.tests.test_hc_extras.AbsoluteSiteLogoUrlTestCase.test_it_handles_default_with_subpath) ... ok test_it_handles_external_url (hc.front.tests.test_hc_extras.AbsoluteSiteLogoUrlTestCase.test_it_handles_external_url) ... ok test_it_handles_leading_slash (hc.front.tests.test_hc_extras.AbsoluteSiteLogoUrlTestCase.test_it_handles_leading_slash) ... ok test_it_handles_leading_slash_with_subpath (hc.front.tests.test_hc_extras.AbsoluteSiteLogoUrlTestCase.test_it_handles_leading_slash_with_subpath) ... ok test_hc_duration_works (hc.front.tests.test_hc_extras.HcExtrasTestCase.test_hc_duration_works) ... ok test_it_handles_hashed_key (hc.front.tests.test_hc_extras.MaskKeyTestCase.test_it_handles_hashed_key) ... ok test_it_works (hc.front.tests.test_hc_extras.MaskKeyTestCase.test_it_works) ... ok test_it_handles_subpath (hc.front.tests.test_hc_extras.SiteHostnameTestCase.test_it_handles_subpath) ... ok test_it_works (hc.front.tests.test_hc_extras.SiteHostnameTestCase.test_it_works) ... ok test_days_work (hc.lib.tests.test_date.ApproxFormattingTestCase.test_days_work) ... ok test_hours_work (hc.lib.tests.test_date.ApproxFormattingTestCase.test_hours_work) ... ok test_minutes_work (hc.lib.tests.test_date.ApproxFormattingTestCase.test_minutes_work) ... ok test_one_day_works (hc.lib.tests.test_date.ApproxFormattingTestCase.test_one_day_works) ... ok test_hours_work (hc.lib.tests.test_date.DateFormattingTestCase.test_hours_work) ... ok test_mins_secs_work (hc.lib.tests.test_date.DateFormattingTestCase.test_mins_secs_work) ... ok test_sub_second_works (hc.lib.tests.test_date.DateFormattingTestCase.test_sub_second_works) ... ok test_non_utc_works (hc.lib.tests.test_date.DayBoundaryTestCase.test_non_utc_works) ... ok test_utc_works (hc.lib.tests.test_date.DayBoundaryTestCase.test_utc_works) ... ok test_it_works (hc.lib.tests.test_date.ForSentenceFormattingTestCase.test_it_works) ... ok test_non_utc_works (hc.lib.tests.test_date.MonthBoundaryTestCase.test_non_utc_works) ... ok test_utc_works (hc.lib.tests.test_date.MonthBoundaryTestCase.test_utc_works) ... ok test_it_handles_dst_extra_hour (hc.lib.tests.test_date.SecondsInMonthTestCase.test_it_handles_dst_extra_hour) ... ok test_it_handles_dst_skipped_hour (hc.lib.tests.test_date.SecondsInMonthTestCase.test_it_handles_dst_skipped_hour) ... ok test_utc_works (hc.lib.tests.test_date.SecondsInMonthTestCase.test_utc_works) ... ok test_non_utc_works (hc.lib.tests.test_date.WeekBoundaryTestCase.test_non_utc_works) ... ok test_utc_works (hc.lib.tests.test_date.WeekBoundaryTestCase.test_utc_works) ... ok test_it_limits_retries (hc.lib.tests.test_emails.EmailsTestCase.test_it_limits_retries) ... ok test_it_requires_smtp_configuration (hc.lib.tests.test_emails.EmailsTestCase.test_it_requires_smtp_configuration) ... ok test_it_retries (hc.lib.tests.test_emails.EmailsTestCase.test_it_retries) ... ok test_it_retries_smtp_data_error (hc.lib.tests.test_emails.EmailsTestCase.test_it_retries_smtp_data_error) ... ok test_b_works (hc.lib.tests.test_html.ExtractSignalTestCase.test_b_works) ... ok test_code_works (hc.lib.tests.test_html.ExtractSignalTestCase.test_code_works) ... ok test_it_rejects_mismatched_tags (hc.lib.tests.test_html.ExtractSignalTestCase.test_it_rejects_mismatched_tags) ... ok test_it_unescapes_html (hc.lib.tests.test_html.ExtractSignalTestCase.test_it_unescapes_html) ... ok test_it_does_not_inject_whitespace (hc.lib.tests.test_html.Html2TextTestCase.test_it_does_not_inject_whitespace) ... ok test_it_works (hc.lib.tests.test_html.Html2TextTestCase.test_it_works) ... ok test_it_does_not_exceed_64_characters (hc.lib.tests.test_signing.SignBounceIdTestCase.test_it_does_not_exceed_64_characters) ... ok test_it_allows_lowercase (hc.lib.tests.test_signing.SigningTestCase.test_it_allows_lowercase) ... ok test_it_works (hc.lib.tests.test_signing.SigningTestCase.test_it_works) ... ok test_it_handles_invalid_signature (hc.lib.tests.test_signing.UnsignBounceIdTestCase.test_it_handles_invalid_signature) ... ok test_it_handles_valid_shorthextimestampsigner_output (hc.lib.tests.test_signing.UnsignBounceIdTestCase.test_it_handles_valid_shorthextimestampsigner_output) ... ok test_it_initializes_noop_client (hc.lib.tests.test_statsd.StatsdTestCase.test_it_initializes_noop_client) ... ok test_it_initializes_udp_client (hc.lib.tests.test_statsd.StatsdTestCase.test_it_initializes_udp_client) ... ok test_it_parses_port (hc.lib.tests.test_statsd.StatsdTestCase.test_it_parses_port) ... ok test_it_ignores_overlapping_placeholders (hc.lib.tests.test_string.StringTestCase.test_it_ignores_overlapping_placeholders) ... ok test_it_ignores_placeholders_in_values (hc.lib.tests.test_string.StringTestCase.test_it_ignores_placeholders_in_values) ... ok test_it_preserves_non_placeholder_dollar_signs (hc.lib.tests.test_string.StringTestCase.test_it_preserves_non_placeholder_dollar_signs) ... ok test_it_works (hc.lib.tests.test_string.StringTestCase.test_it_works) ... ok ====================================================================== ERROR: test_it_notifies_channel (hc.accounts.tests.test_senddeletionscheduled.SendDeletionScheduledTestCase.test_it_notifies_channel) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\accounts\tests\test_senddeletionscheduled.py", line 108, in test_it_notifies_channel cmd.handle() ~~~~~~~~~~^^ File "\hc\accounts\management\commands\senddeletionscheduled.py", line 89, in handle self.send_channel_notifications(profile, skip_emails=recipients) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "\hc\accounts\management\commands\senddeletionscheduled.py", line 39, in send_channel_notifications formatted = profile.deletion_scheduled_date.strftime("%B %-d, %Y") ValueError: Invalid format string ====================================================================== ERROR: test_it_skips_email_channels_of_team_members (hc.accounts.tests.test_senddeletionscheduled.SendDeletionScheduledTestCase.test_it_skips_email_channels_of_team_members) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\accounts\tests\test_senddeletionscheduled.py", line 131, in test_it_skips_email_channels_of_team_members cmd.handle() ~~~~~~~~~~^^ File "\hc\accounts\management\commands\senddeletionscheduled.py", line 89, in handle self.send_channel_notifications(profile, skip_emails=recipients) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "\hc\accounts\management\commands\senddeletionscheduled.py", line 39, in send_channel_notifications formatted = profile.deletion_scheduled_date.strftime("%B %-d, %Y") ValueError: Invalid format string ====================================================================== ERROR: test_it_checks_jsonrpc_id (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_checks_jsonrpc_id) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\integrations\signal\tests\test_notify.py", line 450, in test_it_checks_jsonrpc_id self.channel.notify(self.flip) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "\hc\api\models.py", line 1172, in notify self.transport.notify(flip, notification=n) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 179, in notify return self.send(self.channel.phone.value, text) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 78, in send for reply_bytes in cls._read_replies(payload_bytes): ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 130, in _read_replies stype = socket.AF_UNIX ^^^^^^^^^^^^^^ AttributeError: module 'socket' has no attribute 'AF_UNIX' ====================================================================== ERROR: test_it_does_not_escape_special_characters (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_does_not_escape_special_characters) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\integrations\signal\tests\test_notify.py", line 268, in test_it_does_not_escape_special_characters self.channel.notify(self.flip) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "\hc\api\models.py", line 1172, in notify self.transport.notify(flip, notification=n) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 179, in notify return self.send(self.channel.phone.value, text) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 78, in send for reply_bytes in cls._read_replies(payload_bytes): ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 130, in _read_replies stype = socket.AF_UNIX ^^^^^^^^^^^^^^ AttributeError: module 'socket' has no attribute 'AF_UNIX' ====================================================================== ERROR: test_it_does_not_show_more_than_10_other_checks (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_does_not_show_more_than_10_other_checks) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\integrations\signal\tests\test_notify.py", line 338, in test_it_does_not_show_more_than_10_other_checks self.channel.notify(self.flip) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "\hc\api\models.py", line 1172, in notify self.transport.notify(flip, notification=n) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 179, in notify return self.send(self.channel.phone.value, text) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 78, in send for reply_bytes in cls._read_replies(payload_bytes): ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 130, in _read_replies stype = socket.AF_UNIX ^^^^^^^^^^^^^^ AttributeError: module 'socket' has no attribute 'AF_UNIX' ====================================================================== ERROR: test_it_handles_error_code (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_handles_error_code) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\integrations\signal\tests\test_notify.py", line 422, in test_it_handles_error_code self.channel.notify(self.flip) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "\hc\api\models.py", line 1172, in notify self.transport.notify(flip, notification=n) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 179, in notify return self.send(self.channel.phone.value, text) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 78, in send for reply_bytes in cls._read_replies(payload_bytes): ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 130, in _read_replies stype = socket.AF_UNIX ^^^^^^^^^^^^^^ AttributeError: module 'socket' has no attribute 'AF_UNIX' ====================================================================== ERROR: test_it_handles_missing_jsonrpc_id (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_handles_missing_jsonrpc_id) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\integrations\signal\tests\test_notify.py", line 463, in test_it_handles_missing_jsonrpc_id self.channel.notify(self.flip) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "\hc\api\models.py", line 1172, in notify self.transport.notify(flip, notification=n) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 179, in notify return self.send(self.channel.phone.value, text) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 78, in send for reply_bytes in cls._read_replies(payload_bytes): ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 130, in _read_replies stype = socket.AF_UNIX ^^^^^^^^^^^^^^ AttributeError: module 'socket' has no attribute 'AF_UNIX' ====================================================================== ERROR: test_it_handles_null_data (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_handles_null_data) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\integrations\signal\tests\test_notify.py", line 536, in test_it_handles_null_data self.channel.notify(self.flip) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "\hc\api\models.py", line 1172, in notify self.transport.notify(flip, notification=n) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 179, in notify return self.send(self.channel.phone.value, text) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 78, in send for reply_bytes in cls._read_replies(payload_bytes): ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 130, in _read_replies stype = socket.AF_UNIX ^^^^^^^^^^^^^^ AttributeError: module 'socket' has no attribute 'AF_UNIX' ====================================================================== ERROR: test_it_handles_oserror (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_handles_oserror) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\integrations\signal\tests\test_notify.py", line 438, in test_it_handles_oserror self.channel.notify(self.flip) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "\hc\api\models.py", line 1172, in notify self.transport.notify(flip, notification=n) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 179, in notify return self.send(self.channel.phone.value, text) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 78, in send for reply_bytes in cls._read_replies(payload_bytes): ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 130, in _read_replies stype = socket.AF_UNIX ^^^^^^^^^^^^^^ AttributeError: module 'socket' has no attribute 'AF_UNIX' ====================================================================== ERROR: test_it_handles_other_checks_with_no_last_ping (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_handles_other_checks_with_no_last_ping) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\integrations\signal\tests\test_notify.py", line 322, in test_it_handles_other_checks_with_no_last_ping self.channel.notify(self.flip) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "\hc\api\models.py", line 1172, in notify self.transport.notify(flip, notification=n) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 179, in notify return self.send(self.channel.phone.value, text) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 78, in send for reply_bytes in cls._read_replies(payload_bytes): ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 130, in _read_replies stype = socket.AF_UNIX ^^^^^^^^^^^^^^ AttributeError: module 'socket' has no attribute 'AF_UNIX' ====================================================================== ERROR: test_it_handles_rate_limit_failure (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_handles_rate_limit_failure) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\.venv\Lib\site-packages\django\test\utils.py", line 471, in inner return func(*args, **kwargs) File "\hc\integrations\signal\tests\test_notify.py", line 495, in test_it_handles_rate_limit_failure self.channel.notify(self.flip) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "\hc\api\models.py", line 1172, in notify self.transport.notify(flip, notification=n) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 179, in notify return self.send(self.channel.phone.value, text) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 78, in send for reply_bytes in cls._read_replies(payload_bytes): ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 130, in _read_replies stype = socket.AF_UNIX ^^^^^^^^^^^^^^ AttributeError: module 'socket' has no attribute 'AF_UNIX' ====================================================================== ERROR: test_it_handles_reason_fail (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_handles_reason_fail) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\integrations\signal\tests\test_notify.py", line 146, in test_it_handles_reason_fail self.channel.notify(self.flip) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "\hc\api\models.py", line 1172, in notify self.transport.notify(flip, notification=n) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 179, in notify return self.send(self.channel.phone.value, text) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 78, in send for reply_bytes in cls._read_replies(payload_bytes): ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 130, in _read_replies stype = socket.AF_UNIX ^^^^^^^^^^^^^^ AttributeError: module 'socket' has no attribute 'AF_UNIX' ====================================================================== ERROR: test_it_handles_special_characters (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_handles_special_characters) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\integrations\signal\tests\test_notify.py", line 221, in test_it_handles_special_characters self.channel.notify(self.flip) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "\hc\api\models.py", line 1172, in notify self.transport.notify(flip, notification=n) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 179, in notify return self.send(self.channel.phone.value, text) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 78, in send for reply_bytes in cls._read_replies(payload_bytes): ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 130, in _read_replies stype = socket.AF_UNIX ^^^^^^^^^^^^^^ AttributeError: module 'socket' has no attribute 'AF_UNIX' ====================================================================== ERROR: test_it_handles_unexpected_payload (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_handles_unexpected_payload) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\integrations\signal\tests\test_notify.py", line 348, in test_it_handles_unexpected_payload self.channel.notify(self.flip) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "\hc\api\models.py", line 1172, in notify self.transport.notify(flip, notification=n) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 179, in notify return self.send(self.channel.phone.value, text) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 78, in send for reply_bytes in cls._read_replies(payload_bytes): ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 130, in _read_replies stype = socket.AF_UNIX ^^^^^^^^^^^^^^ AttributeError: module 'socket' has no attribute 'AF_UNIX' ====================================================================== ERROR: test_it_handles_unregistered_and_null_number (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_handles_unregistered_and_null_number) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\integrations\signal\tests\test_notify.py", line 409, in test_it_handles_unregistered_and_null_number self.channel.notify(self.flip) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "\hc\api\models.py", line 1172, in notify self.transport.notify(flip, notification=n) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 179, in notify return self.send(self.channel.phone.value, text) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 78, in send for reply_bytes in cls._read_replies(payload_bytes): ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 130, in _read_replies stype = socket.AF_UNIX ^^^^^^^^^^^^^^ AttributeError: module 'socket' has no attribute 'AF_UNIX' ====================================================================== ERROR: test_it_handles_unregistered_failure (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_handles_unregistered_failure) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\integrations\signal\tests\test_notify.py", line 374, in test_it_handles_unregistered_failure self.channel.notify(self.flip) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "\hc\api\models.py", line 1172, in notify self.transport.notify(flip, notification=n) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 179, in notify return self.send(self.channel.phone.value, text) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 78, in send for reply_bytes in cls._read_replies(payload_bytes): ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 130, in _read_replies stype = socket.AF_UNIX ^^^^^^^^^^^^^^ AttributeError: module 'socket' has no attribute 'AF_UNIX' ====================================================================== ERROR: test_it_handles_username (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_handles_username) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\integrations\signal\tests\test_notify.py", line 574, in test_it_handles_username self.channel.notify(self.flip) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "\hc\api\models.py", line 1172, in notify self.transport.notify(flip, notification=n) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 179, in notify return self.send(self.channel.phone.value, text) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 78, in send for reply_bytes in cls._read_replies(payload_bytes): ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 130, in _read_replies stype = socket.AF_UNIX ^^^^^^^^^^^^^^ AttributeError: module 'socket' has no attribute 'AF_UNIX' ====================================================================== ERROR: test_it_lists_other_down_checks (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_lists_other_down_checks) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\integrations\signal\tests\test_notify.py", line 309, in test_it_lists_other_down_checks self.channel.notify(self.flip) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "\hc\api\models.py", line 1172, in notify self.transport.notify(flip, notification=n) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 179, in notify return self.send(self.channel.phone.value, text) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 78, in send for reply_bytes in cls._read_replies(payload_bytes): ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 130, in _read_replies stype = socket.AF_UNIX ^^^^^^^^^^^^^^ AttributeError: module 'socket' has no attribute 'AF_UNIX' ====================================================================== ERROR: test_it_reports_down_duration (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_reports_down_duration) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\integrations\signal\tests\test_notify.py", line 161, in test_it_reports_down_duration self.channel.notify(up_flip) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^ File "\hc\api\models.py", line 1172, in notify self.transport.notify(flip, notification=n) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 179, in notify return self.send(self.channel.phone.value, text) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 78, in send for reply_bytes in cls._read_replies(payload_bytes): ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 130, in _read_replies stype = socket.AF_UNIX ^^^^^^^^^^^^^^ AttributeError: module 'socket' has no attribute 'AF_UNIX' ====================================================================== ERROR: test_it_retries_network_failure (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_retries_network_failure) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\integrations\signal\tests\test_notify.py", line 560, in test_it_retries_network_failure self.channel.notify(self.flip) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "\hc\api\models.py", line 1172, in notify self.transport.notify(flip, notification=n) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 179, in notify return self.send(self.channel.phone.value, text) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 78, in send for reply_bytes in cls._read_replies(payload_bytes): ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 130, in _read_replies stype = socket.AF_UNIX ^^^^^^^^^^^^^^ AttributeError: module 'socket' has no attribute 'AF_UNIX' ====================================================================== ERROR: test_it_shows_all_other_checks_up_note (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_shows_all_other_checks_up_note) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\integrations\signal\tests\test_notify.py", line 294, in test_it_shows_all_other_checks_up_note self.channel.notify(self.flip) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "\hc\api\models.py", line 1172, in notify self.transport.notify(flip, notification=n) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 179, in notify return self.send(self.channel.phone.value, text) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 78, in send for reply_bytes in cls._read_replies(payload_bytes): ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 130, in _read_replies stype = socket.AF_UNIX ^^^^^^^^^^^^^^ AttributeError: module 'socket' has no attribute 'AF_UNIX' ====================================================================== ERROR: test_it_shows_cron_schedule_and_tz (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_shows_cron_schedule_and_tz) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\integrations\signal\tests\test_notify.py", line 190, in test_it_shows_cron_schedule_and_tz self.channel.notify(self.flip) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "\hc\api\models.py", line 1172, in notify self.transport.notify(flip, notification=n) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 179, in notify return self.send(self.channel.phone.value, text) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 78, in send for reply_bytes in cls._read_replies(payload_bytes): ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 130, in _read_replies stype = socket.AF_UNIX ^^^^^^^^^^^^^^ AttributeError: module 'socket' has no attribute 'AF_UNIX' ====================================================================== ERROR: test_it_shows_exitstatus (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_shows_exitstatus) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\integrations\signal\tests\test_notify.py", line 174, in test_it_shows_exitstatus self.channel.notify(self.flip) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "\hc\api\models.py", line 1172, in notify self.transport.notify(flip, notification=n) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 179, in notify return self.send(self.channel.phone.value, text) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 78, in send for reply_bytes in cls._read_replies(payload_bytes): ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 130, in _read_replies stype = socket.AF_UNIX ^^^^^^^^^^^^^^ AttributeError: module 'socket' has no attribute 'AF_UNIX' ====================================================================== ERROR: test_it_shows_oncalendar_schedule_and_tz (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_shows_oncalendar_schedule_and_tz) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\integrations\signal\tests\test_notify.py", line 204, in test_it_shows_oncalendar_schedule_and_tz self.channel.notify(self.flip) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "\hc\api\models.py", line 1172, in notify self.transport.notify(flip, notification=n) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 179, in notify return self.send(self.channel.phone.value, text) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 78, in send for reply_bytes in cls._read_replies(payload_bytes): ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 130, in _read_replies stype = socket.AF_UNIX ^^^^^^^^^^^^^^ AttributeError: module 'socket' has no attribute 'AF_UNIX' ====================================================================== ERROR: test_it_works (hc.integrations.signal.tests.test_notify.NotifySignalTestCase.test_it_works) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\integrations\signal\tests\test_notify.py", line 117, in test_it_works self.channel.notify(self.flip) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "\hc\api\models.py", line 1172, in notify self.transport.notify(flip, notification=n) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 179, in notify return self.send(self.channel.phone.value, text) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 78, in send for reply_bytes in cls._read_replies(payload_bytes): ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 130, in _read_replies stype = socket.AF_UNIX ^^^^^^^^^^^^^^ AttributeError: module 'socket' has no attribute 'AF_UNIX' ====================================================================== ERROR: test_it_checks_jsonrpc_id (hc.integrations.signal.tests.test_signal_captcha.SignalCaptchaTestCase.test_it_checks_jsonrpc_id) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\integrations\signal\tests\test_signal_captcha.py", line 115, in test_it_checks_jsonrpc_id r = self.client.post(self.url, {"challenge": "foo", "captcha": "bar"}) File "\.venv\Lib\site-packages\django\test\client.py", line 1157, in post response = super().post( path, ...<5 lines>... **extra, ) File "\.venv\Lib\site-packages\django\test\client.py", line 499, in post return self.generic( ~~~~~~~~~~~~^ "POST", ^^^^^^^ ...<6 lines>... **extra, ^^^^^^^^ ) ^ File "\.venv\Lib\site-packages\django\test\client.py", line 671, in generic return self.request(**r) ~~~~~~~~~~~~^^^^^ File "\.venv\Lib\site-packages\django\test\client.py", line 1091, in request self.check_exception(response) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "\.venv\Lib\site-packages\django\test\client.py", line 805, in check_exception raise exc_value File "\.venv\Lib\site-packages\django\core\handlers\exception.py", line 56, in inner response = get_response(request) File "\.venv\Lib\site-packages\django\core\handlers\base.py", line 199, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "\hc\front\decorators.py", line 20, in wrapper return f(request, *args, **kwds) File "\.venv\Lib\site-packages\django\contrib\auth\decorators.py", line 60, in _view_wrapper return view_func(request, *args, **kwargs) File "\hc\integrations\signal\views.py", line 84, in signal_captcha for reply_bytes in Signal._read_replies(payload_bytes): ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 130, in _read_replies stype = socket.AF_UNIX ^^^^^^^^^^^^^^ AttributeError: module 'socket' has no attribute 'AF_UNIX' ====================================================================== ERROR: test_it_removes_protocol_prefix (hc.integrations.signal.tests.test_signal_captcha.SignalCaptchaTestCase.test_it_removes_protocol_prefix) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\integrations\signal\tests\test_signal_captcha.py", line 82, in test_it_removes_protocol_prefix self.client.post( ~~~~~~~~~~~~~~~~^ self.url, {"challenge": "foo", "captcha": "signalcaptcha://bar"} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "\.venv\Lib\site-packages\django\test\client.py", line 1157, in post response = super().post( path, ...<5 lines>... **extra, ) File "\.venv\Lib\site-packages\django\test\client.py", line 499, in post return self.generic( ~~~~~~~~~~~~^ "POST", ^^^^^^^ ...<6 lines>... **extra, ^^^^^^^^ ) ^ File "\.venv\Lib\site-packages\django\test\client.py", line 671, in generic return self.request(**r) ~~~~~~~~~~~~^^^^^ File "\.venv\Lib\site-packages\django\test\client.py", line 1091, in request self.check_exception(response) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "\.venv\Lib\site-packages\django\test\client.py", line 805, in check_exception raise exc_value File "\.venv\Lib\site-packages\django\core\handlers\exception.py", line 56, in inner response = get_response(request) File "\.venv\Lib\site-packages\django\core\handlers\base.py", line 199, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "\hc\front\decorators.py", line 20, in wrapper return f(request, *args, **kwds) File "\.venv\Lib\site-packages\django\contrib\auth\decorators.py", line 60, in _view_wrapper return view_func(request, *args, **kwargs) File "\hc\integrations\signal\views.py", line 84, in signal_captcha for reply_bytes in Signal._read_replies(payload_bytes): ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 130, in _read_replies stype = socket.AF_UNIX ^^^^^^^^^^^^^^ AttributeError: module 'socket' has no attribute 'AF_UNIX' ====================================================================== ERROR: test_it_works (hc.integrations.signal.tests.test_signal_captcha.SignalCaptchaTestCase.test_it_works) ---------------------------------------------------------------------- Traceback (most recent call last): File "\AppData\Local\Programs\Python\Python313\Lib\unittest\mock.py", line 1424, in patched return func(*newargs, **newkeywargs) File "\hc\integrations\signal\tests\test_signal_captcha.py", line 69, in test_it_works r = self.client.post(self.url, {"challenge": "foo", "captcha": "bar"}) File "\.venv\Lib\site-packages\django\test\client.py", line 1157, in post response = super().post( path, ...<5 lines>... **extra, ) File "\.venv\Lib\site-packages\django\test\client.py", line 499, in post return self.generic( ~~~~~~~~~~~~^ "POST", ^^^^^^^ ...<6 lines>... **extra, ^^^^^^^^ ) ^ File "\.venv\Lib\site-packages\django\test\client.py", line 671, in generic return self.request(**r) ~~~~~~~~~~~~^^^^^ File "\.venv\Lib\site-packages\django\test\client.py", line 1091, in request self.check_exception(response) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ File "\.venv\Lib\site-packages\django\test\client.py", line 805, in check_exception raise exc_value File "\.venv\Lib\site-packages\django\core\handlers\exception.py", line 56, in inner response = get_response(request) File "\.venv\Lib\site-packages\django\core\handlers\base.py", line 199, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "\hc\front\decorators.py", line 20, in wrapper return f(request, *args, **kwds) File "\.venv\Lib\site-packages\django\contrib\auth\decorators.py", line 60, in _view_wrapper return view_func(request, *args, **kwargs) File "\hc\integrations\signal\views.py", line 84, in signal_captcha for reply_bytes in Signal._read_replies(payload_bytes): ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "\hc\integrations\signal\transport.py", line 130, in _read_replies stype = socket.AF_UNIX ^^^^^^^^^^^^^^ AttributeError: module 'socket' has no attribute 'AF_UNIX' ====================================================================== FAIL: test_get_status_handles_autumn_dst_transition (hc.api.tests.test_check_model.CheckModelTestCase.test_get_status_handles_autumn_dst_transition) ---------------------------------------------------------------------- Traceback (most recent call last): File "\.venv\Lib\site-packages\time_machine\__init__.py", line 439, in wrapper return wrapped(*args, **kwargs) File "\hc\api\tests\test_check_model.py", line 450, in test_get_status_handles_autumn_dst_transition self.assertEqual(check.get_status(), "up") ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: 'down' != 'up' - down + up ---------------------------------------------------------------------- Ran 1767 tests in 9.121s FAILED (failures=1, errors=28) Destroying test database for alias 'default' ('file:memorydb_default?mode=memory&cache=shared')...