Refactor RDP proxy handling and update related tests
This commit is contained in:
@@ -10,15 +10,15 @@ func TestPeerCacheSelectsAdjacentWarmPeersWithinLimit(t *testing.T) {
|
||||
cache := NewPeerCache(PeerCacheConfig{
|
||||
Local: local,
|
||||
PeerEndpoints: map[string]string{
|
||||
"node-a": "http://node-a:19000",
|
||||
"node-r": "http://node-r:19000",
|
||||
"node-c": "http://node-c:19000",
|
||||
"node-a": "quic://node-a:19443",
|
||||
"node-r": "quic://node-r:19443",
|
||||
"node-c": "quic://node-c:19443",
|
||||
},
|
||||
Routes: []SyntheticRoute{
|
||||
peerCacheRoute("route-1", []string{"node-a", local.NodeID, "node-r", "node-c"}),
|
||||
},
|
||||
RecoverySeeds: []PeerRecoverySeed{
|
||||
{NodeID: "node-seed", Endpoint: "https://seed.example.test", Transport: "direct_tcp_tls", Priority: 10},
|
||||
{NodeID: "node-seed", Endpoint: "quic://seed.example.test:19443", Transport: "direct_quic", Priority: 10},
|
||||
},
|
||||
WarmPeerLimit: 2,
|
||||
Now: time.Date(2026, 4, 28, 12, 0, 0, 0, time.UTC),
|
||||
@@ -42,7 +42,7 @@ func TestPeerCachePromotesRecoverySeedAfterRoutePeers(t *testing.T) {
|
||||
peerCacheRoute("route-1", []string{"node-a", local.NodeID, "node-r"}),
|
||||
},
|
||||
RecoverySeeds: []PeerRecoverySeed{
|
||||
{NodeID: "node-seed", Endpoint: "wss://seed.example.test/mesh", Transport: "wss", ConnectivityMode: "direct", Priority: 1},
|
||||
{NodeID: "node-seed", Endpoint: "quic://seed.example.test:19443", Transport: "direct_quic", ConnectivityMode: "direct", Priority: 1},
|
||||
},
|
||||
WarmPeerLimit: 3,
|
||||
Now: time.Date(2026, 4, 28, 12, 0, 0, 0, time.UTC),
|
||||
@@ -68,7 +68,7 @@ func TestPeerCacheUsesBestEndpointCandidate(t *testing.T) {
|
||||
{
|
||||
EndpointID: "node-b-relay",
|
||||
NodeID: "node-b",
|
||||
Transport: "relay",
|
||||
Transport: "relay_quic",
|
||||
Address: "relay.example.test",
|
||||
Reachability: "relay",
|
||||
ConnectivityMode: "relay_required",
|
||||
@@ -77,8 +77,8 @@ func TestPeerCacheUsesBestEndpointCandidate(t *testing.T) {
|
||||
{
|
||||
EndpointID: "node-b-public",
|
||||
NodeID: "node-b",
|
||||
Transport: "direct_tcp_tls",
|
||||
Address: "203.0.113.20:443",
|
||||
Transport: "direct_quic",
|
||||
Address: "quic://203.0.113.20:19443",
|
||||
Reachability: "public",
|
||||
NATType: "none",
|
||||
ConnectivityMode: "direct",
|
||||
@@ -119,10 +119,10 @@ func TestPeerCacheAppliesEndpointHealthObservations(t *testing.T) {
|
||||
LastVerifiedAt: &now,
|
||||
},
|
||||
{
|
||||
EndpointID: "node-b-wss",
|
||||
EndpointID: "node-b-ice",
|
||||
NodeID: "node-b",
|
||||
Transport: "wss",
|
||||
Address: "https://node-b.example.test:443",
|
||||
Transport: "ice_quic",
|
||||
Address: "quic://node-b.example.test:19444",
|
||||
Reachability: "public",
|
||||
NATType: "none",
|
||||
ConnectivityMode: "direct",
|
||||
@@ -148,10 +148,10 @@ func TestPeerCacheAppliesEndpointHealthObservations(t *testing.T) {
|
||||
if !ok {
|
||||
t.Fatal("node-b missing from cache")
|
||||
}
|
||||
if entry.BestCandidateID != "node-b-wss" || entry.Endpoint != "https://node-b.example.test:443" {
|
||||
if entry.BestCandidateID != "node-b-ice" || entry.Endpoint != "quic://node-b.example.test:19444" {
|
||||
t.Fatalf("peer cache did not apply endpoint observations: %+v", entry)
|
||||
}
|
||||
if !containsString(entry.BestScoreReasons, "transport:wss") {
|
||||
if !containsString(entry.BestScoreReasons, "transport:ice_quic") {
|
||||
t.Fatalf("peer cache did not expose score reasons: %+v", entry.BestScoreReasons)
|
||||
}
|
||||
}
|
||||
@@ -161,15 +161,15 @@ func TestPeerCacheUsesPreferredCorporateEndpointAddress(t *testing.T) {
|
||||
cache := NewPeerCache(PeerCacheConfig{
|
||||
Local: local,
|
||||
PeerEndpoints: map[string]string{
|
||||
"node-b": "https://node-b.public.example.test:443",
|
||||
"node-b": "quic://node-b.public.example.test:19443",
|
||||
},
|
||||
PeerEndpointCandidates: map[string][]PeerEndpointCandidate{
|
||||
"node-b": {
|
||||
{
|
||||
EndpointID: "node-b-public",
|
||||
NodeID: "node-b",
|
||||
Transport: "direct_tcp_tls",
|
||||
Address: "https://node-b.public.example.test:443",
|
||||
Transport: "direct_quic",
|
||||
Address: "quic://node-b.public.example.test:19443",
|
||||
Reachability: "public",
|
||||
NATType: "none",
|
||||
ConnectivityMode: "direct",
|
||||
@@ -179,8 +179,8 @@ func TestPeerCacheUsesPreferredCorporateEndpointAddress(t *testing.T) {
|
||||
{
|
||||
EndpointID: "node-b-corp-lan",
|
||||
NodeID: "node-b",
|
||||
Transport: "direct_tcp_tls",
|
||||
Address: "http://10.24.10.20:19001",
|
||||
Transport: "lan_quic",
|
||||
Address: "quic://10.24.10.20:19443",
|
||||
Reachability: "private",
|
||||
NATType: "none",
|
||||
ConnectivityMode: "direct",
|
||||
@@ -199,7 +199,7 @@ func TestPeerCacheUsesPreferredCorporateEndpointAddress(t *testing.T) {
|
||||
if !ok {
|
||||
t.Fatal("node-b missing from peer cache")
|
||||
}
|
||||
if entry.BestCandidateID != "node-b-corp-lan" || entry.Endpoint != "http://10.24.10.20:19001" {
|
||||
if entry.BestCandidateID != "node-b-corp-lan" || entry.Endpoint != "quic://10.24.10.20:19443" {
|
||||
t.Fatalf("peer cache did not choose corp LAN endpoint: %+v", entry)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user