[#168] session: Implement binary/JSON encoders/decoders on TokenLifetime

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
Leonard Lyubich 2020-11-13 16:43:54 +03:00 committed by Alex Vanin
parent 86351a8f90
commit 20bf21e5e4
4 changed files with 45 additions and 4 deletions

View file

@ -62,16 +62,14 @@ func TestXHeader_StableMarshal(t *testing.T) {
func TestTokenLifetime_StableMarshal(t *testing.T) {
lifetimeFrom := generateLifetime(10, 20, 30)
transport := new(grpc.SessionToken_Body_TokenLifetime)
t.Run("non empty", func(t *testing.T) {
wire, err := lifetimeFrom.StableMarshal(nil)
require.NoError(t, err)
err = goproto.Unmarshal(wire, transport)
require.NoError(t, err)
lifetimeTo := new(session.TokenLifetime)
require.NoError(t, lifetimeTo.Unmarshal(wire))
lifetimeTo := session.TokenLifetimeFromGRPCMessage(transport)
require.Equal(t, lifetimeFrom, lifetimeTo)
})
}