42 lines
766 B
Go
42 lines
766 B
Go
package node
|
|
|
|
import (
|
|
"crypto/rand"
|
|
"net/netip"
|
|
"reflect"
|
|
"testing"
|
|
)
|
|
|
|
func TestPacketSyn(t *testing.T) {
|
|
in := synPacket{
|
|
TraceID: newTraceID(),
|
|
FromAddr: netip.AddrPortFrom(netip.AddrFrom4([4]byte{4, 5, 6, 7}), 22),
|
|
}
|
|
rand.Read(in.SharedKey[:])
|
|
|
|
out, err := parseSynPacket(in.Marshal(make([]byte, bufferSize)))
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if !reflect.DeepEqual(in, out) {
|
|
t.Fatal("\n", in, "\n", out)
|
|
}
|
|
}
|
|
|
|
func TestPacketSynAck(t *testing.T) {
|
|
in := ackPacket{
|
|
TraceID: newTraceID(),
|
|
FromAddr: netip.AddrPortFrom(netip.AddrFrom4([4]byte{4, 5, 6, 7}), 22),
|
|
}
|
|
|
|
out, err := parseAckPacket(in.Marshal(make([]byte, bufferSize)))
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if !reflect.DeepEqual(in, out) {
|
|
t.Fatal("\n", in, "\n", out)
|
|
}
|
|
}
|