test_desktop_revocation_stays_authentication_error (test_patient_session_client.PatientHttpErrors.test_desktop_revocation_stays_authentication_error) ... ok test_exact_legacy_expiry_only_on_patient_routes (test_patient_session_client.PatientHttpErrors.test_exact_legacy_expiry_only_on_patient_routes) ... ok test_network_timeout_or_different_http_failure_is_not_patient_expiry (test_patient_session_client.PatientHttpErrors.test_network_timeout_or_different_http_failure_is_not_patient_expiry) ... ok test_patient_permission_denied_is_not_desktop_revocation (test_patient_session_client.PatientHttpErrors.test_patient_permission_denied_is_not_desktop_revocation) ... ok test_structured_generic_error_is_readable (test_patient_session_client.PatientHttpErrors.test_structured_generic_error_is_readable) ... ok test_structured_patient_expiry_preserves_type_code_and_message (test_patient_session_client.PatientHttpErrors.test_structured_patient_expiry_preserves_type_code_and_message) ... ok test_desktop_revoked_prevents_upstream_login_and_any_exchange (test_patient_session_client.PatientSessionClientTests.test_desktop_revoked_prevents_upstream_login_and_any_exchange) ... ok test_explicit_reauthentication_updates_only_upstream_token_after_server_ack (test_patient_session_client.PatientSessionClientTests.test_explicit_reauthentication_updates_only_upstream_token_after_server_ack) ... ok test_fetch_auth_config_without_persist_does_not_change_session (test_patient_session_client.PatientSessionClientTests.test_fetch_auth_config_without_persist_does_not_change_session) ... ok test_keepalive_exact_deployed_expiry_message (test_patient_session_client.PatientSessionClientTests.test_keepalive_exact_deployed_expiry_message) ... ok test_keepalive_expiry_is_local_status_not_forced_logout (test_patient_session_client.PatientSessionClientTests.test_keepalive_expiry_is_local_status_not_forced_logout) ... ok test_keepalive_in_progress_does_not_start_another_request (test_patient_session_client.PatientSessionClientTests.test_keepalive_in_progress_does_not_start_another_request) ... ok test_keepalive_permission_network_and_missing_route_are_distinct (test_patient_session_client.PatientSessionClientTests.test_keepalive_permission_network_and_missing_route_are_distinct) ... ok test_keepalive_requires_valid_desktop_before_upstream_request (test_patient_session_client.PatientSessionClientTests.test_keepalive_requires_valid_desktop_before_upstream_request) ... ok test_keepalive_throttles_same_credentials_for_thirty_minutes (test_patient_session_client.PatientSessionClientTests.test_keepalive_throttles_same_credentials_for_thirty_minutes) ... ok test_keepalive_uses_original_custom_token_without_login_or_exchange (test_patient_session_client.PatientSessionClientTests.test_keepalive_uses_original_custom_token_without_login_or_exchange) ... ok test_logout_during_server_update_cannot_restore_patient_token (test_patient_session_client.PatientSessionClientTests.test_logout_during_server_update_cannot_restore_patient_token) ... ok test_new_patient_token_is_not_throttled_by_old_expired_token (test_patient_session_client.PatientSessionClientTests.test_new_patient_token_is_not_throttled_by_old_expired_token) ... ok test_no_password_does_not_use_remembered_password_or_network (test_patient_session_client.PatientSessionClientTests.test_no_password_does_not_use_remembered_password_or_network) ... ok test_old_exchange_after_logout_cannot_revive_desktop_or_return_old_token (test_patient_session_client.PatientSessionClientTests.test_old_exchange_after_logout_cannot_revive_desktop_or_return_old_token) ... ok test_old_heartbeat_after_logout_or_new_login_cannot_revive_old_session (test_patient_session_client.PatientSessionClientTests.test_old_heartbeat_after_logout_or_new_login_cannot_revive_old_session) ... ok test_old_heartbeat_network_error_preserves_new_patient_token (test_patient_session_client.PatientSessionClientTests.test_old_heartbeat_network_error_preserves_new_patient_token) ... ok test_old_heartbeat_success_merges_without_overwriting_new_patient_token (test_patient_session_client.PatientSessionClientTests.test_old_heartbeat_success_merges_without_overwriting_new_patient_token) ... ok test_old_keepalive_cannot_report_new_credential_expired (test_patient_session_client.PatientSessionClientTests.test_old_keepalive_cannot_report_new_credential_expired) ... ok test_patient_request_never_pairs_old_token_with_new_server (test_patient_session_client.PatientSessionClientTests.test_patient_request_never_pairs_old_token_with_new_server) ... ok test_patient_search_and_bind_preserve_expiry_type (test_patient_session_client.PatientSessionClientTests.test_patient_search_and_bind_preserve_expiry_type) ... ok test_periodic_config_failure_merges_only_error_without_old_token (test_patient_session_client.PatientSessionClientTests.test_periodic_config_failure_merges_only_error_without_old_token) ... ok test_periodic_config_for_old_session_is_not_applied_after_account_change (test_patient_session_client.PatientSessionClientTests.test_periodic_config_for_old_session_is_not_applied_after_account_change) ... ok test_periodic_config_success_does_not_restore_stale_patient_credentials (test_patient_session_client.PatientSessionClientTests.test_periodic_config_success_does_not_restore_stale_patient_credentials) ... ok test_refreshing_desktop_token_preserves_concurrent_new_zyt_token (test_patient_session_client.PatientSessionClientTests.test_refreshing_desktop_token_preserves_concurrent_new_zyt_token) ... ok test_restore_ignores_late_revocation_from_previous_session (test_patient_session_client.PatientSessionClientTests.test_restore_ignores_late_revocation_from_previous_session) ... ok test_server_rejects_new_credential_no_local_update (test_patient_session_client.PatientSessionClientTests.test_server_rejects_new_credential_no_local_update) ... ok test_session_switch_during_upstream_login_aborts_before_server_update (test_patient_session_client.PatientSessionClientTests.test_session_switch_during_upstream_login_aborts_before_server_update) ... ok test_upstream_password_failure_does_not_logout_or_save_password (test_patient_session_client.PatientSessionClientTests.test_upstream_password_failure_does_not_logout_or_save_password) ... ok test_cancel_reauthentication_leaves_dialog_open_and_calls_no_service (test_patient_session_dialog.PatientSessionDialogTest.test_cancel_reauthentication_leaves_dialog_open_and_calls_no_service) ... ok test_expired_bind_never_retries_mutation_automatically (test_patient_session_dialog.PatientSessionDialogTest.test_expired_bind_never_retries_mutation_automatically) ... ok test_expired_search_offers_reauth_clears_stale_results_and_blocks_binding (test_patient_session_dialog.PatientSessionDialogTest.test_expired_search_offers_reauth_clears_stale_results_and_blocks_binding) ... ok test_keepalive_expiry_is_a_local_warning_and_does_not_stop_monitor (test_patient_session_dialog.PatientSessionDialogTest.test_keepalive_expiry_is_a_local_warning_and_does_not_stop_monitor) ... ok test_network_error_does_not_request_reauthentication (test_patient_session_dialog.PatientSessionDialogTest.test_network_error_does_not_request_reauthentication) ... ok test_reauthenticated_account_without_permission_does_not_search (test_patient_session_dialog.PatientSessionDialogTest.test_reauthenticated_account_without_permission_does_not_search) ... ok test_reauthentication_failure_allows_retry_without_password_in_display (test_patient_session_dialog.PatientSessionDialogTest.test_reauthentication_failure_allows_retry_without_password_in_display) ... ok test_reauthentication_reloads_permissions_and_retries_only_search_once (test_patient_session_dialog.PatientSessionDialogTest.test_reauthentication_reloads_permissions_and_retries_only_search_once) ... ok test_exact_patient_lookup_uses_the_scoped_diagnosis_list (test_zyt_patient_client.ZytPatientClientTest.test_exact_patient_lookup_uses_the_scoped_diagnosis_list) ... ok test_search_deduplicates_diagnoses_and_masks_phone (test_zyt_patient_client.ZytPatientClientTest.test_search_deduplicates_diagnoses_and_masks_phone) ... ok test_bad_json_and_network_failure_do_not_fall_back (test_zyt_auth.DesktopVerificationRegressionTest.test_bad_json_and_network_failure_do_not_fall_back) ... ok test_empty_permissions_are_known (test_zyt_auth.DesktopVerificationRegressionTest.test_empty_permissions_are_known) ... ok test_http_rejections_do_not_fall_back (test_zyt_auth.DesktopVerificationRegressionTest.test_http_rejections_do_not_fall_back) ... ok test_invalid_identity_cannot_be_accepted_through_web_fallback (test_zyt_auth.DesktopVerificationRegressionTest.test_invalid_identity_cannot_be_accepted_through_web_fallback) ... ok test_legacy_ip_error_identifies_missing_server_deployment (test_zyt_auth.DesktopVerificationRegressionTest.test_legacy_ip_error_identifies_missing_server_deployment) ... ok test_missing_permissions_do_not_trigger_profile_request (test_zyt_auth.DesktopVerificationRegressionTest.test_missing_permissions_do_not_trigger_profile_request) ... ok test_only_missing_routes_allow_legacy_verification (test_zyt_auth.DesktopVerificationRegressionTest.test_only_missing_routes_allow_legacy_verification) ... ok test_success_never_requests_ip_bound_web_profile (test_zyt_auth.DesktopVerificationRegressionTest.test_success_never_requests_ip_bound_web_profile) ... ok test_dialog_uses_the_branded_card_layout (test_desktop_login.DesktopLoginDialogTest.test_dialog_uses_the_branded_card_layout) ... ok test_login_keeps_the_remember_choice (test_desktop_login.DesktopLoginDialogTest.test_login_keeps_the_remember_choice) ... ok test_packaged_dialog_has_no_frame_or_server_editor (test_desktop_login.DesktopLoginDialogTest.test_packaged_dialog_has_no_frame_or_server_editor) ... ok test_packaged_requests_ignore_address_overrides (test_desktop_login.DesktopLoginDialogTest.test_packaged_requests_ignore_address_overrides) ... ok test_packaged_saved_address_is_ignored_and_cannot_be_persisted (test_desktop_login.DesktopLoginDialogTest.test_packaged_saved_address_is_ignored_and_cannot_be_persisted) ... ok test_password_visibility_toggle (test_desktop_login.DesktopLoginDialogTest.test_password_visibility_toggle) ... ok test_startup_checks_updates_before_authentication (test_desktop_login.DesktopLoginDialogTest.test_startup_checks_updates_before_authentication) ... ok ---------------------------------------------------------------------- Ran 59 tests in 0.285s OK