Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ci Test: Ensure All RPC,GRPC,API, Websocket functions as expected #241

Open
hard-nett opened this issue Dec 4, 2024 · 2 comments
Open

Comments

@hard-nett
Copy link
Collaborator

hard-nett commented Dec 4, 2024

To ensure liveliness of all endpoints are available after major codebase upgrades, we can have test coverage of these possible by making use of various methods to test go-bitsong.

Test Implementations

  • GRPC - cw-orchestrator tests + tonic (use GRPC to pass msgs)
  • RPC - Bash scripting , Interchaintest
  • API - Node/Javascript/Python
  • Websocket - Node/Javascript/Python

Major Focal Points

  • Every sdk module
  • Packetforwardmiddleware
  • Wasm + IBC integration
  • If upgrade is state breaking
  • Init-from-state checks

LocalBitsong

Local bitsong deploys instances of bitsong for testing different scenarios on a local computer environment. #253 adds initial implementation, and we can build from here via reference to Osmosis' implementation

InterchainTest

Interchaintest is go scripts to deploy bitsong networks, via Docker images, for tests various scenarios. There are a number of existing templates and examples of ICT compatible with Bitsong, so these are able to be implemented

Cw-Orchestrator

Cw-Orchestrator is a rust scripting library, that makes writing interfaces for contracts and networks reusable for live, testnet, local, and simulation environments. #249 brought test for ibc-callbacks. These test require the use of Starship, a kubernetes container deployment system.

Upgrades

see below...

CURRENT TESTS NOT WORKING

  • unit-test: x/fantoken cli
  • ict: wasm conformance actions
  • ict: upgrade-ci
@hard-nett
Copy link
Collaborator Author

wasm query - #244 (comment)

@hard-nett
Copy link
Collaborator Author

A primary tool to use for testing go-bitsong functions is our KeeperTestHelper testing suite. This includes all of the objects necessary for simulating a bitsong environment in order to perform any test case we want.

Upgrades

In #252, an upgrade_test.go file is introduced, making use of our testing suite to simulate the upgrade process that resolves a bug with application. This format can be used in future upgrades to verify their functionalities.

GRPC Queries

One of the objects is the QueryHelper:

type KeeperTestHelper struct {
...
	QueryHelper *baseapp.QueryServiceTestHelper
}

This can also be used to verify any of our modules GRPC query functions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant