[#168] refs: Implement binary/JSON encoders/decoders on Signature

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
Leonard Lyubich 2020-11-13 16:23:41 +03:00 committed by Alex Vanin
parent 1519a02d63
commit 4b55b06780
6 changed files with 110 additions and 4 deletions

33
pkg/signature_test.go Normal file
View file

@ -0,0 +1,33 @@
package pkg
import (
"testing"
"github.com/stretchr/testify/require"
)
func TestSignatureEncoding(t *testing.T) {
s := NewSignature()
s.SetKey([]byte("key"))
s.SetSign([]byte("sign"))
t.Run("binary", func(t *testing.T) {
data, err := s.Marshal()
require.NoError(t, err)
s2 := NewSignature()
require.NoError(t, s2.Unmarshal(data))
require.Equal(t, s, s2)
})
t.Run("json", func(t *testing.T) {
data, err := s.MarshalJSON()
require.NoError(t, err)
s2 := NewSignature()
require.NoError(t, s2.UnmarshalJSON(data))
require.Equal(t, s, s2)
})
}