github.com/unicornultrafoundation/go-u2u@v1.0.0-rc1.0.20240205080301-e74a83d3fadc/valkeystore/files_test.go (about)

     1  package valkeystore
     2  
     3  import (
     4  	"io/ioutil"
     5  	"os"
     6  	"path"
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/require"
    10  	"github.com/unicornultrafoundation/go-u2u/accounts/keystore"
    11  
    12  	"github.com/unicornultrafoundation/go-u2u/valkeystore/encryption"
    13  )
    14  
    15  func TestFileKeystoreAdd(t *testing.T) {
    16  	dir, err := ioutil.TempDir("", "valkeystore_test")
    17  	if err != nil {
    18  		return
    19  	}
    20  	defer os.RemoveAll(dir)
    21  
    22  	require := require.New(t)
    23  	keystore := NewFileKeystore(dir, encryption.New(keystore.LightScryptN, keystore.LightScryptP))
    24  
    25  	key, err := keystore.Get(pubkey1, "auth1")
    26  	require.EqualError(err, ErrNotFound.Error())
    27  	require.Nil(key)
    28  
    29  	err = keystore.Add(pubkey1, key1, "auth1")
    30  	require.NoError(err)
    31  	_, err = os.Stat(path.Join(dir, name1))
    32  	require.NoError(err)
    33  
    34  	testGet(t, keystore, pubkey1, key1, "auth1")
    35  
    36  	err = keystore.Add(pubkey2, key2, "auth2")
    37  	require.NoError(err)
    38  	_, err = os.Stat(path.Join(dir, name2))
    39  	require.NoError(err)
    40  
    41  	testGet(t, keystore, pubkey1, key1, "auth1")
    42  	testGet(t, keystore, pubkey2, key2, "auth2")
    43  
    44  	err = keystore.Add(pubkey2, key2, "auth1")
    45  	require.Error(err, ErrAlreadyExists.Error())
    46  
    47  	testGet(t, keystore, pubkey2, key2, "auth2")
    48  }
    49  
    50  func TestFileKeystoreRead(t *testing.T) {
    51  	dir, err := ioutil.TempDir("", "valkeystore_test")
    52  	if err != nil {
    53  		return
    54  	}
    55  	defer os.RemoveAll(dir)
    56  
    57  	require := require.New(t)
    58  	keystore := NewFileKeystore(dir, encryption.New(keystore.LightScryptN, keystore.LightScryptP))
    59  
    60  	fd, err := os.Create(path.Join(dir, name1))
    61  	require.NoError(err)
    62  	_, err = fd.Write(file1)
    63  	require.NoError(err)
    64  
    65  	testGet(t, keystore, pubkey1, key1, "auth1")
    66  
    67  	fd, err = os.Create(path.Join(dir, name2))
    68  	require.NoError(err)
    69  	_, err = fd.Write(file2)
    70  	require.NoError(err)
    71  
    72  	testGet(t, keystore, pubkey1, key1, "auth1")
    73  	testGet(t, keystore, pubkey2, key2, "auth2")
    74  }