diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-06-21 04:30:31 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-06-21 04:30:31 +0900 |
| commit | d02e79c0cddd986a0b2cef878f32bda39cc2f5e9 (patch) | |
| tree | 43e2256ae239aa005d31bc9505a507b4d303ab17 /crates/shirabe/tests/repository | |
| parent | d2babe9ed19a40dca2790b3eeaff0b0de9714451 (diff) | |
| download | php-shirabe-d02e79c0cddd986a0b2cef878f32bda39cc2f5e9.tar.gz php-shirabe-d02e79c0cddd986a0b2cef878f32bda39cc2f5e9.tar.zst php-shirabe-d02e79c0cddd986a0b2cef878f32bda39cc2f5e9.zip | |
test: port SecurityAdvisoryPoolFilter, downloader/command/app stubs
All ignored/todo!(): the advisory filter parses affectedVersions via a
look-around regex; the Hg/Fossil/Perforce/Archive downloaders and
RepositoryManager need mocked process/HttpDownloader (curl); the Validate/
Archive commands, ApplicationTest and CompletionFunctionalTest need the
ApplicationTester/console harness. setUp/tearDown not ported.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/tests/repository')
6 files changed, 73 insertions, 11 deletions
diff --git a/crates/shirabe/tests/repository/filter_repository_test.rs b/crates/shirabe/tests/repository/filter_repository_test.rs index 1f8b64a..1074fb4 100644 --- a/crates/shirabe/tests/repository/filter_repository_test.rs +++ b/crates/shirabe/tests/repository/filter_repository_test.rs @@ -22,19 +22,31 @@ fn array_repo() -> RepositoryInterfaceHandle { RepositoryInterfaceHandle::new(repo) } -fn config(only: Option<&[&str]>, exclude: Option<&[&str]>) -> IndexMap<String, shirabe_php_shim::PhpMixed> { +fn config( + only: Option<&[&str]>, + exclude: Option<&[&str]>, +) -> IndexMap<String, shirabe_php_shim::PhpMixed> { use shirabe_php_shim::PhpMixed; let mut c: IndexMap<String, PhpMixed> = IndexMap::new(); if let Some(only) = only { c.insert( "only".to_string(), - PhpMixed::List(only.iter().map(|s| PhpMixed::String(s.to_string())).collect()), + PhpMixed::List( + only.iter() + .map(|s| PhpMixed::String(s.to_string())) + .collect(), + ), ); } if let Some(exclude) = exclude { c.insert( "exclude".to_string(), - PhpMixed::List(exclude.iter().map(|s| PhpMixed::String(s.to_string())).collect()), + PhpMixed::List( + exclude + .iter() + .map(|s| PhpMixed::String(s.to_string())) + .collect(), + ), ); } c @@ -45,7 +57,10 @@ fn match_all() -> AnyConstraint { } fn stabilities() -> IndexMap<String, i64> { - STABILITIES.iter().map(|(k, v)| (k.to_string(), *v)).collect() + STABILITIES + .iter() + .map(|(k, v)| (k.to_string(), *v)) + .collect() } #[test] diff --git a/crates/shirabe/tests/repository/main.rs b/crates/shirabe/tests/repository/main.rs index 9884b3f..4cbaf2e 100644 --- a/crates/shirabe/tests/repository/main.rs +++ b/crates/shirabe/tests/repository/main.rs @@ -7,5 +7,6 @@ mod composite_repository_test; mod filter_repository_test; mod installed_repository_test; mod repository_factory_test; +mod repository_manager_test; mod repository_utils_test; mod vcs; diff --git a/crates/shirabe/tests/repository/repository_factory_test.rs b/crates/shirabe/tests/repository/repository_factory_test.rs index 8871f91..98e2c85 100644 --- a/crates/shirabe/tests/repository/repository_factory_test.rs +++ b/crates/shirabe/tests/repository/repository_factory_test.rs @@ -60,8 +60,10 @@ fn test_generate_repository_name() { .into_iter() .map(|(k, v)| (k.to_string(), v)) .collect(); - let existing_repos: IndexMap<String, ()> = - existing_keys.into_iter().map(|k| (k.to_string(), ())).collect(); + let existing_repos: IndexMap<String, ()> = existing_keys + .into_iter() + .map(|k| (k.to_string(), ())) + .collect(); assert_eq!( expected, diff --git a/crates/shirabe/tests/repository/repository_manager_test.rs b/crates/shirabe/tests/repository/repository_manager_test.rs index 6af58e8..60deb7e 100644 --- a/crates/shirabe/tests/repository/repository_manager_test.rs +++ b/crates/shirabe/tests/repository/repository_manager_test.rs @@ -1 +1,29 @@ //! ref: composer/tests/Composer/Test/Repository/RepositoryManagerTest.php + +// These construct a RepositoryManager (which builds an HttpDownloader reaching +// curl_multi_init, todo!()) with a mocked IO/Config/EventDispatcher and exercise repo +// creation/prepending/wrapping. + +#[test] +#[ignore = "RepositoryManager::new builds an HttpDownloader (curl_multi_init todo!()) and mocks IO/Config"] +fn test_prepend() { + todo!() +} + +#[test] +#[ignore = "RepositoryManager::new builds an HttpDownloader (curl_multi_init todo!()) and mocks IO/Config"] +fn test_repo_creation() { + todo!() +} + +#[test] +#[ignore = "RepositoryManager::new builds an HttpDownloader (curl_multi_init todo!()) and mocks IO/Config"] +fn test_invalid_repo_creation_throws() { + todo!() +} + +#[test] +#[ignore = "RepositoryManager::new builds an HttpDownloader (curl_multi_init todo!()) and mocks IO/Config"] +fn test_filter_repo_wrapping() { + todo!() +} diff --git a/crates/shirabe/tests/repository/repository_utils_test.rs b/crates/shirabe/tests/repository/repository_utils_test.rs index e892af7..3f55bfd 100644 --- a/crates/shirabe/tests/repository/repository_utils_test.rs +++ b/crates/shirabe/tests/repository/repository_utils_test.rs @@ -107,7 +107,12 @@ fn provide_filter_require_tests() -> Vec<FilterCase> { }, // 'simple require' FilterCase { - requirer: load_with("requirer/pkg", "1.0.0", "require", vec![("required/a", "*")]), + requirer: load_with( + "requirer/pkg", + "1.0.0", + "require", + vec![("required/a", "*")], + ), expected: vec!["a"], include_require_dev: false, }, @@ -124,7 +129,12 @@ fn provide_filter_require_tests() -> Vec<FilterCase> { }, // 'require transitive deps and aliases are included' FilterCase { - requirer: load_with("requirer/pkg", "1.0.0", "require", vec![("required/b", "*")]), + requirer: load_with( + "requirer/pkg", + "1.0.0", + "require", + vec![("required/b", "*")], + ), expected: vec!["b", "c", "c-alias"], include_require_dev: false, }, @@ -148,8 +158,11 @@ fn test_filter_required_packages() { for case in provide_filter_require_tests() { let pkgs = build_packages(); let packages: Vec<PackageInterfaceHandle> = pkgs.values().cloned().collect(); - let expected: Vec<PackageInterfaceHandle> = - case.expected.iter().map(|name| pkgs[*name].clone()).collect(); + let expected: Vec<PackageInterfaceHandle> = case + .expected + .iter() + .map(|name| pkgs[*name].clone()) + .collect(); let result = RepositoryUtils::filter_required_packages( &packages, diff --git a/crates/shirabe/tests/repository/vcs/fossil_driver_test.rs b/crates/shirabe/tests/repository/vcs/fossil_driver_test.rs index 18bd7a0..e677b3d 100644 --- a/crates/shirabe/tests/repository/vcs/fossil_driver_test.rs +++ b/crates/shirabe/tests/repository/vcs/fossil_driver_test.rs @@ -11,7 +11,10 @@ use shirabe::repository::vcs::FossilDriver; fn support_provider() -> Vec<(&'static str, bool)> { vec![ ("http://fossil.kd2.org/kd2fw/", true), - ("https://chiselapp.com/user/rkeene/repository/flint/index", true), + ( + "https://chiselapp.com/user/rkeene/repository/flint/index", + true, + ), ("ssh://fossil.kd2.org/kd2fw.fossil", true), ] } |
