github.com/line/ostracon@v1.0.10-0.20230328032236-7f20145f065d/abci/example/kvstore/helpers_test.go (about)

     1  package kvstore
     2  
     3  import (
     4  	"io/ioutil"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  	"github.com/stretchr/testify/require"
     9  
    10  	"github.com/line/ostracon/privval"
    11  )
    12  
    13  func TestLoadPrivValidatorKeyFile(t *testing.T) {
    14  	tempKeyFile, err := ioutil.TempFile("", "priv_validator_key_")
    15  	require.Nil(t, err)
    16  	tempStateFile, err := ioutil.TempFile("", "priv_validator_state_")
    17  	require.Nil(t, err)
    18  
    19  	{
    20  		// does not exist
    21  		_, err := LoadPrivValidatorKeyFile("DOES_NOT_EXIST")
    22  		require.NotNil(t, err)
    23  		require.Contains(t, err.Error(), "does not exist")
    24  	}
    25  
    26  	{
    27  		// error reading since empty
    28  		_, err := LoadPrivValidatorKeyFile(tempKeyFile.Name())
    29  		require.NotNil(t, err)
    30  		require.Contains(t, err.Error(), "error reading")
    31  	}
    32  
    33  	expected := privval.GenFilePV(tempKeyFile.Name(), tempStateFile.Name())
    34  
    35  	expected.Save()
    36  
    37  	// success
    38  	actual, err := LoadPrivValidatorKeyFile(tempKeyFile.Name())
    39  	require.Nil(t, err)
    40  	assert.Equal(t, expected.Key.Address, actual.Address)
    41  	assert.Equal(t, expected.Key.PrivKey, actual.PrivKey)
    42  	assert.Equal(t, expected.Key.PubKey, actual.PubKey)
    43  }