refactor-for-testability #3
34
peer/state-client_test.go
Normal file
34
peer/state-client_test.go
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
package peer
|
||||||
|
|
||||||
|
import "testing"
|
||||||
|
|
||||||
|
func TestStateClient_peerUpdate(t *testing.T) {
|
||||||
|
h := NewPeerStateTestHarness()
|
||||||
|
h.ConfigClientDirect(t)
|
||||||
|
h.PeerUpdate(nil)
|
||||||
|
assertType[*stateDisconnected](t, h.State)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestStateClient_initialPackets(t *testing.T) {
|
||||||
|
h := NewPeerStateTestHarness()
|
||||||
|
h.ConfigClientDirect(t)
|
||||||
|
|
||||||
|
assertEqual(t, len(h.Sent), 2)
|
||||||
|
assertType[packetInit](t, h.Sent[0].Packet)
|
||||||
|
assertType[packetSyn](t, h.Sent[1].Packet)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestStateClient_onAck_incorrectTraceID(t *testing.T) {
|
||||||
|
h := NewPeerStateTestHarness()
|
||||||
|
h.ConfigClientDirect(t)
|
||||||
|
h.Sent = h.Sent[:0]
|
||||||
|
|
||||||
|
ack := controlMsg[packetAck]{
|
||||||
|
Packet: packetAck{TraceID: newTraceID()},
|
||||||
|
}
|
||||||
|
h.OnAck(ack)
|
||||||
|
|
||||||
|
// Nothing should have happened.
|
||||||
|
assertType[*stateClient](t, h.State)
|
||||||
|
assertEqual(t, len(h.Sent), 0)
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user