wip: testing
This commit is contained in:
parent
17ffc01be2
commit
1d18d297ed
@ -24,7 +24,10 @@ func enterStateServer(data *peerData) peerState {
|
||||
|
||||
data.pingTimer.Reset(pingInterval)
|
||||
|
||||
state := &stateServer{peerData: data}
|
||||
state := &stateServer{
|
||||
peerData: data,
|
||||
lastSeen: time.Now(),
|
||||
}
|
||||
state.logf("==> Server")
|
||||
return state
|
||||
}
|
||||
|
@ -1,6 +1,9 @@
|
||||
package peer
|
||||
|
||||
import "testing"
|
||||
import (
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func TestStateServer_peerUpdate(t *testing.T) {
|
||||
h := NewPeerStateTestHarness()
|
||||
@ -80,3 +83,82 @@ func TestStateServer_onSynRelayed(t *testing.T) {
|
||||
assertType[packetProbe](t, pkt.Packet)
|
||||
}
|
||||
}
|
||||
|
||||
func TestStateServer_onProbe(t *testing.T) {
|
||||
h := NewPeerStateTestHarness()
|
||||
h.ConfigServer_Relayed(t)
|
||||
|
||||
msg := controlMsg[packetProbe]{
|
||||
SrcIP: 3,
|
||||
Packet: packetProbe{
|
||||
TraceID: newTraceID(),
|
||||
},
|
||||
}
|
||||
h.Sent = h.Sent[:0]
|
||||
|
||||
h.OnProbe(msg)
|
||||
assertEqual(t, len(h.Sent), 0)
|
||||
}
|
||||
|
||||
func TestStateServer_onProbe_valid(t *testing.T) {
|
||||
h := NewPeerStateTestHarness()
|
||||
h.ConfigServer_Relayed(t)
|
||||
|
||||
msg := controlMsg[packetProbe]{
|
||||
SrcIP: 3,
|
||||
SrcAddr: addrPort4(1, 2, 3, 4, 100),
|
||||
Packet: packetProbe{
|
||||
TraceID: newTraceID(),
|
||||
},
|
||||
}
|
||||
h.Sent = h.Sent[:0]
|
||||
|
||||
h.OnProbe(msg)
|
||||
assertEqual(t, len(h.Sent), 1)
|
||||
assertType[packetProbe](t, h.Sent[0].Packet)
|
||||
assertEqual(t, h.Sent[0].Peer.DirectAddr, msg.SrcAddr)
|
||||
}
|
||||
|
||||
func TestStateServer_onPing(t *testing.T) {
|
||||
h := NewPeerStateTestHarness()
|
||||
h.ConfigServer_Relayed(t)
|
||||
h.Sent = h.Sent[:0]
|
||||
h.OnPingTimer()
|
||||
assertEqual(t, len(h.Sent), 0)
|
||||
assertType[*stateServer](t, h.State)
|
||||
}
|
||||
|
||||
func TestStateServer_onPing_timeout(t *testing.T) {
|
||||
h := NewPeerStateTestHarness()
|
||||
h.ConfigServer_Relayed(t)
|
||||
|
||||
h.Sent = h.Sent[:0]
|
||||
state := assertType[*stateServer](t, h.State)
|
||||
state.staged.Up = true
|
||||
state.lastSeen = time.Now().Add(-2 * timeoutInterval)
|
||||
|
||||
h.OnPingTimer()
|
||||
state = assertType[*stateServer](t, h.State)
|
||||
assertEqual(t, len(h.Sent), 0)
|
||||
assertEqual(t, state.staged.Up, false)
|
||||
}
|
||||
|
||||
func TestStateServer_onLocalDiscovery(t *testing.T) {
|
||||
h := NewPeerStateTestHarness()
|
||||
h.ConfigServer_Relayed(t)
|
||||
|
||||
msg := controlMsg[packetLocalDiscovery]{
|
||||
SrcIP: 3,
|
||||
SrcAddr: addrPort4(1, 2, 3, 4, 100),
|
||||
}
|
||||
h.OnLocalDiscovery(msg)
|
||||
assertType[*stateServer](t, h.State)
|
||||
}
|
||||
|
||||
func TestStateServer_onAck(t *testing.T) {
|
||||
h := NewPeerStateTestHarness()
|
||||
h.ConfigServer_Relayed(t)
|
||||
msg := controlMsg[packetAck]{}
|
||||
h.OnAck(msg)
|
||||
assertType[*stateServer](t, h.State)
|
||||
}
|
||||
|
@ -59,10 +59,18 @@ func (h *PeerStateTestHarness) OnSyn(msg controlMsg[packetSyn]) {
|
||||
h.State = h.State.OnMsg(msg)
|
||||
}
|
||||
|
||||
func (h *PeerStateTestHarness) OnAck(msg controlMsg[packetAck]) {
|
||||
h.State = h.State.OnMsg(msg)
|
||||
}
|
||||
|
||||
func (h *PeerStateTestHarness) OnProbe(msg controlMsg[packetProbe]) {
|
||||
h.State = h.State.OnMsg(msg)
|
||||
}
|
||||
|
||||
func (h *PeerStateTestHarness) OnLocalDiscovery(msg controlMsg[packetLocalDiscovery]) {
|
||||
h.State = h.State.OnMsg(msg)
|
||||
}
|
||||
|
||||
func (h *PeerStateTestHarness) OnPingTimer() {
|
||||
h.State = h.State.OnMsg(pingTimerMsg{})
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user