-
Notifications
You must be signed in to change notification settings - Fork 220
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
68 additions
and
54 deletions.
There are no files selected for viewing
87 changes: 53 additions & 34 deletions
87
integration_tests/features/WalletRoutingMechanism.feature
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,43 +1,62 @@ | ||
@routing_mechanism | ||
Feature: Wallet Routing Mechanism | ||
|
||
Scenario Outline: Wallets transacting via specified routing mechanism only | ||
Given I have a seed node NODE | ||
And I have <NumBaseNodes> base nodes connected to all seed nodes | ||
And I have non-default wallet WALLET_A connected to all seed nodes using <Mechanism> | ||
And I have mining node MINER connected to base node NODE and wallet WALLET_A | ||
And I have <NumWallets> non-default wallets connected to all seed nodes using <Mechanism> | ||
And I have a merge mining proxy PROXY connected to NODE and WALLET_A with default config | ||
Scenario Outline: Wallets transacting via specified routing mechanism only | ||
Given I have a seed node NODE | ||
And I have <NumBaseNodes> base nodes connected to all seed nodes | ||
And I have non-default wallet WALLET_A connected to all seed nodes using <Mechanism> | ||
And I have mining node MINER connected to base node NODE and wallet WALLET_A | ||
And I have <NumWallets> non-default wallets connected to all seed nodes using <Mechanism> | ||
And I have a merge mining proxy PROXY connected to NODE and WALLET_A with default config | ||
# We need to ensure the coinbase lock heights are gone and we have enough individual UTXOs; mine enough blocks | ||
When I merge mine 20 blocks via PROXY | ||
Then all nodes are at height 20 | ||
When I merge mine 20 blocks via PROXY | ||
Then all nodes are at height 20 | ||
# TODO: This wait is needed to stop base nodes from shutting down | ||
When I wait 1 seconds | ||
When I wait for wallet WALLET_A to have at least 100000000 uT | ||
#When I print the world | ||
And I multi-send 1000000 uT from wallet WALLET_A to all wallets at fee 100 | ||
Then all wallets detect all transactions are at least Pending | ||
Then all wallets detect all transactions are at least Completed | ||
Then all wallets detect all transactions are at least Broadcast | ||
When I wait 1 seconds | ||
When I wait for wallet WALLET_A to have at least 100000000 uT | ||
#When I print the world | ||
And I multi-send 1000000 uT from wallet WALLET_A to all wallets at fee 100 | ||
Then all wallets detect all transactions are at least Pending | ||
Then all wallets detect all transactions are at least Completed | ||
Then all wallets detect all transactions are at least Broadcast | ||
# TODO: This wait is needed to stop next merge mining task from continuing | ||
When I wait 1 seconds | ||
And mining node MINER mines 1 blocks | ||
Then all nodes are at height 21 | ||
Then all wallets detect all transactions as Mined_Unconfirmed | ||
When I wait 1 seconds | ||
And mining node MINER mines 1 blocks | ||
Then all nodes are at height 21 | ||
Then all wallets detect all transactions as Mined_Unconfirmed | ||
# TODO: This wait is needed to stop next merge mining task from continuing | ||
When I wait 1 seconds | ||
And mining node MINER mines 11 blocks | ||
Then all nodes are at height 32 | ||
Then all wallets detect all transactions as Mined_Confirmed | ||
When I wait 1 seconds | ||
And mining node MINER mines 11 blocks | ||
Then all nodes are at height 32 | ||
Then all wallets detect all transactions as Mined_Confirmed | ||
# TODO: This wait is needed to stop base nodes from shutting down | ||
When I wait 1 seconds | ||
@critical | ||
Examples: | ||
| NumBaseNodes | NumWallets | Mechanism | | ||
| 5 | 5 | DirectAndStoreAndForward | | ||
| 5 | 5 | DirectOnly | | ||
When I wait 1 seconds | ||
@critical | ||
Examples: | ||
| NumBaseNodes | NumWallets | Mechanism | | ||
| 5 | 5 | DirectAndStoreAndForward | | ||
| 5 | 5 | DirectOnly | | ||
|
||
@long-running | ||
Examples: | ||
| NumBaseNodes | NumWallets | Mechanism | | ||
| 5 | 5 | StoreAndForwardOnly | | ||
@long-running | ||
Examples: | ||
| NumBaseNodes | NumWallets | Mechanism | | ||
| 5 | 5 | StoreAndForwardOnly | | ||
|
||
# TODO: lower the sleeps | ||
Scenario: Store and forward TX | ||
And I have a base node BASE | ||
And I have wallet SENDER connected to base node BASE | ||
And I have wallet RECEIVER connected to base node BASE | ||
And I stop wallet RECEIVER | ||
And I have mining node MINE connected to base node BASE and wallet SENDER | ||
And mining node MINE mines 5 blocks | ||
Then I wait for wallet SENDER to have at least 1000000 uT | ||
And I send 1000000 uT from wallet SENDER to wallet RECEIVER at fee 100 | ||
And I wait 121 seconds | ||
And I stop wallet SENDER | ||
And I wait 360 seconds | ||
And I restart wallet RECEIVER | ||
And I wait 121 seconds | ||
And I stop wallet RECEIVER | ||
And I restart wallet SENDER | ||
And wallet SENDER detects all transactions are at least Broadcast |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters