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

Refactor E2E Tests for SDK v0.47 & IBC v7 #2536

Closed
19 of 22 tasks
Tracked by #2540
glnro opened this issue May 25, 2023 · 0 comments · Fixed by #2744
Closed
19 of 22 tasks
Tracked by #2540

Refactor E2E Tests for SDK v0.47 & IBC v7 #2536

glnro opened this issue May 25, 2023 · 0 comments · Fixed by #2744
Assignees
Labels
dependencies Pull requests that update a dependency file S: KTLO Keeping the lights on: Keeping the current product operational (bugs, troubleshooting, deps updates) scope: testing Code review, testing, making sure the code is following the specification.

Comments

@glnro
Copy link
Contributor

glnro commented May 25, 2023

Problem

Refactor existing base e2e tests and add new test cases for updated APIs.

Background

In order to accommodate the upgrade to SDK v0.47 and IBC v7, a minimal PR was opened to upgrade Gaia so that only unit and liveness tests would pass. All E2E tests were left commented out, to be reintroduced and/or refactored to be consistent with the new libraries and corresponding API's.

Closing criteria

  • All E2E tests refactored and passing
  • E2E user journeys documented
  • New tests covering additional user journeys introduced in SDK v0.46 and v0.47.

Problem details

Gaia's E2E test suites exist to ensure safety against regressions for critical user journeys.

The following user journeys will remain consistent from SDK v0.45 to v0.47 and are categorized by executing module. These tests are currently commented out in the base branch and may need to be refactored.

Existing Test Suites

  • Endpoint Regression
    • testRestInterfaces - Ensure node and module REST endpoints have been configured and return a 200.
  • Bank
    • testBankTokenTransfer - Send tokens from account A to account B on the same chain
  • BypassMinFee
    • testBypassMinFeeWithdrawReward - Submit a gov param change proposal to change the bypass-min-fee message to include MsgWithdrawDelegatorReward and test succcess and failure cases with different fee amounts.
  • Encode/Decode
    • testEncode - Encode transaction from json to base64
    • testDecode- Decode a transaction from base64 to json
  • Evidence
    • testEvidence - Verify the expected volume of evidence generated in test setup persists and is is queryable
  • FeeGrant
    • testFeeGrant - Execute a fee grant so that account 1 will pay fees for account 2 on chain A. Verify that expected fees are deducted.
  • GlobalFee
    • testGlobalFees - Validate expected global fee configuration again test case matrix
    • testQueryGlobalFeesInGenesis - Validate globalfee initialized in genesis
  • IBC
    • testIBCTokenTransfer - Send tokens from account A on chain 1 to account A on chain B
    • testMultihopIBCTokenTransfer (PFM) - Send tokens using packet-forward-middleware from account A on chain 1 through account A on chain 2 to account B on chain 1. Verify tokens successfully received.
    • testFailedMultihopIBCTokenTransfer (PFM) - Send tokens from account A on chain 1 through a nonviable address on chain 2. Verify transaction fails and tokens are returned to sender.
    • testIBCBypassMsg - Test fee bypassing for IBC messages: MsgRecvPacket, MsgAcknowledgement, MsgAcknowledgement, and MsgUpdateClient
  • Slashing
    • testSlashing - Successfully unjail validator previously jailed in test setup.
  • Staking & Distribution
    • testStaking - Successfully delegate and redelegate tokens to a validator.
    • testDistribution - Successfully set new withdrawal address and withdraw rewards to it.
  • Vesting
    • testDelayedVestingAccount - Verify token transfers fail until after end time.
    • testContinuousVestingAccount - Verify token transfer succeeds with expected amount after start time.

Refactor

  • Gov
    • GovSoftwareUpgrade -> LegacySoftwareUpgrade - Execute a software upgrade proposal and verify chain halts at expected height.
    • GovCancelSoftwareUpgrade - LegacyCancelSoftwareUpgrade - Execute a software upgrade proposal and subsequent cancel upgrade proposal. Verify chain does not halt at original proposal's halt-height.
    • GovCommunityPoolSpend - Deprecate
    • AddRemoveConsumerChain - Execute an add consumer chain proposal, and subsequent remove consumer chain proposal.

New Tests

  • Gov
    • testSubmitBankSendProposal - Execute a gov proposal with the new gov API that executes a bank send to an address from the gov module account,
    • testSubmitSoftwareUpgrade - Execute a software upgrade proposal with the new gov API
    • testCancelSoftwareUpgrade - Execute a cancel software upgrade proposal with the new gov API
  • Bank
    • testMultiSend - Execute a bank multisend

Task list

QA

Update existing test suites to pass against the v47 feature branch

  1. S: KTLO tests
    sainoe

Add additional tests for API changes

Nice to have

@glnro glnro added admin: epic An EPIC -- meta issue used to track a body of work status: waiting-triage This issue/PR has not yet been triaged by the team. labels May 25, 2023
@github-project-automation github-project-automation bot moved this to 🩹 Triage in Cosmos Hub May 25, 2023
@sainoe sainoe self-assigned this Jun 6, 2023
@sainoe sainoe moved this from 🩹 Triage to 🏗 In progress in Cosmos Hub Jun 6, 2023
@sainoe sainoe moved this from 🏗 In progress to 📥 Todo in Cosmos Hub Jun 22, 2023
@sainoe sainoe moved this from 📥 Todo to 🏗 In progress in Cosmos Hub Jun 22, 2023
@sainoe sainoe removed the status: waiting-triage This issue/PR has not yet been triaged by the team. label Jun 22, 2023
@MSalopek MSalopek changed the title EPIC: Refactor E2E Tests for SDK v0.47 & IBC v7 Refactor E2E Tests for SDK v0.47 & IBC v7 Jul 18, 2023
@MSalopek MSalopek added dependencies Pull requests that update a dependency file scope: testing Code review, testing, making sure the code is following the specification. and removed admin: epic An EPIC -- meta issue used to track a body of work labels Jul 18, 2023
@mpoke mpoke moved this from 🏗 F3: InProgress to 🛑 F3: OnHold in Cosmos Hub Aug 31, 2023
@sainoe sainoe moved this from 🛑 F3: OnHold to 🏗 F3: InProgress in Cosmos Hub Sep 15, 2023
@mpoke mpoke added the S: KTLO Keeping the lights on: Keeping the current product operational (bugs, troubleshooting, deps updates) label Sep 15, 2023
@sainoe sainoe moved this from 🏗 F3: InProgress to 👀 F3: InReview in Cosmos Hub Sep 20, 2023
@sainoe sainoe linked a pull request Sep 22, 2023 that will close this issue
18 tasks
@sainoe sainoe closed this as completed Sep 26, 2023
@github-project-automation github-project-automation bot moved this from 👀 F3: InReview to 👍 F4: Assessment in Cosmos Hub Sep 26, 2023
@mpoke mpoke moved this from 👍 F4: Assessment to ✅ Done in Cosmos Hub Oct 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file S: KTLO Keeping the lights on: Keeping the current product operational (bugs, troubleshooting, deps updates) scope: testing Code review, testing, making sure the code is following the specification.
Projects
Status: ✅ Done
Development

Successfully merging a pull request may close this issue.

4 participants