diff options
| author | DanConwayDev <DanConwayDev@protonmail.com> | 2025-12-10 16:13:51 +0000 |
|---|---|---|
| committer | DanConwayDev <DanConwayDev@protonmail.com> | 2025-12-10 16:13:51 +0000 |
| commit | d08878d0b9a8738e57e457a916677d2061775cbd (patch) | |
| tree | 7bbb4a185304615e4cc587cd23052de7a7cfea3a /tests/sync/mod.rs | |
| parent | 8148c27a1350189046bc8e215f29f918dd8747f5 (diff) | |
Phase 5: Migrate bootstrap and discovery tests
Create organized test structure for proactive sync:
tests/common/sync_helpers.rs (from Phase 4):
- TestClient with retry logic for connect/send
- Event builders: build_layer2_issue_event, build_layer3_comment_event
- Tag variants (a/A/q for Layer 2, e/E/q for Layer 3)
- wait_for_event_on_relay() assertion helper
- repo_coord() utility function
- Unit tests for all builders
tests/sync/mod.rs:
- Module organization for sync tests
- Documentation of test categories
tests/sync.rs:
- Main test harness including common and sync modules
tests/sync/bootstrap.rs:
- test_bootstrap_syncs_existing_layer2_events (Test 1)
- test_relay_replays_events_after_restart (Test 4)
tests/sync/discovery.rs:
- test_discovers_layer3_via_layer2 (Test 2)
- test_layer2_discovery_with_chain (Test 3 - simplified)
All 14 tests pass: cargo test --test sync
Diffstat (limited to 'tests/sync/mod.rs')
| -rw-r--r-- | tests/sync/mod.rs | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/sync/mod.rs b/tests/sync/mod.rs new file mode 100644 index 0000000..a3d7bb5 --- /dev/null +++ b/tests/sync/mod.rs | |||
| @@ -0,0 +1,35 @@ | |||
| 1 | //! Proactive Sync Integration Tests | ||
| 2 | //! | ||
| 3 | //! This module organizes tests for ngit-grasp's proactive sync functionality. | ||
| 4 | //! Tests are grouped by sync scenario: | ||
| 5 | //! | ||
| 6 | //! - Bootstrap sync (relay syncs from pre-configured bootstrap relay) | ||
| 7 | //! - Relay discovery (relay discovers other relays from announcement events) | ||
| 8 | //! - Live sync (events sync in real-time after connection established) | ||
| 9 | //! - Tag variations (testing different Layer 2/3 tag types: a/A/q, e/E/q) | ||
| 10 | //! - Catchup sync (events from disconnected period sync on reconnect) | ||
| 11 | //! | ||
| 12 | //! # Test Files (to be added in subsequent phases) | ||
| 13 | //! | ||
| 14 | //! - `bootstrap.rs` - Tests 1, 4: sync from bootstrap relay | ||
| 15 | //! - `discovery.rs` - Tests 2, 3: relay discovery from announcements | ||
| 16 | //! - `live_sync.rs` - Tests 5, 6, 7: real-time sync after connection | ||
| 17 | //! - `tag_variations.rs` - Tests 8, 9: Layer 2/3 tag type coverage | ||
| 18 | //! - `catchup.rs` - Test 0: catchup after disconnect (stub) | ||
| 19 | //! | ||
| 20 | //! # Shared Imports | ||
| 21 | //! | ||
| 22 | //! All sync tests use helpers from `common::sync_helpers`: | ||
| 23 | //! - `TestClient` - Client with retry logic | ||
| 24 | //! - Event builders for Layer 2/3 events | ||
| 25 | //! - `wait_for_event_on_relay()` - Non-panicking assertion helper | ||
| 26 | //! | ||
| 27 | //! See `work/proactive-sync-test-implementation-plan.md` for full design. | ||
| 28 | |||
| 29 | // Re-export sync helpers for convenient access in test files | ||
| 30 | // Tests in this module can use: | ||
| 31 | // use super::*; | ||
| 32 | // to get access to these helpers. | ||
| 33 | |||
| 34 | // Note: The actual test file modules will be added in Phase 5+ | ||
| 35 | // For now, this module serves as the organizational root. \ No newline at end of file | ||