Files
ngit-grasp/tests/common/mod.rs
T
DanConwayDev e7c18cf2a9 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.
2026-01-07 17:36:44 +00:00

14 lines
393 B
Rust

//! Common test utilities
#![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::*;