diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-06-21 05:09:56 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-06-21 05:09:56 +0900 |
| commit | 25f96cab45f5da4fba2ef0486a0b0bc8f7ca87b0 (patch) | |
| tree | 0974de4f5e7a19415f2bcda9adc34cb95263b2e9 /crates/shirabe/tests/downloader | |
| parent | b07f3a9f51d7ce5ea8ee4dc45da7fe9a55b7f1d4 (diff) | |
| download | php-shirabe-25f96cab45f5da4fba2ef0486a0b0bc8f7ca87b0.tar.gz php-shirabe-25f96cab45f5da4fba2ef0486a0b0bc8f7ca87b0.tar.zst php-shirabe-25f96cab45f5da4fba2ef0486a0b0bc8f7ca87b0.zip | |
test: port downloader/installer/io/json/event-dispatcher/functional stubs
All ignored: these mock IO/HttpDownloader (curl)/ProcessExecutor/installers,
use ZipArchive/JsonManipulator todo!()s, need Symfony console or schema
validation, reflect into ClassLoader, or run end-to-end install/functional
fixtures. Wires up the event_dispatcher test target.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/tests/downloader')
5 files changed, 120 insertions, 0 deletions
diff --git a/crates/shirabe/tests/downloader/download_manager_test.rs b/crates/shirabe/tests/downloader/download_manager_test.rs index b13420b..a047420 100644 --- a/crates/shirabe/tests/downloader/download_manager_test.rs +++ b/crates/shirabe/tests/downloader/download_manager_test.rs @@ -1 +1,45 @@ //! ref: composer/tests/Composer/Test/Downloader/DownloadManagerTest.php + +// These mock IO and individual downloaders to drive DownloadManager's selection/download/ +// update/remove logic; mocking is not available here. +macro_rules! stub { + ($name:ident) => { + #[test] + #[ignore = "mocks IO and individual downloaders to drive DownloadManager; mocking is not available"] + fn $name() { + todo!() + } + }; +} + +stub!(test_set_get_downloader); +stub!(test_get_downloader_for_incorrectly_installed_package); +stub!(test_get_downloader_for_correctly_installed_dist_package); +stub!(test_get_downloader_for_incorrectly_installed_dist_package); +stub!(test_get_downloader_for_correctly_installed_source_package); +stub!(test_get_downloader_for_incorrectly_installed_source_package); +stub!(test_get_downloader_for_metapackage); +stub!(test_full_package_download); +stub!(test_full_package_download_failover); +stub!(test_bad_package_download); +stub!(test_dist_only_package_download); +stub!(test_source_only_package_download); +stub!(test_metapackage_package_download); +stub!(test_full_package_download_with_source_preferred); +stub!(test_dist_only_package_download_with_source_preferred); +stub!(test_source_only_package_download_with_source_preferred); +stub!(test_bad_package_download_with_source_preferred); +stub!(test_update_dist_with_equal_types); +stub!(test_update_dist_with_not_equal_types); +stub!(test_get_available_sources_update_sticks_to_same_source); +stub!(test_update_metapackage); +stub!(test_remove); +stub!(test_metapackage_remove); +stub!(test_install_preference_without_preference_dev); +stub!(test_install_preference_without_preference_no_dev); +stub!(test_install_preference_without_match_dev); +stub!(test_install_preference_without_match_no_dev); +stub!(test_install_preference_with_match_auto_dev); +stub!(test_install_preference_with_match_auto_no_dev); +stub!(test_install_preference_with_match_source); +stub!(test_install_preference_with_match_dist); diff --git a/crates/shirabe/tests/downloader/file_downloader_test.rs b/crates/shirabe/tests/downloader/file_downloader_test.rs index 54afad4..4e9cbc6 100644 --- a/crates/shirabe/tests/downloader/file_downloader_test.rs +++ b/crates/shirabe/tests/downloader/file_downloader_test.rs @@ -1 +1,23 @@ //! ref: composer/tests/Composer/Test/Downloader/FileDownloaderTest.php + +// These construct a FileDownloader with a mocked IO/HttpDownloader (curl_multi_init todo!()) +// and a mocked Cache/Package to drive download/checksum behaviour. +macro_rules! stub { + ($name:ident) => { + #[test] + #[ignore = "mocks IO/HttpDownloader (curl_multi_init todo!()) and Cache/Package"] + fn $name() { + todo!() + } + }; +} + +stub!(test_download_for_package_without_dist_reference); +stub!(test_download_to_existing_file); +stub!(test_get_file_name); +stub!(test_download_but_file_is_unsaved); +stub!(test_download_with_custom_processed_url); +stub!(test_download_with_custom_cache_key); +stub!(test_cache_garbage_collection_is_called); +stub!(test_download_file_with_invalid_checksum); +stub!(test_downgrade_shows_appropriate_message); diff --git a/crates/shirabe/tests/downloader/git_downloader_test.rs b/crates/shirabe/tests/downloader/git_downloader_test.rs index 3c30177..c332b5d 100644 --- a/crates/shirabe/tests/downloader/git_downloader_test.rs +++ b/crates/shirabe/tests/downloader/git_downloader_test.rs @@ -1 +1,30 @@ //! ref: composer/tests/Composer/Test/Downloader/GitDownloaderTest.php + +// These construct a GitDownloader with a mocked IO/Config and a mocked ProcessExecutor to +// feed git command output; mocking is not available, and a real HttpDownloader reaches +// curl_multi_init (todo!()). +macro_rules! stub { + ($name:ident) => { + #[test] + #[ignore = "mocks ProcessExecutor/IO and needs an HttpDownloader (curl_multi_init todo!())"] + fn $name() { + todo!() + } + }; +} + +stub!(test_download_for_package_without_source_reference); +stub!(test_download); +stub!(test_download_with_cache); +stub!(test_download_uses_various_protocols_and_sets_push_url_for_github); +stub!(test_download_and_set_push_url_use_custom_various_protocols_for_github); +stub!(test_download_throws_runtime_exception_if_git_command_fails); +stub!(test_updatefor_package_without_source_reference); +stub!(test_update); +stub!(test_update_with_new_repo_url); +stub!(test_update_throws_runtime_exception_if_git_command_fails); +stub!(test_update_doesnt_throws_runtime_exception_if_git_command_fails_at_first_but_is_able_to_recover); +stub!(test_downgrade_shows_appropriate_message); +stub!(test_not_using_downgrading_with_references); +stub!(test_remove); +stub!(test_get_installation_source); diff --git a/crates/shirabe/tests/downloader/main.rs b/crates/shirabe/tests/downloader/main.rs index cf52ccd..6e39b85 100644 --- a/crates/shirabe/tests/downloader/main.rs +++ b/crates/shirabe/tests/downloader/main.rs @@ -1,5 +1,9 @@ mod archive_downloader_test; +mod download_manager_test; +mod file_downloader_test; mod fossil_downloader_test; +mod git_downloader_test; mod hg_downloader_test; mod perforce_downloader_test; mod xz_downloader_test; +mod zip_downloader_test; diff --git a/crates/shirabe/tests/downloader/zip_downloader_test.rs b/crates/shirabe/tests/downloader/zip_downloader_test.rs index 8b53dac..0c8657c 100644 --- a/crates/shirabe/tests/downloader/zip_downloader_test.rs +++ b/crates/shirabe/tests/downloader/zip_downloader_test.rs @@ -1 +1,22 @@ //! ref: composer/tests/Composer/Test/Downloader/ZipDownloaderTest.php + +// These construct a ZipDownloader with a mocked IO/HttpDownloader/ProcessExecutor and rely +// on ZipArchive extraction (todo!() in the php-shim) plus mocked unzip behaviour. +macro_rules! stub { + ($name:ident) => { + #[test] + #[ignore = "mocks IO/HttpDownloader/ProcessExecutor and uses ZipArchive (todo!())"] + fn $name() { + todo!() + } + }; +} + +stub!(test_error_messages); +stub!(test_zip_archive_only_failed); +stub!(test_zip_archive_extract_only_failed); +stub!(test_zip_archive_only_good); +stub!(test_system_unzip_only_failed); +stub!(test_system_unzip_only_good); +stub!(test_non_windows_fallback_good); +stub!(test_non_windows_fallback_failed); |
