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

Reduce apitest suite execution time #4725

Merged
merged 31 commits into from Nov 2, 2020

Conversation

ghubstan
Copy link
Member

Reduce apitest suite execution time

Consolidated all method tests into fewer test cases by running them from new 'scenario' test cases. This cuts the current scaffold setup & tear-down times by almost 1/2. No method tests were deleted or duplicated.

(1) Disabled all method (unit) test cases at the class level.
(2) Added new scenario test cases to run all disabled test cases (1).

The method test cases can still be run by commenting out their @Disabled annotations.

PR #4724 should be reviewed & merged before this PR.

The API is going to need some desktop trade utilities, which should be
shared between :desktop and :core.api.
Scope of this refactoring is small;  more can be done, but the short
term goal is to share trade util logic with core api.

- Removed unused method getCurrencyCode()
- Made minor style changes
- Removed duplicated code block
API users will need to see their role as maker/taker when looking at trade details.

- Add getRole(trade) to TradeUtil.
- Add getTradeRole(tradeId) to CoreApi, CoreTradesService.
- Add role field to TradeInfo proto and its wrapper class.
- Move output column header specs to its own shared constants class.

- Add new TradeFormat class for printing trade details in the console.

- Print formatted trade in api trade tests -- to see output before
  using formatter in CLI (in next PR).
Optionally print the json contract for a given trade id.
This PR adds trade closing method stubs to keep funds in the
Bisq wallet or send them to an external BTC wallet.

- Add grpc protos
- Add new methods to GrpcTradesService, CoreApi
- Stub out implementations in CoreTradesService
- Add methods to CLI
The CoreTradesService was refactored to work for newly added api methods:

- keepfunds -- close trade, keep funds in bisq wallet

- withdrawfunds -- close trade, withdraw funds to external btc wallet

A getKey accessor was added to CoreWalletsService (needed by withdrawfunds impl).
Some refactoring of the api test case hierarchy is included in this commit.
This commit fixes non-trade tests broken by the last refactoring.
The implementation will be added to CoreOffersService in the next PR.
This upgrades jupiter for all subprojects using this library, but
it does not affect released code.
- Show full stack traces in console
- Do use previously cached test outputs
- Do not show skipped test name in console (too noisy)
- Show test run summary, including number of skipped tests
- Show note about skipped test info in the html report
- Show link to html report on test SUCCESS
- Remove dead code from AbstractLinuxProcess.

- Make default dummy accts static in MethodTest.

- Simplify gRPC stub creation, btc block generation, dispute agent
  registration, and dummy acct initialization in test case startup.

- Make ExpectedProtocolStatus visible to scenario test pkg.
Consolidated all method tests into fewer test cases by running them
from new 'scenario' test cases.  This cuts the current scaffold
setup & teardown times by almost 1/2.  No method tests were deleted
or duplicated.

(1)  Disabled all method (unit) test cases at the class level.
(2)  Added new scenario test cases to run all disabled test cases (1).

The method test cases can still be run by commenting out the @disabled
annotation.
@ghubstan ghubstan added this to In progress in Ship Bisq Daemon and API Oct 28, 2020
Copy link
Member

@sqrrm sqrrm left a comment

Choose a reason for hiding this comment

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

utACK

@sqrrm sqrrm merged commit a308bef into bisq-network:master Nov 2, 2020
Ship Bisq Daemon and API automation moved this from In progress to Done Nov 2, 2020
@ghubstan ghubstan deleted the 18-reduce-methodtest-time branch November 2, 2020 15:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging this pull request may close these issues.

None yet

2 participants