121 lines
24 KiB
Text
121 lines
24 KiB
Text
============================= test session starts =============================
|
|
platform win32 -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0 -- c:\Development\VS Code Projects\webdrop_bridge\.venv\Scripts\python.exe
|
|
cachedir: .pytest_cache
|
|
PySide6 6.10.1 -- Qt runtime 6.10.1 -- Qt compiled 6.10.1
|
|
rootdir: C:\Development\VS Code Projects\webdrop_bridge
|
|
configfile: pytest.ini (WARNING: ignoring pytest config in pyproject.toml!)
|
|
plugins: asyncio-1.3.0, cov-7.0.0, qt-4.5.0
|
|
asyncio: mode=Mode.STRICT, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function
|
|
collecting ... collected 176 items
|
|
|
|
tests/integration/test_update_flow.py::TestUpdateFlowIntegration::test_full_update_check_flow PASSED [ 0%]
|
|
tests/integration/test_update_flow.py::TestUpdateFlowIntegration::test_update_check_with_cache PASSED [ 1%]
|
|
tests/integration/test_update_flow.py::TestUpdateFlowIntegration::test_update_check_no_newer_version PASSED [ 1%]
|
|
tests/integration/test_update_flow.py::TestUpdateFlowIntegration::test_update_check_network_error PASSED [ 2%]
|
|
tests/integration/test_update_flow.py::TestUpdateFlowIntegration::test_version_parsing_in_api_response PASSED [ 2%]
|
|
tests/integration/test_update_flow.py::TestUpdateFlowIntegration::test_asset_parsing_in_release PASSED [ 3%]
|
|
tests/integration/test_update_flow.py::TestUpdateFlowIntegration::test_changelog_preserved PASSED [ 3%]
|
|
tests/unit/test_config.py::TestConfigFromEnv::test_from_env_with_all_values PASSED [ 4%]
|
|
tests/unit/test_config.py::TestConfigFromEnv::test_from_env_with_defaults PASSED [ 5%]
|
|
tests/unit/test_config.py::TestConfigFromEnv::test_from_env_invalid_log_level PASSED [ 5%]
|
|
tests/unit/test_config.py::TestConfigFromEnv::test_from_env_invalid_window_dimension PASSED [ 6%]
|
|
tests/unit/test_config.py::TestConfigFromEnv::test_from_env_invalid_root_path PASSED [ 6%]
|
|
tests/unit/test_config.py::TestConfigFromEnv::test_from_env_empty_webapp_url PASSED [ 7%]
|
|
tests/unit/test_config.py::TestConfigValidation::test_root_path_resolution PASSED [ 7%]
|
|
tests/unit/test_config.py::TestConfigValidation::test_multiple_root_paths PASSED [ 8%]
|
|
tests/unit/test_config.py::TestConfigValidation::test_allowed_urls_empty PASSED [ 9%]
|
|
tests/unit/test_config.py::TestConfigValidation::test_allowed_urls_single PASSED [ 9%]
|
|
tests/unit/test_config.py::TestConfigValidation::test_allowed_urls_multiple PASSED [ 10%]
|
|
tests/unit/test_config.py::TestConfigValidation::test_allowed_urls_with_whitespace PASSED [ 10%]
|
|
tests/unit/test_drag_interceptor.py::TestDragInterceptorInitialization::test_drag_interceptor_creation PASSED [ 11%]
|
|
tests/unit/test_drag_interceptor.py::TestDragInterceptorInitialization::test_drag_interceptor_has_signals PASSED [ 11%]
|
|
tests/unit/test_drag_interceptor.py::TestDragInterceptorInitialization::test_set_validator PASSED [ 12%]
|
|
tests/unit/test_drag_interceptor.py::TestDragInterceptorValidation::test_initiate_drag_no_files PASSED [ 13%]
|
|
tests/unit/test_drag_interceptor.py::TestDragInterceptorValidation::test_initiate_drag_no_validator PASSED [ 13%]
|
|
tests/unit/test_drag_interceptor.py::TestDragInterceptorValidation::test_initiate_drag_single_valid_file PASSED [ 14%]
|
|
tests/unit/test_drag_interceptor.py::TestDragInterceptorValidation::test_initiate_drag_invalid_path PASSED [ 14%]
|
|
tests/unit/test_drag_interceptor.py::TestDragInterceptorValidation::test_initiate_drag_nonexistent_file PASSED [ 15%]
|
|
tests/unit/test_drag_interceptor.py::TestDragInterceptorMultipleFiles::test_initiate_drag_multiple_files PASSED [ 15%]
|
|
tests/unit/test_drag_interceptor.py::TestDragInterceptorMultipleFiles::test_initiate_drag_mixed_valid_invalid PASSED [ 16%]
|
|
tests/unit/test_drag_interceptor.py::TestDragInterceptorMimeData::test_mime_data_creation PASSED [ 17%]
|
|
tests/unit/test_drag_interceptor.py::TestDragInterceptorSignals::test_drag_started_signal_emitted PASSED [ 17%]
|
|
tests/unit/test_drag_interceptor.py::TestDragInterceptorSignals::test_drag_failed_signal_on_no_files PASSED [ 18%]
|
|
tests/unit/test_drag_interceptor.py::TestDragInterceptorSignals::test_drag_failed_signal_on_validation_error PASSED [ 18%]
|
|
tests/unit/test_drag_interceptor.py::TestDragInterceptorDragExecution::test_drag_cancelled_returns_false PASSED [ 19%]
|
|
tests/unit/test_drag_interceptor.py::TestDragInterceptorDragExecution::test_pixmap_created_from_widget PASSED [ 19%]
|
|
tests/unit/test_drag_interceptor.py::TestDragInterceptorIntegration::test_drag_with_nested_file PASSED [ 20%]
|
|
tests/unit/test_drag_interceptor.py::TestDragInterceptorIntegration::test_drag_with_relative_path PASSED [ 21%]
|
|
tests/unit/test_logging.py::TestSetupLogging::test_setup_logging_console_only PASSED [ 21%]
|
|
tests/unit/test_logging.py::TestSetupLogging::test_setup_logging_with_file PASSED [ 22%]
|
|
tests/unit/test_logging.py::TestSetupLogging::test_setup_logging_invalid_level PASSED [ 22%]
|
|
tests/unit/test_logging.py::TestSetupLogging::test_setup_logging_invalid_file_path PASSED [ 23%]
|
|
tests/unit/test_logging.py::TestSetupLogging::test_setup_logging_custom_format PASSED [ 23%]
|
|
tests/unit/test_logging.py::TestSetupLogging::test_setup_logging_creates_parent_dirs PASSED [ 24%]
|
|
tests/unit/test_logging.py::TestSetupLogging::test_setup_logging_removes_duplicates PASSED [ 25%]
|
|
tests/unit/test_logging.py::TestGetLogger::test_get_logger PASSED [ 25%]
|
|
tests/unit/test_logging.py::TestGetLogger::test_get_logger_default_name PASSED [ 26%]
|
|
tests/unit/test_logging.py::TestLogRotation::test_rotating_file_handler_configured PASSED [ 26%]
|
|
tests/unit/test_main_window.py::TestMainWindowInitialization::test_main_window_creation PASSED [ 27%]
|
|
tests/unit/test_main_window.py::TestMainWindowInitialization::test_main_window_title PASSED [ 27%]
|
|
tests/unit/test_main_window.py::TestMainWindowInitialization::test_main_window_geometry PASSED [ 28%]
|
|
tests/unit/test_main_window.py::TestMainWindowInitialization::test_main_window_has_web_view PASSED [ 28%]
|
|
tests/unit/test_main_window.py::TestMainWindowInitialization::test_main_window_has_drag_interceptor PASSED [ 29%]
|
|
tests/unit/test_main_window.py::TestMainWindowNavigation::test_navigation_toolbar_created PASSED [ 30%]
|
|
tests/unit/test_main_window.py::TestMainWindowNavigation::test_navigation_toolbar_not_movable PASSED [ 30%]
|
|
tests/unit/test_main_window.py::TestMainWindowNavigation::test_navigate_home PASSED [ 31%]
|
|
tests/unit/test_main_window.py::TestMainWindowNavigation::test_navigate_home_with_http_url PASSED [ 31%]
|
|
tests/unit/test_main_window.py::TestMainWindowNavigation::test_navigate_home_with_file_url PASSED [ 32%]
|
|
tests/unit/test_main_window.py::TestMainWindowWebAppLoading::test_load_local_webapp_file PASSED [ 32%]
|
|
tests/unit/test_main_window.py::TestMainWindowWebAppLoading::test_load_remote_webapp_url PASSED [ 33%]
|
|
tests/unit/test_main_window.py::TestMainWindowWebAppLoading::test_load_nonexistent_file_shows_welcome_page PASSED [ 34%]
|
|
tests/unit/test_main_window.py::TestMainWindowDragIntegration::test_drag_interceptor_validator_set PASSED [ 34%]
|
|
tests/unit/test_main_window.py::TestMainWindowDragIntegration::test_drag_interceptor_signals_connected PASSED [ 35%]
|
|
tests/unit/test_main_window.py::TestMainWindowDragIntegration::test_initiate_drag_delegates_to_interceptor PASSED [ 35%]
|
|
tests/unit/test_main_window.py::TestMainWindowDragIntegration::test_on_drag_started_called PASSED [ 36%]
|
|
tests/unit/test_main_window.py::TestMainWindowDragIntegration::test_on_drag_failed_called PASSED [ 36%]
|
|
tests/unit/test_main_window.py::TestMainWindowURLWhitelist::test_restricted_web_view_receives_allowed_urls PASSED [ 37%]
|
|
tests/unit/test_main_window.py::TestMainWindowURLWhitelist::test_empty_allowed_urls_list PASSED [ 38%]
|
|
tests/unit/test_main_window.py::TestMainWindowSignals::test_drag_started_signal_connection PASSED [ 38%]
|
|
tests/unit/test_main_window.py::TestMainWindowSignals::test_drag_failed_signal_connection PASSED [ 39%]
|
|
tests/unit/test_main_window.py::TestMainWindowMenuBar::test_menu_bar_created PASSED [ 39%]
|
|
tests/unit/test_main_window.py::TestMainWindowMenuBar::test_window_has_check_for_updates_signal PASSED [ 40%]
|
|
tests/unit/test_main_window.py::TestMainWindowMenuBar::test_on_check_for_updates_method_exists PASSED [ 40%]
|
|
tests/unit/test_main_window.py::TestMainWindowMenuBar::test_show_about_dialog_method_exists PASSED [ 41%]
|
|
tests/unit/test_main_window.py::TestMainWindowStatusBar::test_status_bar_created PASSED [ 42%]
|
|
tests/unit/test_main_window.py::TestMainWindowStatusBar::test_update_status_label_created PASSED [ 42%]
|
|
tests/unit/test_main_window.py::TestMainWindowStatusBar::test_set_update_status_text_only PASSED [ 43%]
|
|
tests/unit/test_main_window.py::TestMainWindowStatusBar::test_set_update_status_with_emoji PASSED [ 43%]
|
|
tests/unit/test_main_window.py::TestMainWindowStatusBar::test_set_update_status_checking PASSED [ 44%]
|
|
tests/unit/test_main_window.py::TestMainWindowStatusBar::test_set_update_status_available PASSED [ 44%]
|
|
tests/unit/test_main_window.py::TestMainWindowStatusBar::test_set_update_status_downloading PASSED [ 45%]
|
|
tests/unit/test_main_window.py::TestMainWindowStatusBar::test_set_update_status_error PASSED [ 46%]
|
|
tests/unit/test_main_window.py::TestMainWindowStylesheet::test_stylesheet_loading_gracefully_handles_missing_file PASSED [ 46%]
|
|
tests/unit/test_main_window.py::TestMainWindowStylesheet::test_stylesheet_loading_with_nonexistent_file PASSED [ 47%]
|
|
tests/unit/test_main_window.py::TestMainWindowCloseEvent::test_close_event_accepted PASSED [ 47%]
|
|
tests/unit/test_main_window.py::TestMainWindowIntegration::test_full_initialization_flow PASSED [ 48%]
|
|
tests/unit/test_main_window.py::TestMainWindowIntegration::test_window_with_multiple_allowed_roots PASSED [ 48%]
|
|
tests/unit/test_main_window.py::TestMainWindowIntegration::test_window_with_url_whitelist PASSED [ 49%]
|
|
tests/unit/test_project_structure.py::test_project_structure PASSED [ 50%]
|
|
tests/unit/test_project_structure.py::test_essential_files PASSED [ 50%]
|
|
tests/unit/test_project_structure.py::test_python_package_structure PASSED [ 51%]
|
|
tests/unit/test_restricted_web_view.py::TestRestrictedWebEngineView::test_no_restrictions_empty_list FAILED [ 51%]
|
|
tests/unit/test_restricted_web_view.py::TestRestrictedWebEngineView::test_no_restrictions_none FAILED [ 52%]
|
|
tests/unit/test_restricted_web_view.py::TestRestrictedWebEngineView::test_exact_domain_match FAILED [ 52%]
|
|
tests/unit/test_restricted_web_view.py::TestRestrictedWebEngineView::test_exact_domain_mismatch FAILED [ 53%]
|
|
tests/unit/test_restricted_web_view.py::TestRestrictedWebEngineView::test_wildcard_pattern_match FAILED [ 53%]
|
|
tests/unit/test_restricted_web_view.py::TestRestrictedWebEngineView::test_wildcard_pattern_mismatch FAILED [ 54%]
|
|
tests/unit/test_restricted_web_view.py::TestRestrictedWebEngineView::test_localhost_allowed FAILED [ 55%]
|
|
tests/unit/test_restricted_web_view.py::TestRestrictedWebEngineView::test_file_url_always_allowed FAILED [ 55%]
|
|
tests/unit/test_restricted_web_view.py::TestRestrictedWebEngineView::test_multiple_allowed_urls FAILED [ 56%]
|
|
tests/unit/test_restricted_web_view.py::TestRestrictedWebEngineView::test_rejected_url_opens_system_browser FAILED [ 56%]
|
|
tests/unit/test_restricted_web_view.py::TestURLAllowedLogic::test_is_url_allowed_empty_list PASSED [ 57%]
|
|
tests/unit/test_restricted_web_view.py::TestURLAllowedLogic::test_is_url_allowed_file_scheme PASSED [ 57%]
|
|
tests/unit/test_restricted_web_view.py::TestURLAllowedLogic::test_is_url_allowed_exact_match PASSED [ 58%]
|
|
tests/unit/test_restricted_web_view.py::TestURLAllowedLogic::test_is_url_allowed_with_port PASSED [ 59%]
|
|
tests/unit/test_restricted_web_view.py::TestURLAllowedLogic::test_is_url_allowed_wildcard PASSED [ 59%]
|
|
tests/unit/test_startup_check.py::TestUpdateCheckWorker::test_worker_initialization PASSED [ 60%]
|
|
tests/unit/test_startup_check.py::TestUpdateCheckWorker::test_worker_has_signals PASSED [ 60%]
|
|
tests/unit/test_startup_check.py::TestUpdateCheckWorker::test_worker_run_method_exists PASSED [ 61%]
|
|
tests/unit/test_startup_check.py::TestMainWindowStartupCheck::test_window_has_startup_check_method PASSED [ 61%]
|
|
tests/unit/test_startup_check.py::TestMainWindowStartupCheck::test_window_has_update_available_signal PASSED [ 62%]
|
|
tests/unit/test_startup_check.py::TestMainWindowStartupCheck::test_startup_check_initializes_without_error
|