File size: 7,263 Bytes
b610d23
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
[
  "tests/test_image_fetcher.py::TestDownloadManager::test_download_and_save_download_failure",
  "tests/test_image_fetcher.py::TestDownloadManager::test_download_and_save_duplicate_skip",
  "tests/test_image_fetcher.py::TestDownloadManager::test_download_and_save_integrity_failure",
  "tests/test_image_fetcher.py::TestDownloadManager::test_download_and_save_success",
  "tests/test_image_fetcher.py::TestDownloadManager::test_reset_counters",
  "tests/test_image_fetcher.py::TestImageFetcher::test_check_image_exists_false",
  "tests/test_image_fetcher.py::TestImageFetcher::test_check_image_exists_true",
  "tests/test_image_fetcher.py::TestImageFetcher::test_download_image_404",
  "tests/test_image_fetcher.py::TestImageFetcher::test_download_image_http_error_with_retry",
  "tests/test_image_fetcher.py::TestImageFetcher::test_download_image_max_retries_exceeded",
  "tests/test_image_fetcher.py::TestImageFetcher::test_download_image_success",
  "tests/test_image_fetcher.py::TestImageFetcher::test_download_image_timeout_retry",
  "tests/test_image_fetcher.py::TestImageFetcher::test_exponential_backoff",
  "tests/test_image_fetcher.py::TestImageFetcher::test_get_image_size",
  "tests/test_image_fetcher.py::TestImageFetcher::test_rate_limiting",
  "tests/test_models.py::test_download_task_defaults",
  "tests/test_models.py::test_image_metadata_creation",
  "tests/test_models.py::test_playback_state_defaults",
  "tests/test_monitoring_loop.py::TestMonitoringLoop::test_download_new_images_failure",
  "tests/test_monitoring_loop.py::TestMonitoringLoop::test_download_new_images_success",
  "tests/test_monitoring_loop.py::TestMonitoringLoop::test_filter_new_images_all_new",
  "tests/test_monitoring_loop.py::TestMonitoringLoop::test_filter_new_images_invalid_url",
  "tests/test_monitoring_loop.py::TestMonitoringLoop::test_filter_new_images_some_exist",
  "tests/test_monitoring_loop.py::TestMonitoringLoop::test_force_check_not_running",
  "tests/test_monitoring_loop.py::TestMonitoringLoop::test_get_monitoring_range",
  "tests/test_monitoring_loop.py::TestMonitoringLoop::test_get_status_initial",
  "tests/test_monitoring_loop.py::TestMonitoringLoop::test_initialization",
  "tests/test_monitoring_loop.py::TestMonitoringLoop::test_set_monitoring_range",
  "tests/test_monitoring_loop.py::TestMonitoringLoop::test_set_monitoring_range_invalid",
  "tests/test_monitoring_loop.py::TestMonitoringLoop::test_start_monitoring",
  "tests/test_monitoring_loop.py::TestMonitoringLoop::test_stop_monitoring_not_running",
  "tests/test_monitoring_loop.py::TestStatusReporter::test_initialization",
  "tests/test_monitoring_loop.py::TestStatusReporter::test_log_periodic_status",
  "tests/test_monitoring_loop.py::TestStatusReporter::test_print_status",
  "tests/test_monitoring_loop.py::TestStatusReporter::test_print_status_no_last_check",
  "tests/test_monitoring_loop.py::TestTaskCoordinator::test_initialization",
  "tests/test_monitoring_loop.py::TestTaskCoordinator::test_on_check_complete",
  "tests/test_monitoring_loop.py::TestTaskCoordinator::test_on_check_start",
  "tests/test_monitoring_loop.py::TestTaskCoordinator::test_on_new_images_found",
  "tests/test_storage_organizer.py::TestStorageOrganizer::test_check_sufficient_space",
  "tests/test_storage_organizer.py::TestStorageOrganizer::test_cleanup_corrupted_files",
  "tests/test_storage_organizer.py::TestStorageOrganizer::test_create_date_structure",
  "tests/test_storage_organizer.py::TestStorageOrganizer::test_file_exists_false",
  "tests/test_storage_organizer.py::TestStorageOrganizer::test_get_date_path",
  "tests/test_storage_organizer.py::TestStorageOrganizer::test_get_file_size",
  "tests/test_storage_organizer.py::TestStorageOrganizer::test_get_image_metadata",
  "tests/test_storage_organizer.py::TestStorageOrganizer::test_get_local_path",
  "tests/test_storage_organizer.py::TestStorageOrganizer::test_list_local_images_empty",
  "tests/test_storage_organizer.py::TestStorageOrganizer::test_list_local_images_with_files",
  "tests/test_storage_organizer.py::TestStorageOrganizer::test_save_and_check_image",
  "tests/test_storage_organizer.py::TestStorageOrganizer::test_validate_file_integrity_failure",
  "tests/test_storage_organizer.py::TestStorageOrganizer::test_validate_file_integrity_success",
  "tests/test_url_generator.py::TestURLGenerator::test_construct_url",
  "tests/test_url_generator.py::TestURLGenerator::test_extract_metadata_from_url",
  "tests/test_url_generator.py::TestURLGenerator::test_extract_metadata_invalid_url",
  "tests/test_url_generator.py::TestURLGenerator::test_generate_daily_urls",
  "tests/test_url_generator.py::TestURLGenerator::test_generate_date_range_urls",
  "tests/test_url_generator.py::TestURLGenerator::test_generate_date_range_urls_custom",
  "tests/test_url_generator.py::TestURLGenerator::test_generate_date_range_urls_single_day",
  "tests/test_url_generator.py::TestURLGenerator::test_generate_default_urls",
  "tests/test_url_generator.py::TestURLGenerator::test_generate_last_month_urls",
  "tests/test_url_generator.py::TestURLGenerator::test_last_month_date_range",
  "tests/test_url_generator.py::TestURLGenerator::test_validate_url_invalid",
  "tests/test_url_generator.py::TestURLGenerator::test_validate_url_valid",
  "tests/test_validation_service.py::TestValidationService::test_calculate_file_hash",
  "tests/test_validation_service.py::TestValidationService::test_calculate_file_hash_different_algorithms",
  "tests/test_validation_service.py::TestValidationService::test_comprehensive_validation_empty_file",
  "tests/test_validation_service.py::TestValidationService::test_comprehensive_validation_missing_file",
  "tests/test_validation_service.py::TestValidationService::test_comprehensive_validation_multiple_errors",
  "tests/test_validation_service.py::TestValidationService::test_comprehensive_validation_success",
  "tests/test_validation_service.py::TestValidationService::test_get_image_info_corrupted_file",
  "tests/test_validation_service.py::TestValidationService::test_get_image_info_success",
  "tests/test_validation_service.py::TestValidationService::test_repair_corrupted_image_failure",
  "tests/test_validation_service.py::TestValidationService::test_repair_corrupted_image_success",
  "tests/test_validation_service.py::TestValidationService::test_validate_file_size_exact_match",
  "tests/test_validation_service.py::TestValidationService::test_validate_file_size_outside_tolerance",
  "tests/test_validation_service.py::TestValidationService::test_validate_file_size_within_tolerance",
  "tests/test_validation_service.py::TestValidationService::test_validate_image_content_too_large",
  "tests/test_validation_service.py::TestValidationService::test_validate_image_content_too_small",
  "tests/test_validation_service.py::TestValidationService::test_validate_image_content_valid",
  "tests/test_validation_service.py::TestValidationService::test_validate_image_format_corrupted_file",
  "tests/test_validation_service.py::TestValidationService::test_validate_image_format_invalid_format",
  "tests/test_validation_service.py::TestValidationService::test_validate_image_format_valid_jpeg"
]