cosmos-sdk/core/testing/services_test.go
testinginprod fe22e9a5da
feat(core): add coretest package (#20487)
Co-authored-by: unknown unknown <unknown@unknown>
2024-06-05 22:11:33 +00:00

36 lines
735 B
Go

package coretesting
import (
"context"
"testing"
"github.com/stretchr/testify/require"
)
func TestKVStoreService(t *testing.T) {
ctx := Context()
svc1 := KVStoreService(ctx, "bank")
// must panic
t.Run("must panic on invalid ctx", func(t *testing.T) {
require.Panics(t, func() {
svc1.OpenKVStore(context.Background())
})
})
t.Run("success", func(t *testing.T) {
kv := svc1.OpenKVStore(ctx)
require.NoError(t, kv.Set([]byte("key"), []byte("value")))
value, err := kv.Get([]byte("key"))
require.NoError(t, err)
require.Equal(t, []byte("value"), value)
})
t.Run("contains module name", func(t *testing.T) {
KVStoreService(ctx, "auth")
_, ok := unwrap(ctx).stores["auth"]
require.True(t, ok)
})
}