package node import ( "crypto/rand" "reflect" "testing" ) func TestPacketSyn(t *testing.T) { in := synPacket{ TraceID: newTraceID(), } 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 := synAckPacket{ TraceID: newTraceID(), } out, err := parseSynAckPacket(in.Marshal(make([]byte, bufferSize))) if err != nil { t.Fatal(err) } if !reflect.DeepEqual(in, out) { t.Fatal("\n", in, "\n", out) } } func TestPacketAck(t *testing.T) { in := ackPacket{ TraceID: newTraceID(), } 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) } }