version_test.go

 1package identity
 2
 3import (
 4	"encoding/json"
 5	"testing"
 6
 7	"github.com/stretchr/testify/assert"
 8)
 9
10func TestVersionSerialize(t *testing.T) {
11	before := &Version{
12		name:      "name",
13		email:     "email",
14		avatarURL: "avatarUrl",
15		keys: []*Key{
16			{
17				Fingerprint: "fingerprint1",
18				PubKey:      "pubkey1",
19			},
20			{
21				Fingerprint: "fingerprint2",
22				PubKey:      "pubkey2",
23			},
24		},
25		nonce: makeNonce(20),
26		metadata: map[string]string{
27			"key1": "value1",
28			"key2": "value2",
29		},
30		time: 3,
31	}
32
33	data, err := json.Marshal(before)
34	assert.NoError(t, err)
35
36	var after Version
37	err = json.Unmarshal(data, &after)
38	assert.NoError(t, err)
39
40	assert.Equal(t, before, &after)
41}