upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/tests/sync/mod.rs
diff options
context:
space:
mode:
authorDanConwayDev <DanConwayDev@protonmail.com>2025-12-10 16:13:51 +0000
committerDanConwayDev <DanConwayDev@protonmail.com>2025-12-10 16:13:51 +0000
commitd08878d0b9a8738e57e457a916677d2061775cbd (patch)
tree7bbb4a185304615e4cc587cd23052de7a7cfea3a /tests/sync/mod.rs
parent8148c27a1350189046bc8e215f29f918dd8747f5 (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.rs35
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