# README
Integration Test Suite utility
was created with aims to:
- Provide a simple way to set up and run integration tests
- Able to run integration tests in parallel
- Environment nearest to E2E testing
- Initialize a chain with CometBFT node to fully functional testing
- Init chain with pre-defined set of validators and wallets, easier to trace and debug
- Able to set up test for Json-RPC server
Notes:
- To get historical data correctly, need to use query clients/rpc backend/... at corresponding height
Weak points:
- Only support Linux & MacOS, possible to make it compatible with Windows by enhance the TemporaryHolder functionality
- Easy to get import circle error, need a dedicated folder for integration test
# Functions
CreateChainIntegrationTestSuite initialize an integration test suite using default configuration.
CreateChainIntegrationTestSuiteFromChainConfig initialize an integration test suite from a given chain config.
CreateChainsIbcIntegrationTestSuite initializes an IBC integration test suite from given chains.
NewQueryServerTestHelper creates a new QueryServiceTestHelper that wraps the provided sdk.Context.
NewTestAccount creates a new test account.
# Variables
Contract1Storage is the compiled storage contract.
go:embed compiled_contracts/1-storage.json.
Contract2WEvmos is the compiled WEVMOS contract.
go:embed compiled_contracts/2-wevmos.json.
Contract3Nft721 is the compiled NFT-721 contract.
go:embed compiled_contracts/3-nft721.json.
Contract4Nft1155 is the compiled NFT-1155 contract.
go:embed compiled_contracts/4-nft1155.json.
Contract5CreateBarContract is the compiled Bar-contract on 5-create.sol.
Contract5CreateBarInteractionContract is the compiled BarInteraction-contract on 5-create.sol.
go:embed compiled_contracts/5-create-BarInteraction.json.
go:embed compiled_contracts/5-create-Bar.json.
Contract5CreateFooContract is the compiled Foo-contract on 5-create.sol.
go:embed compiled_contracts/5-create-Foo.json.
goland:noinspection SpellCheckingInspection.
goland:noinspection SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
goland:noinspection GoSnakeCaseUsage,SpellCheckingInspection.
# Structs
ChainIntegrationTestSuite is a helper for Chain integration test.
ChainsIbcIntegrationTestSuite is a wrapper of ChainIntegrationTestSuite for IBC testing.
CosmosTxArgs contains the params to create a cosmos tx.
QueryServiceTestHelper provides a helper for making grpc query service rpc calls in unit tests.