[#259] netmap: Implement binary encoding for NetworkInfo RPC messages

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
Leonard Lyubich 2021-02-17 20:28:46 +03:00 committed by Alex Vanin
parent c3be9dc270
commit 276d863fd5
2 changed files with 130 additions and 0 deletions

View file

@ -111,6 +111,22 @@ func TestLocalNodeInfoResponseBody_StableMarshal(t *testing.T) {
})
}
func TestNetworkInfoResponseBody_StableMarshal(t *testing.T) {
from := generateNetworkInfoResponseBody()
transport := new(grpc.NetworkInfoResponse_Body)
t.Run("non empty", func(t *testing.T) {
wire, err := from.StableMarshal(nil)
require.NoError(t, err)
err = goproto.Unmarshal(wire, transport)
require.NoError(t, err)
to := netmap.NetworkInfoResponseBodyFromGRPCMessage(transport)
require.Equal(t, from, to)
})
}
func generateAttribute(k, v string) *netmap.Attribute {
attr := new(netmap.Attribute)
attr.SetKey(k)
@ -213,3 +229,20 @@ func generateVersion(maj, min uint32) *refs.Version {
return version
}
func generateNetworkInfo() *netmap.NetworkInfo {
ni := new(netmap.NetworkInfo)
ni.SetCurrentEpoch(13)
ni.SetMagicNumber(666)
return ni
}
func generateNetworkInfoResponseBody() *netmap.NetworkInfoResponseBody {
ni := generateNetworkInfo()
r := new(netmap.NetworkInfoResponseBody)
r.SetNetworkInfo(ni)
return r
}