Remove Quire::new; tests use Quire::default or Quire::load
Quire::new was only used in tests and always produced a default-config
Quire. Tests that only need path resolution use Quire::default(), and
tests that need a real tempdir call Quire::load instead.
https://claude.ai/code/session_01W3WDZKLhnmqcipFUGDKHaD
diff --git a/quire-server/src/ci/mod.rs b/quire-server/src/ci/mod.rs
index 804b7d2..b58e316 100644
--- a/quire-server/src/ci/mod.rs
+++ b/quire-server/src/ci/mod.rs
@@ -299,7 +299,7 @@ mod tests {
],
);
- let quire = Quire::new(dir.path().to_path_buf());
+ let quire = Quire::load(dir.path().to_path_buf()).expect("load");
// Initialize the database.
let mut db = crate::db::open(&quire.db_path()).expect("init db");
crate::db::migrate(&mut db).expect("migrate db");
@@ -325,7 +325,7 @@ mod tests {
],
);
- let quire = Quire::new(dir.path().to_path_buf());
+ let quire = Quire::load(dir.path().to_path_buf()).expect("load");
let mut db = crate::db::open(&quire.db_path()).expect("init db");
crate::db::migrate(&mut db).expect("migrate db");
drop(db);
@@ -617,7 +617,7 @@ exit 0
#[test]
fn trigger_skips_nonexistent_repo() {
let dir = tempfile::tempdir().expect("tempdir");
- let quire = Quire::new(dir.path().to_path_buf());
+ let quire = Quire::load(dir.path().to_path_buf()).expect("load");
let event = push_event("no-such.git", "abc123");
// Should not panic — just logs and returns.
trigger(&quire, &event);
@@ -626,7 +626,7 @@ exit 0
#[test]
fn trigger_skips_repo_not_on_disk() {
let dir = tempfile::tempdir().expect("tempdir");
- let quire = Quire::new(dir.path().to_path_buf());
+ let quire = Quire::load(dir.path().to_path_buf()).expect("load");
// repo name is valid but directory doesn't exist.
let event = push_event("missing.git", "abc123");
trigger(&quire, &event);
@@ -635,7 +635,7 @@ exit 0
#[test]
fn trigger_skips_invalid_repo_name() {
let dir = tempfile::tempdir().expect("tempdir");
- let quire = Quire::new(dir.path().to_path_buf());
+ let quire = Quire::load(dir.path().to_path_buf()).expect("load");
// Repo name with path traversal — quire.repo() returns Err.
let event = push_event("../evil.git", "abc123");
trigger(&quire, &event);
diff --git a/quire-server/src/ci/run.rs b/quire-server/src/ci/run.rs
index 929fa5a..e5c08b1 100644
--- a/quire-server/src/ci/run.rs
+++ b/quire-server/src/ci/run.rs
@@ -567,7 +567,7 @@ mod tests {
fn tmp_quire() -> (tempfile::TempDir, Quire) {
let dir = tempfile::tempdir().expect("tempdir");
- let quire = Quire::new(dir.path().to_path_buf());
+ let quire = Quire::load(dir.path().to_path_buf()).expect("load");
// Initialize the database.
let mut db = crate::db::open(&quire.db_path()).expect("init db");
crate::db::migrate(&mut db).expect("migrate db");
diff --git a/quire-server/src/quire/mod.rs b/quire-server/src/quire/mod.rs
index 358ff06..8b7ad3b 100644
--- a/quire-server/src/quire/mod.rs
+++ b/quire-server/src/quire/mod.rs
@@ -246,15 +246,6 @@ impl Quire {
})
}
- #[cfg(test)]
- pub fn new(base_dir: PathBuf) -> Self {
- Self {
- base_dir,
- config: GlobalConfig::default(),
- db_pool: Arc::new(OnceLock::new()),
- }
- }
-
pub fn base_dir(&self) -> &Path {
&self.base_dir
}
@@ -332,7 +323,11 @@ impl Quire {
#[cfg(test)]
impl Default for Quire {
fn default() -> Self {
- Self::new(PathBuf::from("/var/quire"))
+ Self {
+ base_dir: PathBuf::from("/var/quire"),
+ config: GlobalConfig::default(),
+ db_pool: Arc::new(OnceLock::new()),
+ }
}
}
@@ -370,7 +365,7 @@ mod tests {
#[test]
fn repos_lists_bare_repos() {
let dir = tempfile::tempdir().expect("tempdir");
- let q = Quire::new(dir.path().to_path_buf());
+ let q = Quire::load(dir.path().to_path_buf()).expect("load");
let repos_dir = q.repos_dir();
// Create two bare repos.
@@ -389,7 +384,7 @@ mod tests {
#[test]
fn repos_empty_when_no_dirs() {
let dir = tempfile::tempdir().expect("tempdir");
- let q = Quire::new(dir.path().to_path_buf());
+ let q = Quire::load(dir.path().to_path_buf()).expect("load");
let repos: Vec<_> = q.repos().expect("repos").collect();
assert!(repos.is_empty());
}
@@ -444,7 +439,7 @@ mod tests {
#[test]
fn repo_from_path_valid() {
let dir = tempfile::tempdir().expect("tempdir");
- let q = Quire::new(dir.path().to_path_buf());
+ let q = Quire::load(dir.path().to_path_buf()).expect("load");
let path = dir.path().join("repos").join("foo.git");
let repo = q.repo_from_path(&path).expect("should resolve");
assert_eq!(repo.path(), path);
@@ -453,7 +448,7 @@ mod tests {
#[test]
fn repo_from_path_outside_repos() {
let dir = tempfile::tempdir().expect("tempdir");
- let q = Quire::new(dir.path().to_path_buf());
+ let q = Quire::load(dir.path().to_path_buf()).expect("load");
let path = PathBuf::from("/tmp/evil.git");
assert!(q.repo_from_path(&path).is_err());
}
@@ -461,7 +456,7 @@ mod tests {
#[test]
fn repo_from_path_rejects_bad_name() {
let dir = tempfile::tempdir().expect("tempdir");
- let q = Quire::new(dir.path().to_path_buf());
+ let q = Quire::load(dir.path().to_path_buf()).expect("load");
let path = dir.path().join("repos").join("foo"); // missing .git
assert!(q.repo_from_path(&path).is_err());
}
diff --git a/quire-server/src/quire/web/api.rs b/quire-server/src/quire/web/api.rs
index d5186fd..c9dddf5 100644
--- a/quire-server/src/quire/web/api.rs
+++ b/quire-server/src/quire/web/api.rs
@@ -247,7 +247,7 @@ mod tests {
impl TestEnv {
fn new() -> Self {
let dir = tempfile::tempdir().expect("tempdir");
- let quire = Quire::new(dir.path().to_path_buf());
+ let quire = Quire::load(dir.path().to_path_buf()).expect("load");
let mut db = crate::db::open(&quire.db_path()).expect("db open");
crate::db::migrate(&mut db).expect("migrate");
drop(db);
diff --git a/quire-server/src/quire/web/handlers.rs b/quire-server/src/quire/web/handlers.rs
index 65a5fe0..2eedbba 100644
--- a/quire-server/src/quire/web/handlers.rs
+++ b/quire-server/src/quire/web/handlers.rs
@@ -297,7 +297,7 @@ mod tests {
impl TestEnv {
fn new() -> Self {
let dir = tempfile::tempdir().expect("tempdir");
- let quire = Quire::new(dir.path().to_path_buf());
+ let quire = Quire::load(dir.path().to_path_buf()).expect("load");
// Create repos dir + a bare repo so `quire.repo("example.git")` resolves.
let repos_dir = quire.repos_dir();