6 "github.com/stretchr/testify/assert"
7 crypto "github.com/tendermint/go-crypto"
8 keys "github.com/tendermint/go-crypto/keys"
11 func TestBasicCRUD(t *testing.T) {
12 assert := assert.New(t)
16 key := []byte("secret-key-here")
17 pubkey := crypto.GenPrivKeyEd25519().PubKey()
23 // No data: Get and Delete return nothing
24 _, _, err := store.Get(name)
26 err = store.Delete(name)
28 // List returns empty list
29 l, err := store.List()
33 // Putting the key in the store must work
34 err = store.Put(name, key, info)
36 // But a second time is a failure
37 err = store.Put(name, key, info)
40 // Now, we can get and list properly
41 k, i, err := store.Get(name)
44 assert.Equal(info.Name, i.Name)
45 assert.Equal(info.PubKey, i.PubKey)
46 assert.NotEmpty(i.Address)
49 assert.Equal(1, len(l))
52 // querying a non-existent key fails
53 _, _, err = store.Get("badname")
56 // We can only delete once
57 err = store.Delete(name)
59 err = store.Delete(name)
62 // and then Get and List don't work
63 _, _, err = store.Get(name)
65 // List returns empty list