github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/common/proto/keeper_test.go (about) 1 package proto 2 3 import ( 4 "testing" 5 6 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 7 "github.com/stretchr/testify/require" 8 ) 9 10 func TestAppUpgradeConfig_String(t *testing.T) { 11 appUpgradeConfig := NewAppUpgradeConfig(1, NewProtocolDefinition(1, "http://web.abc", 100, sdk.NewDecWithPrec(75, 2))) 12 require.NotEqual(t, len(appUpgradeConfig.String()), 0) 13 } 14 15 func TestDefaultUpgradeConfig(t *testing.T) { 16 ctx, keeper := createTestInput(t) 17 appUpgradeConfig := DefaultUpgradeConfig("http://web.abc") 18 require.NotPanics(t, func() { keeper.SetUpgradeConfig(ctx, appUpgradeConfig) }) 19 20 _, found := keeper.GetUpgradeConfig(ctx) 21 require.True(t, found) 22 23 require.NotPanics(t, func() { keeper.ClearUpgradeConfig(ctx) }) 24 _, found = keeper.GetUpgradeConfig(ctx) 25 require.False(t, found) 26 } 27 28 func TestCurrentVersion(t *testing.T) { 29 ctx, keeper := createTestInput(t) 30 31 require.Equal(t, keeper.GetCurrentVersion(ctx), uint64(0)) 32 33 require.NotPanics(t, func() { keeper.SetCurrentVersion(ctx, 1) }) 34 require.Equal(t, keeper.GetCurrentVersion(ctx), uint64(1)) 35 } 36 37 func TestLastFailedVersion(t *testing.T) { 38 ctx, keeper := createTestInput(t) 39 40 require.Equal(t, keeper.GetLastFailedVersion(ctx), uint64(0)) 41 42 require.NotPanics(t, func() { keeper.SetLastFailedVersion(ctx, 1) }) 43 require.Equal(t, keeper.GetLastFailedVersion(ctx), uint64(1)) 44 } 45 46 func TestValidVersion(t *testing.T) { 47 ctx, keeper := createTestInput(t) 48 49 require.True(t, keeper.IsValidVersion(ctx, 1)) 50 51 require.NotPanics(t, func() { keeper.SetLastFailedVersion(ctx, 1) }) 52 require.True(t, keeper.IsValidVersion(ctx, 2)) 53 } 54 55 func TestVersionByStore(t *testing.T) { 56 ctx, keeper := createTestInput(t) 57 58 store := ctx.KVStore(keeper.storeKey) 59 60 require.Equal(t, keeper.GetCurrentVersionByStore(store), uint64(0)) 61 62 require.NotPanics(t, func() { keeper.SetCurrentVersion(ctx, 1) }) 63 require.Equal(t, keeper.GetCurrentVersionByStore(store), uint64(1)) 64 } 65 66 func TestUpgradeConfigByStore(t *testing.T) { 67 ctx, keeper := createTestInput(t) 68 69 store := ctx.KVStore(keeper.storeKey) 70 71 _, found := keeper.GetUpgradeConfigByStore(store) 72 require.False(t, found) 73 74 appUpgradeConfig := DefaultUpgradeConfig("http://web.abc") 75 require.NotPanics(t, func() { keeper.SetUpgradeConfig(ctx, appUpgradeConfig) }) 76 _, found = keeper.GetUpgradeConfigByStore(store) 77 require.True(t, found) 78 }