aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/tests/repository
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-21 04:30:31 +0900
committernsfisis <nsfisis@gmail.com>2026-06-21 04:30:31 +0900
commitd02e79c0cddd986a0b2cef878f32bda39cc2f5e9 (patch)
tree43e2256ae239aa005d31bc9505a507b4d303ab17 /crates/shirabe/tests/repository
parentd2babe9ed19a40dca2790b3eeaff0b0de9714451 (diff)
downloadphp-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')
-rw-r--r--crates/shirabe/tests/repository/filter_repository_test.rs23
-rw-r--r--crates/shirabe/tests/repository/main.rs1
-rw-r--r--crates/shirabe/tests/repository/repository_factory_test.rs6
-rw-r--r--crates/shirabe/tests/repository/repository_manager_test.rs28
-rw-r--r--crates/shirabe/tests/repository/repository_utils_test.rs21
-rw-r--r--crates/shirabe/tests/repository/vcs/fossil_driver_test.rs5
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),
]
}