Some checks are pending
Build SimApp / build (amd64) (push) Waiting to run
Build SimApp / build (arm64) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Build & Push / build (push) Waiting to run
Run Gosec / Gosec (push) Waiting to run
Lint / golangci-lint (push) Waiting to run
Checks dependencies and mocks generation / Check go mod tidy (push) Waiting to run
Checks dependencies and mocks generation / Check up to date mocks (push) Waiting to run
System Tests / setup (push) Waiting to run
System Tests / test-system (push) Blocked by required conditions
System Tests / test-system-legacy (push) Blocked by required conditions
Tests / Code Coverage / split-test-files (push) Waiting to run
Tests / Code Coverage / tests (00) (push) Blocked by required conditions
Tests / Code Coverage / tests (01) (push) Blocked by required conditions
Tests / Code Coverage / tests (02) (push) Blocked by required conditions
Tests / Code Coverage / tests (03) (push) Blocked by required conditions
Tests / Code Coverage / test-integration (push) Waiting to run
Tests / Code Coverage / test-e2e (push) Waiting to run
Tests / Code Coverage / repo-analysis (push) Blocked by required conditions
Tests / Code Coverage / test-sim-nondeterminism (push) Waiting to run
Tests / Code Coverage / test-clientv2 (push) Waiting to run
Tests / Code Coverage / test-core (push) Waiting to run
Tests / Code Coverage / test-depinject (push) Waiting to run
Tests / Code Coverage / test-errors (push) Waiting to run
Tests / Code Coverage / test-math (push) Waiting to run
Tests / Code Coverage / test-schema (push) Waiting to run
Tests / Code Coverage / test-collections (push) Waiting to run
Tests / Code Coverage / test-cosmovisor (push) Waiting to run
Tests / Code Coverage / test-confix (push) Waiting to run
Tests / Code Coverage / test-store (push) Waiting to run
Tests / Code Coverage / test-log (push) Waiting to run
Tests / Code Coverage / test-x-tx (push) Waiting to run
Tests / Code Coverage / test-x-nft (push) Waiting to run
Tests / Code Coverage / test-x-circuit (push) Waiting to run
Tests / Code Coverage / test-x-feegrant (push) Waiting to run
Tests / Code Coverage / test-x-evidence (push) Waiting to run
Tests / Code Coverage / test-x-upgrade (push) Waiting to run
Tests / Code Coverage / test-tools-benchmark (push) Waiting to run
89 lines
2.5 KiB
Go
89 lines
2.5 KiB
Go
package keeper_test
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
"github.com/stretchr/testify/suite"
|
|
|
|
storetypes "cosmossdk.io/store/types"
|
|
|
|
"git.cw.tr/mukan-network/mukan-sdk/baseapp"
|
|
"git.cw.tr/mukan-network/mukan-sdk/runtime"
|
|
"git.cw.tr/mukan-network/mukan-sdk/testutil"
|
|
sdk "git.cw.tr/mukan-network/mukan-sdk/types"
|
|
"git.cw.tr/mukan-network/mukan-sdk/types/module"
|
|
moduletestutil "git.cw.tr/mukan-network/mukan-sdk/types/module/testutil"
|
|
epochskeeper "git.cw.tr/mukan-network/mukan-sdk/x/epochs/keeper"
|
|
"git.cw.tr/mukan-network/mukan-sdk/x/epochs/types"
|
|
)
|
|
|
|
type KeeperTestSuite struct {
|
|
suite.Suite
|
|
Ctx sdk.Context
|
|
EpochsKeeper epochskeeper.Keeper
|
|
queryClient types.QueryClient
|
|
}
|
|
|
|
func (s *KeeperTestSuite) SetupTest() {
|
|
ctx, epochsKeeper := Setup(s.T())
|
|
|
|
s.Ctx = ctx
|
|
s.EpochsKeeper = epochsKeeper
|
|
queryRouter := baseapp.NewGRPCQueryRouter()
|
|
cfg := module.NewConfigurator(nil, nil, queryRouter)
|
|
types.RegisterQueryServer(cfg.QueryServer(), epochskeeper.NewQuerier(s.EpochsKeeper))
|
|
grpcQueryService := &baseapp.QueryServiceTestHelper{
|
|
GRPCQueryRouter: queryRouter,
|
|
Ctx: s.Ctx,
|
|
}
|
|
encCfg := moduletestutil.MakeTestEncodingConfig()
|
|
grpcQueryService.SetInterfaceRegistry(encCfg.InterfaceRegistry)
|
|
s.queryClient = types.NewQueryClient(grpcQueryService)
|
|
}
|
|
|
|
func Setup(t *testing.T) (sdk.Context, epochskeeper.Keeper) {
|
|
t.Helper()
|
|
|
|
key := storetypes.NewKVStoreKey(types.StoreKey)
|
|
storeService := runtime.NewKVStoreService(key)
|
|
testCtx := testutil.DefaultContextWithDB(t, key, storetypes.NewTransientStoreKey("transient_test"))
|
|
ctx := testCtx.Ctx.WithBlockTime(time.Now().UTC())
|
|
encCfg := moduletestutil.MakeTestEncodingConfig()
|
|
|
|
epochsKeeper := epochskeeper.NewKeeper(
|
|
storeService,
|
|
encCfg.Codec,
|
|
)
|
|
epochsKeeper.SetHooks(types.NewMultiEpochHooks())
|
|
ctx = ctx.WithBlockTime(time.Now().UTC()).WithBlockHeight(1).WithChainID("epochs")
|
|
|
|
err := epochsKeeper.InitGenesis(ctx, *types.DefaultGenesis())
|
|
require.NoError(t, err)
|
|
SetEpochStartTime(ctx, epochsKeeper)
|
|
|
|
return ctx, epochsKeeper
|
|
}
|
|
|
|
func TestKeeperTestSuite(t *testing.T) {
|
|
suite.Run(t, new(KeeperTestSuite))
|
|
}
|
|
|
|
func SetEpochStartTime(ctx sdk.Context, epochsKeeper epochskeeper.Keeper) {
|
|
epochs, err := epochsKeeper.AllEpochInfos(ctx)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
for _, epoch := range epochs {
|
|
epoch.StartTime = ctx.BlockTime()
|
|
err := epochsKeeper.EpochInfo.Remove(ctx, epoch.Identifier)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
err = epochsKeeper.AddEpochInfo(ctx, epoch)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
}
|
|
}
|