https://github.com/tendermint/tendermint
Raw File
Tip revision: bd6398203975a7b869107b53437db5eaa62f620f authored by William Banfield on 26 January 2022, 16:56:21 UTC
Merge remote-tracking branch 'origin/master' into wb/use-buffered-channel-test-state-full-round
Tip revision: bd63982
node_key_test.go
package types_test

import (
	"os"
	"path/filepath"
	"testing"

	"github.com/stretchr/testify/require"

	"github.com/tendermint/tendermint/types"
)

func TestLoadOrGenNodeKey(t *testing.T) {
	filePath := filepath.Join(t.TempDir(), "peer_id.json")

	nodeKey, err := types.LoadOrGenNodeKey(filePath)
	require.NoError(t, err)

	nodeKey2, err := types.LoadOrGenNodeKey(filePath)
	require.NoError(t, err)
	require.Equal(t, nodeKey, nodeKey2)
}

func TestLoadNodeKey(t *testing.T) {
	filePath := filepath.Join(t.TempDir(), "peer_id.json")

	_, err := types.LoadNodeKey(filePath)
	require.True(t, os.IsNotExist(err))

	_, err = types.LoadOrGenNodeKey(filePath)
	require.NoError(t, err)

	nodeKey, err := types.LoadNodeKey(filePath)
	require.NoError(t, err)
	require.NotNil(t, nodeKey)
}

func TestNodeKeySaveAs(t *testing.T) {
	filePath := filepath.Join(t.TempDir(), "peer_id.json")
	require.NoFileExists(t, filePath)

	nodeKey := types.GenNodeKey()
	require.NoError(t, nodeKey.SaveAs(filePath))
	require.FileExists(t, filePath)
}
back to top