github.com/hyperledger/burrow@v0.34.5-0.20220512172541-77f09336001d/consensus/tendermint/tendermint_test.go (about) 1 package tendermint 2 3 import ( 4 "encoding/json" 5 "io/ioutil" 6 "os" 7 "testing" 8 9 "github.com/stretchr/testify/require" 10 "github.com/tendermint/tendermint/crypto/ed25519" 11 tmjson "github.com/tendermint/tendermint/libs/json" 12 "github.com/tendermint/tendermint/p2p" 13 ) 14 15 func TestMarshalNodeKey(t *testing.T) { 16 nodeKey := NewNodeKey() 17 18 tmbs, err := tmjson.Marshal(nodeKey) 19 require.NoError(t, err) 20 21 file, err := ioutil.TempFile(os.TempDir(), "nodeKey-") 22 require.NoError(t, err) 23 defer os.Remove(file.Name()) 24 _, err = file.Write(tmbs) 25 require.NoError(t, err) 26 nk, err := p2p.LoadNodeKey(file.Name()) 27 require.NoError(t, err) 28 require.Equal(t, *nodeKey, *nk) 29 30 bs, err := json.Marshal(nodeKey) 31 require.NoError(t, err) 32 nk = new(p2p.NodeKey) 33 nk.PrivKey = new(ed25519.PrivKey) 34 err = json.Unmarshal(bs, nk) 35 require.NoError(t, err) 36 require.Equal(t, nodeKey.PrivKey, *nk.PrivKey.(*ed25519.PrivKey)) 37 }