diff options
| author | DanConwayDev <DanConwayDev@protonmail.com> | 2026-01-07 17:36:44 +0000 |
|---|---|---|
| committer | DanConwayDev <DanConwayDev@protonmail.com> | 2026-01-07 17:36:44 +0000 |
| commit | e7c18cf2a96b1f45e5f21a83ee1fe2e18a6dc7e2 (patch) | |
| tree | d0f6b3af68841658e7f1338990651aaf841fc469 /tests/common/mod.rs | |
| parent | 42bf1196003c0b39179d8c9d2c07ecf9a83a4a74 (diff) | |
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.
Diffstat (limited to 'tests/common/mod.rs')
| -rw-r--r-- | tests/common/mod.rs | 2 |
1 files changed, 2 insertions, 0 deletions
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 @@ | |||
| 2 | #![allow(dead_code)] // Test helpers may not be used in all test configurations | 2 | #![allow(dead_code)] // Test helpers may not be used in all test configurations |
| 3 | #![allow(unused_imports)] // Re-exports may not be used in all test configurations | 3 | #![allow(unused_imports)] // Re-exports may not be used in all test configurations |
| 4 | 4 | ||
| 5 | pub mod git_server; | ||
| 5 | pub mod purgatory_helpers; | 6 | pub mod purgatory_helpers; |
| 6 | pub mod relay; | 7 | pub mod relay; |
| 7 | pub mod sync_helpers; | 8 | pub mod sync_helpers; |
| 8 | 9 | ||
| 10 | pub use git_server::SimpleGitServer; | ||
| 9 | pub use purgatory_helpers::*; | 11 | pub use purgatory_helpers::*; |
| 10 | pub use relay::TestRelay; | 12 | pub use relay::TestRelay; |
| 11 | pub use sync_helpers::*; | 13 | pub use sync_helpers::*; |