Skip to content

Commit

Permalink
tests(leverage): add simple emergency group integration test
Browse files Browse the repository at this point in the history
  • Loading branch information
robert-zaremba committed Aug 8, 2023
1 parent 5f8575a commit d653b50
Show file tree
Hide file tree
Showing 5 changed files with 79 additions and 16 deletions.
2 changes: 1 addition & 1 deletion app/inflation/inflation_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ func TestInflationRate(t *testing.T) {

calc := inflation.Calculator{
MintKeeper: mockMintKeeper,
UgovKeeperB: ugovmocks.NewUgovParamsBuilder(mockUGovKeeper),
UgovKeeperB: ugovmocks.NewParamsBuilder(mockUGovKeeper),
}
result := calc.InflationRate(test.ctx(), test.minter, test.mintParams(mintParams), test.bondedRatio)

Expand Down
15 changes: 8 additions & 7 deletions x/leverage/keeper/internal_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
paramtypes "github.com/cosmos/cosmos-sdk/x/params/types"
"github.com/umee-network/umee/v5/x/metoken"

"github.com/umee-network/umee/v5/x/leverage/types"
"github.com/umee-network/umee/v5/x/metoken"
ugovmocks "github.com/umee-network/umee/v5/x/ugov/mocks"
)

// TestKeeper is a keeper with some normally
Expand All @@ -34,29 +35,29 @@ func NewTestKeeper(
paramSpace,
bk,
ok,
nil, // TODO
ugovmocks.NewSimpleEmergencyGroupBuilder(),
enableLiquidatorQuery,
authtypes.NewModuleAddress(metoken.ModuleName),
)
return k, TestKeeper{&k}
}

func (tk *TestKeeper) SetBadDebtAddress(ctx sdk.Context, addr sdk.AccAddress, denom string, hasDebt bool) error {
return tk.Keeper.setBadDebtAddress(ctx, addr, denom, hasDebt)
return tk.setBadDebtAddress(ctx, addr, denom, hasDebt)
}

func (tk *TestKeeper) SetBorrow(ctx sdk.Context, addr sdk.AccAddress, amount sdk.Coin) error {
return tk.Keeper.setBorrow(ctx, addr, amount)
return tk.setBorrow(ctx, addr, amount)
}

func (tk *TestKeeper) SetCollateral(ctx sdk.Context, addr sdk.AccAddress, collateral sdk.Coin) error {
return tk.Keeper.setCollateral(ctx, addr, collateral)
return tk.setCollateral(ctx, addr, collateral)
}

func (tk *TestKeeper) SetInterestScalar(ctx sdk.Context, denom string, scalar sdk.Dec) error {
return tk.Keeper.setInterestScalar(ctx, denom, scalar)
return tk.setInterestScalar(ctx, denom, scalar)
}

func (tk *TestKeeper) SetReserveAmount(ctx sdk.Context, coin sdk.Coin) error {
return tk.Keeper.setReserves(ctx, coin)
return tk.setReserves(ctx, coin)
}
37 changes: 31 additions & 6 deletions x/leverage/keeper/msg_server_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
"github.com/umee-network/umee/v5/util/coin"
"github.com/umee-network/umee/v5/x/leverage/fixtures"
"github.com/umee-network/umee/v5/x/leverage/types"
ugovmocks "github.com/umee-network/umee/v5/x/ugov/mocks"
)

func (s *IntegrationTestSuite) TestAddTokensToRegistry() {
Expand Down Expand Up @@ -36,17 +37,17 @@ func (s *IntegrationTestSuite) TestAddTokensToRegistry() {
true,
"invalid denom",
}, {
"unauthorized authority address",
"no authority address",
&types.MsgGovUpdateRegistry{
Authority: s.addrs[0].String(),
Authority: "",
Title: "test",
Description: "test",
AddTokens: []types.Token{
ntA,
},
},
true,
"expected gov account",
"empty address",
}, {
"already registered token",
&types.MsgGovUpdateRegistry{
Expand Down Expand Up @@ -132,17 +133,29 @@ func (s *IntegrationTestSuite) TestUpdateRegistry() {
true,
"invalid denom",
}, {
"unauthorized authority address",
"no authority address",
&types.MsgGovUpdateRegistry{
Authority: s.addrs[0].String(),
Authority: "",
Title: "test",
Description: "test",
UpdateTokens: []types.Token{
fixtures.Token("uosmo", "", 6), // empty denom is invalid
},
},
true,
"expected gov account",
"empty address",
}, {
"invalid authority and valid update token registry",
&types.MsgGovUpdateRegistry{
Authority: s.addrs[0].String(),
Title: "test",
Description: "test",
UpdateTokens: []types.Token{
modifiedUmee,
},
},
true,
"unauthorized",
}, {
"valid authority and valid update token registry",
&types.MsgGovUpdateRegistry{
Expand All @@ -155,6 +168,18 @@ func (s *IntegrationTestSuite) TestUpdateRegistry() {
},
false,
"",
}, {
"valid emergency group and valid update token registry",
&types.MsgGovUpdateRegistry{
Authority: ugovmocks.SimpleEmergencyGroupAddr.String(),
Title: "test",
Description: "test",
UpdateTokens: []types.Token{
modifiedUmee,
},
},
false,
"",
},
}

Expand Down
18 changes: 16 additions & 2 deletions x/ugov/mocks/constructors.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,23 @@ import (
ugov "github.com/umee-network/umee/v5/x/ugov"
)

// NewUgovParamsBuilder creates a ParamsKeeper builder function
func NewUgovParamsBuilder(pk ugov.ParamsKeeper) ugov.ParamsKeeperBuilder {
// NewParamsBuilder creates a ParamsKeeper builder function
func NewParamsBuilder(pk ugov.ParamsKeeper) ugov.ParamsKeeperBuilder {
return func(_ *sdk.Context) ugov.ParamsKeeper {
return pk
}
}

// NewEmergencyGroupBuilder creates a WithEmergencyGroup builder function
func NewEmergencyGroupBuilder(pk ugov.WithEmergencyGroup) ugov.EmergencyGroupBuilder {
return func(_ *sdk.Context) ugov.WithEmergencyGroup {
return pk
}
}

// NewSimpleEmergencyGroupBuilder creates a EmergencyGroupBuilder builder function
func NewSimpleEmergencyGroupBuilder() ugov.EmergencyGroupBuilder {
return func(_ *sdk.Context) ugov.WithEmergencyGroup {
return NewSimpleEmergencyGroup()
}
}
23 changes: 23 additions & 0 deletions x/ugov/mocks/simple_emergency_group.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package mocks

import (
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/umee-network/umee/v5/tests/accs"
ugov "github.com/umee-network/umee/v5/x/ugov"
)

var _ ugov.WithEmergencyGroup = simpleEmergencyGroup{}

var SimpleEmergencyGroupAddr = accs.GenerateAddr("ugov emergency group")

type simpleEmergencyGroup struct {
Addr sdk.AccAddress
}

func (s simpleEmergencyGroup) EmergencyGroup() sdk.AccAddress {
return s.Addr
}

func NewSimpleEmergencyGroup() ugov.WithEmergencyGroup {
return simpleEmergencyGroup{Addr: SimpleEmergencyGroupAddr}
}

0 comments on commit d653b50

Please sign in to comment.