Skip to content

Commit

Permalink
test: migrate remaining e2e tests to integration tests (#22364)
Browse files Browse the repository at this point in the history
Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: Marko <marko@baricevic.me>
  • Loading branch information
3 people authored Oct 27, 2024
1 parent fc5536a commit e37d71a
Show file tree
Hide file tree
Showing 19 changed files with 61 additions and 101 deletions.
33 changes: 1 addition & 32 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -113,37 +113,6 @@ jobs:
name: "${{ github.sha }}-integration-coverage"
path: ./tests/integration-profile.out

test-e2e:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.23"
check-latest: true
cache: true
cache-dependency-path: go.sum
- uses: technote-space/get-diff-action@v6.1.2
id: git_diff
with:
PATTERNS: |
**/*.go
go.mod
go.sum
**/go.mod
**/go.sum
**/Makefile
Makefile
- name: e2e tests
if: env.GIT_DIFF
run: |
make test-e2e-cov
- uses: actions/upload-artifact@v3
if: env.GIT_DIFF
with:
name: "${{ github.sha }}-e2e-coverage"
path: ./tests/e2e-profile.out

test-system: # v2 system tests are in v2-test.yml
runs-on: ubuntu-latest
steps:
Expand Down Expand Up @@ -186,7 +155,7 @@ jobs:

repo-analysis:
runs-on: ubuntu-latest
needs: [tests, test-integration, test-e2e]
needs: [tests, test-integration]
steps:
- uses: actions/checkout@v4
- uses: technote-space/get-diff-action@v6.1.2
Expand Down
8 changes: 1 addition & 7 deletions scripts/build/testing.mk
Original file line number Diff line number Diff line change
Expand Up @@ -11,20 +11,14 @@ init-simapp-v2:

#? test: Run `make test-unit`
test: test-unit
#? test-e2e: Run `make -C tests test-e2e`
test-e2e:
$(MAKE) -C tests test-e2e
#? test-e2e-cov: Run `make -C tests test-e2e-cov`
test-e2e-cov:
$(MAKE) -C tests test-e2e-cov
#? test-integration: Run `make -C tests test-integration`
test-integration:
$(MAKE) -C tests test-integration
#? test-integration-cov: Run `make -C tests test-integration-cov`
test-integration-cov:
$(MAKE) -C tests test-integration-cov
#? test-all: Run all test
test-all: test-unit test-e2e test-integration test-ledger-mock test-race
test-all: test-unit test-integration test-ledger-mock test-race

.PHONY: test-system
test-system: build
Expand Down
6 changes: 0 additions & 6 deletions tests/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,3 @@ test-integration:

test-integration-cov:
go test ./integration/... -timeout 30m -coverpkg=../... -coverprofile=integration-profile.out -covermode=atomic

test-e2e:
go test ./e2e/... -mod=readonly -timeout 30m -race -tags='e2e'

test-e2e-cov:
go test ./e2e/... -mod=readonly -timeout 30m -race -tags='e2e' -coverpkg=../... -coverprofile=e2e-profile.out -covermode=atomic
11 changes: 0 additions & 11 deletions tests/e2e/accounts/lockup/lockup_account_test.go

This file was deleted.

File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
)

