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

barebones e2e test client #1003

Merged
merged 19 commits into from
Feb 16, 2023
Merged

barebones e2e test client #1003

merged 19 commits into from
Feb 16, 2023

Conversation

Voxelot
Copy link
Member

@Voxelot Voxelot commented Feb 9, 2023

This adds a new publishable binary to fuel-core that allows for e2e testing against deployed environments. Ideally tests added here should be relatively lightweight, tolerate concurrency and make minimal assumptions about the state of the network before executing.

Currently the test only performs a basic transfer, but the suite should be expanded to cover other common use-cases like contract deployments.

The main binary uses libtest-mimic to make it compatible with most cargo test runner plugins (e.g. nextest) or common IDE patterns for debugging tests.

It is driven by a configuration tomlfile which allows endpoints and wallet secrets to be configured based on the environment being tested. This is described more in the README.md.

helps unblock #482 and https://github.com/FuelLabs/fuel-k8s-operator/issues/26

@Voxelot Voxelot requested a review from a team February 9, 2023 10:19
leviathanbeak
leviathanbeak previously approved these changes Feb 9, 2023
removed fixed timeout during tests (subscriptions should be used instead)
added multinode test suite with one producer and one sync node
@Voxelot
Copy link
Member Author

Voxelot commented Feb 10, 2023

Added a multinode version of the suite integration tests, which assigns a different node to each wallet.

@Voxelot Voxelot requested review from leviathanbeak and a team February 10, 2023 05:12
@Voxelot Voxelot linked an issue Feb 13, 2023 that may be closed by this pull request
@Voxelot Voxelot self-assigned this Feb 13, 2023
}

/// Transfers coins from this wallet to another
pub async fn transfer(
Copy link
Collaborator

Choose a reason for hiding this comment

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

Hmm, I hope we will not bring the logic of the SDK into our e2e tests in the future=)

let config = save_config_file(config);

// execute suite
execute_suite(config.path)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Hmm, nice trick to run the e2e test for local environment because producer and validator are not destroyed at this point yet=D

@Voxelot Voxelot enabled auto-merge (squash) February 16, 2023 02:29
@Voxelot Voxelot merged commit 65ae489 into master Feb 16, 2023
@Voxelot Voxelot deleted the Voxelot/e2e-test-client branch February 16, 2023 02:50
xgreenx added a commit that referenced this pull request Feb 21, 2023
## What's Changed
* RESERVED_NODES and BOOTSTRAP_NODES conditional by @rfuelsh in
#1020
* barebones e2e test client by @Voxelot in
#1003
* Graceful Shutdown for all services by @xgreenx in
#1018
* Don't startup p2p or sync services if p2p isn't configured by @Voxelot
in #1021
* update to fuel-vm 0.26.1 by @Voxelot in
#1022
* Remove comment referencing previous defensive programming by
@mitch-fuel in #1024
* Add RUST_LOG option to deployment charts & increase max_transmit_size
by @Voxelot in #1025
* additional integ tests for resources to spend by @Voxelot in
#1026
* Disable pagination args for balances by @Voxelot in
#1027
* Add e2e test to check that Bob can send money back to Alice by
@xgreenx in #1029
* Predicate error handling by @Voxelot in
#1030
* Use composite actions by @tirkesi in
#1032
* Pruning of the transaction by TTL by @xgreenx in
#1033

## New Contributors
* @tirkesi made their first contribution in
#1032

**Full Changelog**:
v0.17.2...v0.17.3
crypto523 pushed a commit to crypto523/fuel-core that referenced this pull request Oct 7, 2024
## What's Changed
* RESERVED_NODES and BOOTSTRAP_NODES conditional by @rfuelsh in
FuelLabs/fuel-core#1020
* barebones e2e test client by @Voxelot in
FuelLabs/fuel-core#1003
* Graceful Shutdown for all services by @xgreenx in
FuelLabs/fuel-core#1018
* Don't startup p2p or sync services if p2p isn't configured by @Voxelot
in FuelLabs/fuel-core#1021
* update to fuel-vm 0.26.1 by @Voxelot in
FuelLabs/fuel-core#1022
* Remove comment referencing previous defensive programming by
@mitch-fuel in FuelLabs/fuel-core#1024
* Add RUST_LOG option to deployment charts & increase max_transmit_size
by @Voxelot in FuelLabs/fuel-core#1025
* additional integ tests for resources to spend by @Voxelot in
FuelLabs/fuel-core#1026
* Disable pagination args for balances by @Voxelot in
FuelLabs/fuel-core#1027
* Add e2e test to check that Bob can send money back to Alice by
@xgreenx in FuelLabs/fuel-core#1029
* Predicate error handling by @Voxelot in
FuelLabs/fuel-core#1030
* Use composite actions by @tirkesi in
FuelLabs/fuel-core#1032
* Pruning of the transaction by TTL by @xgreenx in
FuelLabs/fuel-core#1033

## New Contributors
* @tirkesi made their first contribution in
FuelLabs/fuel-core#1032

**Full Changelog**:
FuelLabs/fuel-core@v0.17.2...v0.17.3
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

Successfully merging this pull request may close these issues.

Fuel Core Test Client for Deployment Verification
3 participants