wip: testing, etc.
This commit is contained in:
parent
ea3e997df8
commit
1cd83dd098
@ -105,8 +105,89 @@ func TestStateClient_onPing_timeout(t *testing.T) {
|
|||||||
assertType[packetInit](t, h.Sent[0].Packet)
|
assertType[packetInit](t, h.Sent[0].Packet)
|
||||||
}
|
}
|
||||||
|
|
||||||
// probe direct
|
func TestStateClient_onProbe_direct(t *testing.T) {
|
||||||
|
h := NewPeerStateTestHarness()
|
||||||
|
h.ConfigClientDirect(t)
|
||||||
|
|
||||||
// probe relayed - no match
|
h.Sent = h.Sent[:0]
|
||||||
|
probe := controlMsg[packetProbe]{
|
||||||
|
Packet: packetProbe{
|
||||||
|
TraceID: newTraceID(),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
// probe relayed - match
|
h.OnProbe(probe)
|
||||||
|
assertType[*stateClient](t, h.State)
|
||||||
|
assertEqual(t, len(h.Sent), 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestStateClient_onProbe_noMatch(t *testing.T) {
|
||||||
|
h := NewPeerStateTestHarness()
|
||||||
|
h.ConfigClientRelayed(t)
|
||||||
|
|
||||||
|
h.Sent = h.Sent[:0]
|
||||||
|
probe := controlMsg[packetProbe]{
|
||||||
|
Packet: packetProbe{
|
||||||
|
TraceID: newTraceID(),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
h.OnProbe(probe)
|
||||||
|
assertType[*stateClient](t, h.State)
|
||||||
|
assertEqual(t, len(h.Sent), 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestStateClient_onProbe_directUpgrade(t *testing.T) {
|
||||||
|
h := NewPeerStateTestHarness()
|
||||||
|
h.ConfigClientRelayed(t)
|
||||||
|
|
||||||
|
state := assertType[*stateClient](t, h.State)
|
||||||
|
traceID := newTraceID()
|
||||||
|
state.probes[traceID] = sentProbe{
|
||||||
|
SentAt: time.Now(),
|
||||||
|
Addr: addrPort4(1, 2, 3, 4, 500),
|
||||||
|
}
|
||||||
|
|
||||||
|
probe := controlMsg[packetProbe]{
|
||||||
|
Packet: packetProbe{TraceID: traceID},
|
||||||
|
}
|
||||||
|
|
||||||
|
assertEqual(t, h.Published.Direct, false)
|
||||||
|
h.Sent = h.Sent[:0]
|
||||||
|
h.OnProbe(probe)
|
||||||
|
assertEqual(t, h.Published.Direct, true)
|
||||||
|
|
||||||
|
assertEqual(t, len(h.Sent), 1)
|
||||||
|
assertType[packetSyn](t, h.Sent[0].Packet)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestStateClient_onLocalDiscovery_direct(t *testing.T) {
|
||||||
|
h := NewPeerStateTestHarness()
|
||||||
|
h.ConfigClientDirect(t)
|
||||||
|
|
||||||
|
h.Sent = h.Sent[:0]
|
||||||
|
pkt := controlMsg[packetLocalDiscovery]{
|
||||||
|
Packet: packetLocalDiscovery{},
|
||||||
|
}
|
||||||
|
|
||||||
|
h.OnLocalDiscovery(pkt)
|
||||||
|
assertType[*stateClient](t, h.State)
|
||||||
|
assertEqual(t, len(h.Sent), 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestStateClient_onLocalDiscovery_relayed(t *testing.T) {
|
||||||
|
h := NewPeerStateTestHarness()
|
||||||
|
h.ConfigClientRelayed(t)
|
||||||
|
|
||||||
|
h.Sent = h.Sent[:0]
|
||||||
|
pkt := controlMsg[packetLocalDiscovery]{
|
||||||
|
SrcAddr: addrPort4(1, 2, 3, 4, 500),
|
||||||
|
Packet: packetLocalDiscovery{},
|
||||||
|
}
|
||||||
|
|
||||||
|
h.OnLocalDiscovery(pkt)
|
||||||
|
assertType[*stateClient](t, h.State)
|
||||||
|
assertEqual(t, len(h.Sent), 1)
|
||||||
|
assertType[packetProbe](t, h.Sent[0].Packet)
|
||||||
|
assertEqual(t, h.Sent[0].Peer.DirectAddr, addrPort4(1, 2, 3, 4, 456))
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user