laconicd-deprecated/x/evm/keeper/params_test.go
Vladislav Varadinov 0f7bdceaa0
chore(evm): Deprecate x/params usage in x/evm (#1472)
* imp(evm): Migrate from old Cosmos SDK params module to new way of keeping params in module Keeper

* Updated changelog

* Apply changes from code review

* (impv): Added Shanghai and Cancun blocks to current types and latest migration

* (tests): Update unit tests to include Shanghai and Cancun blocks

* (fix) - ran golangci-lint on the entire project

* (fix) - remove deprecated params method

* (impv): added marshaling of booleans per individual param key

* (impv): added individual param getting and setting

* (impv): replaced getters with individual param

* (impv): added amino codec for MsgEthereumTx

* Added changes suggested in code review

* (fix): updated the migration files for v4

* (fix): fixed unit tests panic for incorrect interface

* (fix): updated module msg handler

* (fix): rename to original params getter method

* (refactor): registered implementation for the new msg

* (refactor): added correct amino codec for MsgUpdateParams and removed for MsgEthTx

* Applied changes from code review

* (fix): removed unnecessary duplicate

* (fix): removed params_legacy from the types and moved logic to migration

* (fix): Added v4 mocks to the migrations_test

* (fix): undo all the non related work regarding the Cancun and Shanghai blocks

* (fix): reverted linting the entire project - will make a separate PR for it

* Applied changes from review

* Applied changes from code review

* (fix): removed comments

* (fix): Ran formatter and fixed linting issues on unsed functions

* (fix): Linting issues resolved

* (fix): refactor migrations and added default EIPs

* (fix): Combined into one call

* (fix): Added more straightforward way to handle migration

* (fix): corrected migration test

* Applied changes from code review

* (fix): Linter fix

* (fix): Linter

* (fix): Lint proto files

* Apply suggestions from code review

Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>

* (fix): Added new block to migration

* (fix): Added additional comments and formatted proto files

* (fix): Added name to unit test cases

* (fix): removed unused import

* Apply changes from code review

* (fix): typo

* (fix): remove HTTP endpoint exposure

* Apply suggestions from code review

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* applied changes from code review

* fix: extra line added in merge removed

* fix: applied changes from code review

Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2023-01-04 16:28:45 +02:00

96 lines
2.4 KiB
Go

package keeper_test
import (
"reflect"
"github.com/evmos/ethermint/x/evm/types"
)
func (suite *KeeperTestSuite) TestParams() {
params := suite.app.EvmKeeper.GetParams(suite.ctx)
suite.app.EvmKeeper.SetParams(suite.ctx, params)
testCases := []struct {
name string
paramsFun func() interface{}
getFun func() interface{}
expected bool
}{
{
"success - Checks if the default params are set correctly",
func() interface{} {
return types.DefaultParams()
},
func() interface{} {
return suite.app.EvmKeeper.GetParams(suite.ctx)
},
true,
},
{
"success - EvmDenom param is set to \"inj\" and can be retrieved correctly",
func() interface{} {
params.EvmDenom = "inj"
suite.app.EvmKeeper.SetParams(suite.ctx, params)
return params.EvmDenom
},
func() interface{} {
return suite.app.EvmKeeper.GetEVMDenom(suite.ctx)
},
true,
},
{
"success - Check EnableCreate param is set to false and can be retrieved correctly",
func() interface{} {
params.EnableCreate = false
suite.app.EvmKeeper.SetParams(suite.ctx, params)
return params.EnableCreate
},
func() interface{} {
return suite.app.EvmKeeper.GetEnableCreate(suite.ctx)
},
true,
},
{
"success - Check EnableCall param is set to false and can be retrieved correctly",
func() interface{} {
params.EnableCall = false
suite.app.EvmKeeper.SetParams(suite.ctx, params)
return params.EnableCall
},
func() interface{} {
return suite.app.EvmKeeper.GetEnableCall(suite.ctx)
},
true,
},
{
"success - Check AllowUnprotectedTxs param is set to false and can be retrieved correctly",
func() interface{} {
params.AllowUnprotectedTxs = false
suite.app.EvmKeeper.SetParams(suite.ctx, params)
return params.AllowUnprotectedTxs
},
func() interface{} {
return suite.app.EvmKeeper.GetAllowUnprotectedTxs(suite.ctx)
},
true,
},
{
"success - Check ChainConfig param is set to the default value and can be retrieved correctly",
func() interface{} {
params.ChainConfig = types.DefaultChainConfig()
suite.app.EvmKeeper.SetParams(suite.ctx, params)
return params.ChainConfig
},
func() interface{} {
return suite.app.EvmKeeper.GetChainConfig(suite.ctx)
},
true,
},
}
for _, tc := range testCases {
suite.Run(tc.name, func() {
outcome := reflect.DeepEqual(tc.paramsFun(), tc.getFun())
suite.Require().Equal(tc.expected, outcome)
})
}
}