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

Automate Full Network E2E Acceptance Tests #12

Closed
wants to merge 1 commit into from

Conversation

ClaytonNorthey92
Copy link
Contributor

@ClaytonNorthey92 ClaytonNorthey92 commented Feb 27, 2024

Summary
Talking with @max-sanchez , we want to automate his acceptance test cases, these are:

  • PoP transactions get published to Bitcoin, and each contains an OP_RETURN starting with 'HEMI"
  • PoP transactions are using the correct fee (approx 1 sat/vB)
  • PoP miner only creates one BTC transaction for each keystone
  • PoP payouts are calculated for each keystone starting at 25, and payout address matches PoP miner ETH address
  • Bitcoin Finality for blocks starts at -9 and progresses in step with new Bitcoin blocks
  • Bitcoin Finality returns same result for last 10 blocks and querying for specific block in that list

I opted to make this one test case for two reasons:

  • the setup is huge
  • whilst we can do a single setup/teardown for multiple tests, these test cases are sequential, it makes the most sense to have a test case that lets the chain progress and mature and checks it to pass test cases

Changes
Automates the above tests in a single "full network" test. test cases are denoted by comment prefix: "acceptance test case"

fixes #2

fixes #6

@ClaytonNorthey92 ClaytonNorthey92 added area: test This adds or improves test coverage area: hemictl This is a change to hemictl labels Feb 27, 2024
@@ -271,6 +271,8 @@ func (s *Server) handleBitcoinBroadcast(ctx context.Context, bws *bfgWs, payload
tl2, err = pop.ParseTransactionL2FromOpReturn(v.PkScript)
if err != nil {
log.Errorf(err.Error()) // handle real error below
} else {
break
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this will likely be fixed in @marcopeereboom 's pr #10

@ClaytonNorthey92 ClaytonNorthey92 marked this pull request as ready for review February 28, 2024 00:06
@ClaytonNorthey92 ClaytonNorthey92 added the size: L This change is large (+/- <500) label Feb 28, 2024
Copy link
Contributor

@jcvernaleo jcvernaleo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two things:

Could you rebase to address conflicts.

And you have tons of info in the github message, but none in the commit message. The commit message should be the main source of info rather than the message on github.

@ClaytonNorthey92
Copy link
Contributor Author

Two things:

Could you rebase to address conflicts.

And you have tons of info in the github message, but none in the commit message. The commit message should be the main source of info rather than the message on github.

hey @jcvernaleo - yup! will rebase, though I want to merge #18 first; it will simplify the e2e tests a bit. And I can definitely make the commit message better 👍

these include:
* PoP transactions get published to Bitcoin, and each contains an OP_RETURN starting with 'HEMI"
* PoP transactions are using the correct fee (approx 1 sat/vB)
* PoP miner only creates one BTC transaction for each keystone
* PoP payouts are calculated for each keystone starting at 25, and payout address matches PoP miner ETH address
* Bitcoin Finality for blocks starts at -9 and progresses in step with new Bitcoin blocks
* Bitcoin Finality returns same result for last 10 blocks and querying for specific block in that list
@ClaytonNorthey92
Copy link
Contributor Author

@joshuasing @jcvernaleo I am actually going to close this in favor of #37 ; that's a better way to test, and we can write cleaner automated tests against the local network

@ClaytonNorthey92 ClaytonNorthey92 deleted the clayton/acceptance branch June 24, 2024 12:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: hemictl This is a change to hemictl area: test This adds or improves test coverage size: L This change is large (+/- <500)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Automate E2E Acceptance Tests Ensure e2e network tests can't spend coinbase
3 participants