Resolve all high-severity architecture review findings
This commit is contained in:
@@ -545,15 +545,21 @@ public class DataConnectionActorTests : TestKit
|
||||
backupAdapter.ReceivedCalls().Any(c => c.GetMethodInfo().Name == "ConnectAsync"),
|
||||
TimeSpan.FromSeconds(5));
|
||||
|
||||
// Release the in-flight subscribe; the loop resumes and subscribes t2.
|
||||
// Demand is registered before I/O (DC-1), so failover independently recovers
|
||||
// both tags on backup even while the original primary operation is parked.
|
||||
AwaitCondition(() => backupAdapter.ReceivedCalls().Count(c => c.GetMethodInfo().Name == "SubscribeAsync") == 2,
|
||||
TimeSpan.FromSeconds(5));
|
||||
|
||||
// Release the in-flight subscribe; its own loop must still finish on primary.
|
||||
subscribeGate.SetResult("sub-primary-1");
|
||||
|
||||
// t2 must go to the ORIGINAL (primary) adapter, never the swapped-in backup.
|
||||
AwaitCondition(() =>
|
||||
primaryAdapter.ReceivedCalls().Count(c => c.GetMethodInfo().Name == "SubscribeAsync") >= 2,
|
||||
TimeSpan.FromSeconds(5));
|
||||
Assert.DoesNotContain(backupAdapter.ReceivedCalls(),
|
||||
c => c.GetMethodInfo().Name == "SubscribeAsync");
|
||||
Assert.Contains(primaryAdapter.ReceivedCalls(),
|
||||
c => c.GetMethodInfo().Name == "SubscribeAsync" && Equals(c.GetArguments()[0], "t2"));
|
||||
Assert.Equal(2, backupAdapter.ReceivedCalls().Count(c => c.GetMethodInfo().Name == "SubscribeAsync"));
|
||||
}
|
||||
|
||||
// ── PLAN-03 Task 17 (P3): tag→instances reverse index for the value fan-out hot path ──
|
||||
|
||||
Reference in New Issue
Block a user