package messages import ( "testing" ) func TestMarshalHelloMsg(t *testing.T) { peerID := []byte("abdFAaBcawquEiCMzAabYosuUaGLtSNhKxz+") bHello, err := MarshalHelloMsg(peerID, nil) if err != nil { t.Fatalf("error: %v", err) } receivedPeerID, _, err := UnmarshalHelloMsg(bHello[SizeOfProtoHeader:]) if err != nil { t.Fatalf("error: %v", err) } if string(receivedPeerID) != string(peerID) { t.Errorf("expected %s, got %s", peerID, receivedPeerID) } } func TestMarshalAuthMsg(t *testing.T) { peerID := []byte("abdFAaBcawquEiCMzAabYosuUaGLtSNhKxz+") bHello, err := MarshalAuthMsg(peerID, []byte{}) if err != nil { t.Fatalf("error: %v", err) } receivedPeerID, _, err := UnmarshalAuthMsg(bHello[SizeOfProtoHeader:]) if err != nil { t.Fatalf("error: %v", err) } if string(receivedPeerID) != string(peerID) { t.Errorf("expected %s, got %s", peerID, receivedPeerID) } } func TestMarshalTransportMsg(t *testing.T) { peerID := []byte("abdFAaBcawquEiCMzAabYosuUaGLtSNhKxz+") payload := []byte("payload") msg, err := MarshalTransportMsg(peerID, payload) if err != nil { t.Fatalf("error: %v", err) } id, respPayload, err := UnmarshalTransportMsg(msg[SizeOfProtoHeader:]) if err != nil { t.Fatalf("error: %v", err) } if string(id) != string(peerID) { t.Errorf("expected %s, got %s", peerID, id) } if string(respPayload) != string(payload) { t.Errorf("expected %s, got %s", payload, respPayload) } }