From e7c18cf2a96b1f45e5f21a83ee1fe2e18a6dc7e2 Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Wed, 7 Jan 2026 17:36:44 +0000 Subject: test: add SimpleGitServer helper for dumb HTTP git serving Add a test helper that serves git repositories over HTTP using git's dumb HTTP protocol. This enables integration tests that need to fetch git data from an external URL without requiring a full git HTTP backend. Features: - Creates bare clone of source repository - Runs git update-server-info to generate required metadata - Serves static files over HTTP using hyper - Automatic cleanup on drop - Path traversal protection Tests included: - Server starts and stops correctly - info/refs endpoint is accessible - git ls-remote works against server - git fetch works against server - Path traversal is blocked This helper will be used in Phase 3 to test PR clone tag sync, where the PR event's clone URL points to an external git server that is NOT an ngit-grasp relay. --- tests/common/mod.rs | 2 ++ 1 file changed, 2 insertions(+) (limited to 'tests/common/mod.rs') diff --git a/tests/common/mod.rs b/tests/common/mod.rs index f511163..e70bd71 100644 --- a/tests/common/mod.rs +++ b/tests/common/mod.rs @@ -2,10 +2,12 @@ #![allow(dead_code)] // Test helpers may not be used in all test configurations #![allow(unused_imports)] // Re-exports may not be used in all test configurations +pub mod git_server; pub mod purgatory_helpers; pub mod relay; pub mod sync_helpers; +pub use git_server::SimpleGitServer; pub use purgatory_helpers::*; pub use relay::TestRelay; pub use sync_helpers::*; -- cgit v1.2.3