Testing Evidence
This page maps DSM production claims to executable source evidence. Use it during review to ask what the repository actually proves, and what risk remains outside the test boundary.
Evidence Matrix
| Area | Test evidence | What it proves | Residual risk |
|---|---|---|---|
| Runtime integration | RuntimeIntegrationTest | Locator isolation, CRDT merge behavior, lease fencing paths. | Does not prove production network behavior. |
| Two-node sync | TwoNodeIntegrationTest | Manual two-node register replication with fake membership and explicit sync services. | Fake infrastructure is not a transport benchmark. |
| Chaos and repair | ChaosIntegrationTest | Partition healing, anti-entropy catch-up, and repair behavior under disruption. | Real network failures can be messier than test faults. |
| Consistency invariants | ConsistencyInvariantIntegrationTest, LongRunningConsistencySoakTest | Seeded and longer-running consistency checks across randomized operation patterns. | Soak coverage must be kept running in CI/release lanes. |
| Adaptive repair | AdaptiveRepairPlannerTest, RuntimeDataPlaneReplicationServiceTest | Replay-vs-snapshot choice, fallback behavior, relay failure exclusion, recovery catch-up. | Cost estimates depend on production traffic shape. |
| Federation | InMemoryFederationBridgeTest, FederationIntegrationTest | Bootstrap, live forwarding, dropped mutation repair, relay recovery, register convergence. | In-memory relay is not a production cross-cluster transport. |
| Security | SenderRateLimiterTest, SlidingWindowNonceTrackerTest, security integration tests | Sender ban, nonce sender LRU eviction, signing, replay, and tamper rejection behavior. | Key management and secret rotation remain deployment responsibilities. |
| Membership / relay health | TimeoutRelayHealthMonitorTest | Relay health transitions and listener notifications. | Does not prove every cloud networking mode. |
| Spring Boot | DsmAutoConfigurationTest, DsmSpringBootSmokeTest | Property binding, validation, auto-configuration, and starter smoke path. | Application-specific beans still need service tests. |
| Eviction | TtlEvictionPolicyTest | TTL expiry behavior and runtime eviction path. | External multi-tier storage implementations need their own tests. |
Review Questions
Before declaring a service integration ready:
- Which DSM behavior is covered by repository tests?
- Which business wrapper code is covered by service-local tests?
- Which production risks are covered only by staging, soak, or chaos tests?
- Are schema compatibility and key rotation tested across rolling deployments?
- Are error codes and metrics asserted where the service depends on them operationally?