MCPcopy Create free account

hub / github.com/Screenly/Anthias / functions

Functions1,832 in github.com/Screenly/Anthias

Functiontest_format_subprocess_stderr_decodes_and_trims
``_format_subprocess_stderr`` must produce operator-readable text: bytes decoded as UTF-8 (with replacement for malformed bytes), no ``b'...'`
tests/test_processing.py:1341
Functiontest_fresh_install_noop
(home_dir: str)
tests/test_migrate_legacy_paths.py:138
Functiontest_fresh_tmp_is_retained
A .tmp younger than 1h is mid-upload and must survive.
tests/test_celery_tasks.py:81
Functiontest_fresh_ytdl_sidecar_is_retained
In-flight yt-dlp sidecars (<1h) must survive the sweep.
tests/test_celery_tasks.py:134
Functiontest_friendly_device_model_drops_virt_chassis
( monkeypatch: pytest.MonkeyPatch, )
tests/test_template_views.py:2245
Functiontest_friendly_device_model_generic_fallback
( monkeypatch: pytest.MonkeyPatch, )
tests/test_template_views.py:2272
Functiontest_friendly_device_model_pi
(monkeypatch: pytest.MonkeyPatch)
tests/test_template_views.py:2202
Functiontest_friendly_device_model_x86_with_dmi
( monkeypatch: pytest.MonkeyPatch, )
tests/test_template_views.py:2218
Functiontest_full_migration
(home_dir: str)
tests/test_migrate_legacy_paths.py:57
Functiontest_full_migration_flow_with_mixed_results
End-to-end run: 3 assets, middle one fails. After the queue drains, the header reads "Migration finished with errors" (not the all-clear copy)
tests/test_migrate_to_screenly.py:284
Functiontest_generate_asset_list_assets_should_return_list_sorted_by_play_order
( restore_shuffle_setting: None, )
tests/test_scheduler.py:127
Functiontest_generate_asset_list_check_deadline_if_asset_scheduled
If ASSET_X is active and ASSET_X[end_date] == (now + 3) and ASSET_TOMORROW will be active tomorrow then deadline should be ASSET_TOMORROW[star
tests/test_scheduler.py:145
Functiontest_generate_asset_list_check_deadline_if_both_active
( restore_shuffle_setting: None, )
tests/test_scheduler.py:136
Functiontest_generate_perfect_paper_password_length
()
tests/test_utils.py:183
Functiontest_generate_perfect_paper_password_no_symbols_excludes_punctuation
()
tests/test_utils.py:188
Functiontest_generates_and_persists_new_device_id
( _mock_post: Any, telemetry_env: None, redis_data: dict[str, str], )
tests/test_telemetry.py:190
Functiontest_get_asset_by_id_should_return_asset
( api_client: APIClient, version: str )
src/anthias_server/api/tests/test_assets.py:144
Functiontest_get_asset_list_excludes_non_xz
( mock_release_assets: MagicMock, )
tools/raspberry_pi_imager/tests/test_build_pi_imager_json.py:211
Functiontest_get_asset_list_excludes_pi1
( mock_release_assets: MagicMock, )
tools/raspberry_pi_imager/tests/test_build_pi_imager_json.py:194
Functiontest_get_asset_list_filters_to_supported_boards
( mock_release_assets: MagicMock, )
tools/raspberry_pi_imager/tests/test_build_pi_imager_json.py:185
Functiontest_get_asset_list_hides_32bit_pi3_but_keeps_pi3_64
( mock_release_assets: MagicMock, )
tools/raspberry_pi_imager/tests/test_build_pi_imager_json.py:202
Functiontest_get_assets_after_create_should_return_1_asset
( api_client: APIClient, version: str )
src/anthias_server/api/tests/test_assets.py:133
Functiontest_get_assets_when_first_time_setup_should_initially_return_empty
( api_client: APIClient, version: str )
src/anthias_server/api/tests/test_assets.py:68
Functiontest_get_backup_name
(backup_home: str)
tests/test_backup_helper.py:49
Functiontest_get_balena_device_info_calls_v1_device
(monkeypatch: Any)
tests/test_utils.py:222
Functiontest_get_balena_supervisor_api_response_uses_env
( monkeypatch: Any, )
tests/test_utils.py:207
Functiontest_get_balena_supervisor_version_error
(monkeypatch: Any)
tests/test_utils.py:265
Functiontest_get_balena_supervisor_version_ok
(monkeypatch: Any)
tests/test_utils.py:255
Functiontest_get_board_from_url_extracts_board
( filename: str, expected_board: str )
tools/raspberry_pi_imager/tests/test_build_pi_imager_json.py:160
Functiontest_get_board_from_url_returns_none_for_non_image
(url: str)
tools/raspberry_pi_imager/tests/test_build_pi_imager_json.py:176
Functiontest_get_board_subtype_falls_back_to_device_tree
No host_agent (balena fleets) or an empty publish falls back to reading the device tree in-container — this is what upgrades the ``anthias-roc
tests/test_host_agent_board_subtype.py:106
Functiontest_get_board_subtype_prefers_redis_value
A host_agent-published value wins; the device tree is not consulted when Redis already answers.
tests/test_host_agent_board_subtype.py:87
Functiontest_get_board_subtype_unknown_everywhere_returns_none
Redis empty + unknown device tree → ``None`` (caller keeps the raw DEVICE_TYPE and the conservative empty arm64 codec set).
tests/test_host_agent_board_subtype.py:128
Functiontest_get_db_mtime_tracks_wal_sidecar
( restore_shuffle_setting: None, tmp_path: Any, )
tests/test_scheduler.py:214
Functiontest_get_debian_version_missing_file
()
tests/test_diagnostics.py:77
Functiontest_get_debian_version_reads_file
(tmp_path: Any)
tests/test_diagnostics.py:68
Functiontest_get_device_settings
( settings_mock: Any, api_client: APIClient, device_settings_url: str )
src/anthias_server/api/tests/test_v2_endpoints.py:34
Functiontest_get_device_type_falls_back_to_x86
()
tests/test_device_helper.py:67
Functiontest_get_device_type_from_dt_model
(content: str, expected: str)
tests/test_device_helper.py:61
Functiontest_get_display_power_cec_error
()
tests/test_diagnostics.py:130
Functiontest_get_display_power_empty_output_returns_cec_error
()
tests/test_diagnostics.py:144
Functiontest_get_display_power_false
()
tests/test_diagnostics.py:123
Functiontest_get_display_power_subprocess_timeout
()
tests/test_diagnostics.py:304
Functiontest_get_display_power_true
()
tests/test_diagnostics.py:116
Functiontest_get_display_power_unknown
()
tests/test_diagnostics.py:137
Functiontest_get_display_power_writes_redis_as_str
The Celery task persists the CEC power state to redis as a str. diagnostics.get_display_power() returns ``str | bool``; redis-py raises ``Dat
tests/test_celery_tasks.py:177
Functiontest_get_git_branch
( monkeypatch: Any, env_value: str | None, expected: str | None )
tests/test_diagnostics.py:19
Functiontest_get_git_hash
(monkeypatch: Any)
tests/test_diagnostics.py:37
Functiontest_get_git_short_hash
(monkeypatch: Any)
tests/test_diagnostics.py:29
Functiontest_get_instance_pi4_never_routes_to_fbdev
( reset_media_proxy: None, )
tests/test_media_player.py:763
Functiontest_get_instance_returns_gst_fbdev_for_pi_devices
( reset_media_proxy: None, device_type: str )
tests/test_media_player.py:747
Functiontest_get_instance_returns_mpv_for_arm64
( reset_media_proxy: None, )
tests/test_media_player.py:794
Functiontest_get_instance_returns_mpv_for_generic_arm64
( reset_media_proxy: None, )
tests/test_media_player.py:814
Functiontest_get_instance_returns_mpv_for_pi3_64
(reset_media_proxy: None)
tests/test_media_player.py:845
Functiontest_get_instance_returns_mpv_for_pi4_64
(reset_media_proxy: None)
tests/test_media_player.py:833
Functiontest_get_instance_returns_mpv_for_pi5_and_x86
( reset_media_proxy: None, device_type: str )
tests/test_media_player.py:782
Functiontest_get_instance_returns_same_instance
( _: Any, reset_media_proxy: None )
tests/test_media_player.py:863
Functiontest_get_latest_tag_honours_release_tag_env
( mock_requests_get: MagicMock, monkeypatch: pytest.MonkeyPatch, )
tools/raspberry_pi_imager/tests/test_build_pi_imager_json.py:134
Functiontest_get_load_avg
()
tests/test_diagnostics.py:53
Functiontest_get_next_asset_should_be_y_and_x
( restore_shuffle_setting: None, )
tests/test_scheduler.py:158
Functiontest_get_play_days_malformed_json_falls_back_to_all_days
()
tests/test_scheduler.py:439
Functiontest_get_play_days_non_int_element_falls_back_to_all_days
()
tests/test_scheduler.py:457
Functiontest_get_play_days_non_list_json_falls_back_to_all_days
()
tests/test_scheduler.py:445
Functiontest_get_play_days_out_of_range_int_falls_back_to_all_days
()
tests/test_scheduler.py:451
Functiontest_get_raspberry_code_returns_hardware
()
tests/test_diagnostics.py:84
Functiontest_get_raspberry_code_unknown
()
tests/test_diagnostics.py:92
Functiontest_get_raspberry_model_returns_model
()
tests/test_diagnostics.py:100
Functiontest_get_raspberry_model_unknown
()
tests/test_diagnostics.py:108
Functiontest_get_uptime_reads_proc_uptime
()
tests/test_diagnostics.py:45
Functiontest_get_utc_isodate_format
()
tests/test_diagnostics.py:61
Functiontest_github_module_never_logs_at_error_level
Every failure path in this module is degraded through gracefully (backoff + cached verdict), so none of it belongs at ERROR level or above — t
tests/test_github.py:401
Methodtest_group_create_failure_surfaces_as_502
( self, validate_mock: MagicMock, group_mock: MagicMock, api_client: APIClient
src/anthias_server/api/tests/test_screenly_migration.py:523
Functiontest_handbrake_steps_always_target_1080p_preset
The stock ``Fast 1080p30`` preset caps output at 1080p, so it doubles as the low-RAM resolution fix — there's no separate Dimensions / Resolut
tests/test_processing.py:1300
Functiontest_handbrake_steps_empty_when_board_has_no_hw_decode
An empty supported set (unrecognised arm64 board) has no transcode target, so there are no HandBrake steps to offer — matching ``_ffmpeg_reenc
tests/test_processing.py:1312
Functiontest_handbrake_steps_h264_board_uses_stock_preset_no_encoder_change
An H.264 board's walkthrough leans entirely on the stock ``Fast 1080p30`` preset (which already outputs H.264 MP4), so it must NOT tell the op
tests/test_processing.py:1270
Functiontest_handbrake_steps_hevc_only_board_switches_encoder_to_x265
A Pi 5 (HEVC only — no H.264 in its set) can't use the preset's default H.264, so the walkthrough adds a Video-tab step switching the encoder
tests/test_processing.py:1288
Functiontest_handle_github_error_logs_at_warning_not_error
An unreachable api.github.com is a routine condition on a signage device (offline installs, locked-down networks) — it must not log at ERROR,
tests/test_github.py:383
Functiontest_handle_github_error_surfaces_exception_detail
The no-response branch must log the exception detail, not a bare 'no data' — Sentry previously showed 'ConnectionError fetching latest release
tests/test_github.py:432
Functiontest_handle_github_error_with_response
( github_env: None, redis_data: dict[str, str] )
tests/test_github.py:364
Functiontest_handle_github_error_without_response
( github_env: None, redis_data: dict[str, str] )
tests/test_github.py:374
Functiontest_handle_reload_does_not_latch_when_wlr_transform_fails
Issue #2856 (Copilot review #2): if wlr-randr can't apply the transform (cage not ready, no outputs, every output failed), we must NOT latch t
tests/test_viewer.py:1653
Functiontest_handle_reload_linuxfb_idempotent_under_repeat
Two ``reload`` messages back-to-back with the same rotation must not flap the pending-bounce flag or set the skip_event twice on an already-pe
tests/test_viewer.py:1895
Functiontest_handle_reload_no_op_when_dark_mode_unchanged
( reset_dark_mode_state: None, )
tests/test_viewer.py:1183
Functiontest_handle_reload_no_rotation_change_is_no_op
Most reload traffic (asset edits, etc.) must NOT blank the screen — the rotation-change path is keyed on a genuine delta.
tests/test_viewer.py:1679
Functiontest_handle_reload_queues_bounce_on_dark_mode_change
The dark-mode flag is only read at webview launch, so a live toggle has to respawn AnthiasViewer. Like the rotation path, _handle_reload runs
tests/test_viewer.py:1156
Functiontest_handle_reload_queues_bounce_on_linuxfb_rotation_change
linuxfb only reads :rotation=N at QPA init, so the live-rotation path has to bounce AnthiasViewer. _handle_reload runs on the subscriber threa
tests/test_viewer.py:1702
Functiontest_handle_reload_reapplies_rotation_when_changed
The reload pub/sub message must re-push wlr-randr when the operator changes rotation in Settings — that's the whole point of issue #2856's UI-
tests/test_viewer.py:1599
Functiontest_handle_reload_resets_media_player_on_linuxfb_rotation_change
On linuxfb (Pi) the rotation change DOES need MediaPlayerProxy reset, because VLC bakes the transform filter into the instance at construction
tests/test_viewer.py:1631
Functiontest_handle_reload_runs_load_settings
``reload`` must still reload settings — that path is exercised by the settings.patch() endpoint and predates the skip behaviour.
tests/test_viewer.py:909
Functiontest_handler_raises_for_non_serializable
()
tests/test_utils.py:202
Functiontest_hash_password_round_trip
()
tests/test_auth.py:63
Functiontest_hdmi_on_pi1_pi2_pi3_uses_vc4hdmi
( alsa_settings: Any, device_type: str )
tests/test_media_player.py:333
Functiontest_hdmi_on_pi4_pi5_uses_detected_device
( alsa_settings: Any, device_type: str )
tests/test_media_player.py:314
Functiontest_hdmi_on_x86_uses_alsa_default
(alsa_settings: Any)
tests/test_media_player.py:344
Functiontest_home_page_renders
Sanity: home loads, the homeApp x-data root mounts, no 5xx.
tests/test_app.py:240
Functiontest_home_renders
(client: Client, asset: Asset)
tests/test_template_views.py:53
Functiontest_home_renders_with_full_schedule
A six-row, mixed-mimetype schedule must render the asset table with every row's drag handle and action cluster reachable. The per-row tests be
tests/test_app.py:301
Functiontest_host_with_port_origin_without_port_passes
Common reverse-proxy shape: the upstream ``Host`` carries an explicit (often default) port — e.g. ``Host: anthias.local:443`` — while the brow
tests/test_csrf.py:74
Methodtest_html_error_body_collapses_to_one_line
( self, post_mock: MagicMock )
src/anthias_server/api/tests/test_screenly_migration.py:423
Functiontest_humanize_duration_unit_buckets
()
tests/test_template_views.py:2174
← previousnext →1,201–1,300 of 1,832, ranked by callers