func (s *E2ETestSuite) TestContinuousLockingAccount() {
func (s *IntegrationTestSuite) TestContinuousLockingAccount() {
t := s.T()
app := setupApp(t)
currentTime := time.Now()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
)

func (s *E2ETestSuite) TestDelayedLockingAccount() {
func (s *IntegrationTestSuite) TestDelayedLockingAccount() {
t := s.T()
app := setupApp(t)
currentTime := time.Now()
Expand Down
11 changes: 11 additions & 0 deletions tests/integration/accounts/lockup/lockup_account_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package lockup

import (
"testing"

"github.com/stretchr/testify/suite"
)

func TestIntegrationTestSuite(t *testing.T) {
suite.Run(t, NewIntegrationTestSuite())
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
)

func (s *E2ETestSuite) TestPeriodicLockingAccount() {
func (s *IntegrationTestSuite) TestPeriodicLockingAccount() {
t := s.T()
app := setupApp(t)
currentTime := time.Now()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
)

func (s *E2ETestSuite) TestPermanentLockingAccount() {
func (s *IntegrationTestSuite) TestPermanentLockingAccount() {
t := s.T()
app := setupApp(t)
currentTime := time.Now()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,23 +20,23 @@ var (
accOwner = sdk.AccAddress(ownerAddr)
)

type E2ETestSuite struct {
type IntegrationTestSuite struct {
suite.Suite

app *simapp.SimApp
}

func NewE2ETestSuite() *E2ETestSuite {
return &E2ETestSuite{}
func NewIntegrationTestSuite() *IntegrationTestSuite {
return &IntegrationTestSuite{}
}

func (s *E2ETestSuite) SetupSuite() {
s.T().Log("setting up e2e test suite")
func (s *IntegrationTestSuite) SetupSuite() {
s.T().Log("setting up integration test suite")
s.app = setupApp(s.T())
}

func (s *E2ETestSuite) TearDownSuite() {
s.T().Log("tearing down e2e test suite")
func (s *IntegrationTestSuite) TearDownSuite() {
s.T().Log("tearing down integration test suite")
}

func setupApp(t *testing.T) *simapp.SimApp {
Expand All @@ -45,21 +45,21 @@ func setupApp(t *testing.T) *simapp.SimApp {
return app
}

func (s *E2ETestSuite) executeTx(ctx sdk.Context, msg sdk.Msg, app *simapp.SimApp, accAddr, sender []byte) error {
func (s *IntegrationTestSuite) executeTx(ctx sdk.Context, msg sdk.Msg, app *simapp.SimApp, accAddr, sender []byte) error {
_, err := app.AccountsKeeper.Execute(ctx, accAddr, sender, msg, nil)
return err
}

func (s *E2ETestSuite) queryAcc(ctx sdk.Context, req sdk.Msg, app *simapp.SimApp, accAddr []byte) (transaction.Msg, error) {
func (s *IntegrationTestSuite) queryAcc(ctx sdk.Context, req sdk.Msg, app *simapp.SimApp, accAddr []byte) (transaction.Msg, error) {
resp, err := app.AccountsKeeper.Query(ctx, accAddr, req)
return resp, err
}

func (s *E2ETestSuite) fundAccount(app *simapp.SimApp, ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) {
func (s *IntegrationTestSuite) fundAccount(app *simapp.SimApp, ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) {
require.NoError(s.T(), testutil.FundAccount(ctx, app.BankKeeper, addr, amt))
}

func (s *E2ETestSuite) queryLockupAccInfo(ctx sdk.Context, app *simapp.SimApp, accAddr []byte) *types.QueryLockupAccountInfoResponse {
func (s *IntegrationTestSuite) queryLockupAccInfo(ctx sdk.Context, app *simapp.SimApp, accAddr []byte) *types.QueryLockupAccountInfoResponse {
req := &types.QueryLockupAccountInfoRequest{}
resp, err := s.queryAcc(ctx, req, app, accAddr)
require.NoError(s.T(), err)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
)

func TestE2ETestSuite(t *testing.T) {
suite.Run(t, NewE2ETestSuite())
func TestIntegrationTestSuite(t *testing.T) {
suite.Run(t, NewIntegrationTestSuite())
}

// TestSimpleSendProposal creates a multisig account with 1 member, sends a tx, votes and executes it.
func (s *E2ETestSuite) TestSimpleSendProposal() {
func (s *IntegrationTestSuite) TestSimpleSendProposal() {
ctx := sdk.NewContext(s.app.CommitMultiStore(), false, s.app.Logger()).WithHeaderInfo(header.Info{
Time: time.Now(),
})
Expand Down Expand Up @@ -110,7 +110,7 @@ func (s *E2ETestSuite) TestSimpleSendProposal() {

// TestConfigUpdate creates a multisig with 1 member, adds 2 more members and
// changes the config to require 2/3 majority (also through a proposal).
func (s *E2ETestSuite) TestConfigUpdate() {
func (s *IntegrationTestSuite) TestConfigUpdate() {
ctx := sdk.NewContext(s.app.CommitMultiStore(), false, s.app.Logger()).WithHeaderInfo(header.Info{
Time: time.Now(),
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,19 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
)

type E2ETestSuite struct {
type IntegrationTestSuite struct {
suite.Suite

app *simapp.SimApp
members []sdk.AccAddress
membersAddr []string
}

func NewE2ETestSuite() *E2ETestSuite {
return &E2ETestSuite{}
func NewIntegrationTestSuite() *IntegrationTestSuite {
return &IntegrationTestSuite{}
}

func (s *E2ETestSuite) SetupSuite() {
func (s *IntegrationTestSuite) SetupSuite() {
s.app = setupApp(s.T())

s.members = []sdk.AccAddress{}
Expand All @@ -43,31 +43,31 @@ func (s *E2ETestSuite) SetupSuite() {
}
}

func (s *E2ETestSuite) TearDownSuite() {}
func (s *IntegrationTestSuite) TearDownSuite() {}

func setupApp(t *testing.T) *simapp.SimApp {
t.Helper()
app := simapp.Setup(t, false)
return app
}

func (s *E2ETestSuite) executeTx(ctx context.Context, msg sdk.Msg, accAddr, sender []byte) error {
func (s *IntegrationTestSuite) executeTx(ctx context.Context, msg sdk.Msg, accAddr, sender []byte) error {
_, err := s.app.AccountsKeeper.Execute(ctx, accAddr, sender, msg, nil)
return err
}

func (s *E2ETestSuite) queryAcc(ctx context.Context, req sdk.Msg, accAddr []byte) (transaction.Msg, error) {
func (s *IntegrationTestSuite) queryAcc(ctx context.Context, req sdk.Msg, accAddr []byte) (transaction.Msg, error) {
resp, err := s.app.AccountsKeeper.Query(ctx, accAddr, req)
return resp, err
}

func (s *E2ETestSuite) fundAccount(ctx context.Context, addr sdk.AccAddress, amt sdk.Coins) {
func (s *IntegrationTestSuite) fundAccount(ctx context.Context, addr sdk.AccAddress, amt sdk.Coins) {
require.NoError(s.T(), testutil.FundAccount(ctx, s.app.BankKeeper, addr, amt))
}

// initAccount initializes a multisig account with the given members and powers
// and returns the account address
func (s *E2ETestSuite) initAccount(ctx context.Context, sender []byte, membersPowers map[string]uint64) ([]byte, string) {
func (s *IntegrationTestSuite) initAccount(ctx context.Context, sender []byte, membersPowers map[string]uint64) ([]byte, string) {
s.fundAccount(ctx, sender, sdk.Coins{sdk.NewCoin("stake", math.NewInt(1000000))})

members := []*v1.Member{}
Expand Down Expand Up @@ -95,7 +95,7 @@ func (s *E2ETestSuite) initAccount(ctx context.Context, sender []byte, membersPo
}

// createProposal
func (s *E2ETestSuite) createProposal(ctx context.Context, accAddr, sender []byte, msgs ...*codectypes.Any) {
func (s *IntegrationTestSuite) createProposal(ctx context.Context, accAddr, sender []byte, msgs ...*codectypes.Any) {
propReq := &v1.MsgCreateProposal{
Proposal: &v1.Proposal{
Title: "test",
Expand All @@ -107,7 +107,7 @@ func (s *E2ETestSuite) createProposal(ctx context.Context, accAddr, sender []byt
s.NoError(err)
}

func (s *E2ETestSuite) executeProposal(ctx context.Context, accAddr, sender []byte, proposalID uint64) error {
func (s *IntegrationTestSuite) executeProposal(ctx context.Context, accAddr, sender []byte, proposalID uint64) error {
execReq := &v1.MsgExecuteProposal{
ProposalId: proposalID,
}
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
package keeper
package keeper_test

import (
"testing"

"github.com/stretchr/testify/require"

authTest "github.com/cosmos/cosmos-sdk/tests/integration/auth/keeper"
"github.com/cosmos/cosmos-sdk/testutil/network"
"github.com/cosmos/cosmos-sdk/x/auth/types"
)

func TestAccountRetriever(t *testing.T) {
cfg, err := network.DefaultConfigWithAppConfig(AppConfig)
cfg, err := network.DefaultConfigWithAppConfig(authTest.AppConfig)
require.NoError(t, err)
cfg.NumValidators = 1

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package keeper
package keeper_test

import (
"testing"
Expand All @@ -8,6 +8,7 @@ import (
"cosmossdk.io/depinject"
"cosmossdk.io/log"

authTest "github.com/cosmos/cosmos-sdk/tests/integration/auth/keeper"
simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/x/auth/keeper"
Expand All @@ -19,7 +20,7 @@ func BenchmarkAccountMapperGetAccountFound(b *testing.B) {
app, err := simtestutil.Setup(
depinject.Configs(
depinject.Supply(log.NewNopLogger()),
AppConfig,
authTest.AppConfig,
),
&accountKeeper,
)
Expand Down Expand Up @@ -48,7 +49,7 @@ func BenchmarkAccountMapperSetAccount(b *testing.B) {
app, err := simtestutil.Setup(
depinject.Configs(
depinject.Supply(log.NewNopLogger()),
AppConfig,
authTest.AppConfig,
), &accountKeeper)
require.NoError(b, err)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package keeper
package keeper_test

import (
"testing"
Expand All @@ -8,6 +8,7 @@ import (
"cosmossdk.io/depinject"
"cosmossdk.io/log"

authTest "github.com/cosmos/cosmos-sdk/tests/integration/auth/keeper"
simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims"
"github.com/cosmos/cosmos-sdk/x/auth/keeper"
"github.com/cosmos/cosmos-sdk/x/auth/types"
Expand All @@ -17,7 +18,7 @@ func TestItCreatesModuleAccountOnInitBlock(t *testing.T) {
var accountKeeper keeper.AccountKeeper
app, err := simtestutil.SetupAtGenesis(
depinject.Configs(
AppConfig,
authTest.AppConfig,
depinject.Supply(log.NewNopLogger()),
),
&accountKeeper)
Expand Down
Loading

0 comments on commit e37d71a

Please sign in to comment.