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

Add LongRunningTradesTest to apitest #5303

Merged
merged 17 commits into from Mar 19, 2021

Commits on Mar 10, 2021

  1. Adjust protos for takeoffer error handing

    - Add PRICE_CHECK_FAILED to enum AvailabilityResult.
    - Add enum AvailabilityResult to TakeOfferReply message.
    ghubstan committed Mar 10, 2021
    Copy the full SHA
    5c097d3 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    067a5c7 View commit details
    Browse the repository at this point in the history
  3. Adjust grpc & core services to new takeoffer error handling

    - GrpcErrorMessageHandler  A new ErrorMessageHandler implementation
      to get around the api specific problem of having to use Task
      ErrorMessageHandlers that build task error messages for the UI.
    
    - GrpcExceptionHandler  A new method for working with the
      ErrorMessageHandler interface.
    
    - GrpcTradesService, CoreApi, CoreTradesService:  Ajdusted takeoffer
      error handling to give a failure reason provided by the new
      GrpcErrorMessageHandler.
    ghubstan committed Mar 10, 2021
    Copy the full SHA
    d0590d9 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    697cf66 View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    d4d989d View commit details
    Browse the repository at this point in the history
  6. Copy the full SHA
    48ecb5b View commit details
    Browse the repository at this point in the history

Commits on Mar 14, 2021

  1. Copy the full SHA
    4a68773 View commit details
    Browse the repository at this point in the history
  2. Avoid NPE due to null fee while wrapping tx in TxInfo

    Add debugging convenience to core.api.model.TxInfo.
    ghubstan committed Mar 14, 2021
    Copy the full SHA
    64d4c31 View commit details
    Browse the repository at this point in the history
  3. Add LongRunningTradesTest

    This new api testcase can run long series' of regtest trades by looping
    over modified TakeBuyBTCOfferTest and TakeSellBTCOfferTest cases.  The
    purpose is to help reproduce problems and isolate bugs Bisq's core and
    api layers.
    
    LongRunningTradesTest is not enabled by default;  it will not run in a
    default test environment (such a Travis CI).  Enviornment variable
    LONG_RUNNING_TRADES_TEST_ENABLED must exist for the test to run.
    The env variable can be set in a bash shell before running the test
    case in a shell (using a gradle command), or the environment variable can
    be set in an Intellij test launcher's Evironment variables field.
    
    The modifed (short running) TakeBuyBTCOfferTest and TakeSellBTCOfferTest
    cases run as before.
    
    Changes include:
    
    - Add static boolean isLongRunningTest to AbstractOfferTest.
    
    - Add looping control Supplier maxTradeStateAndPhaseChecks to AbstractTradeTest.
      It uses the isLongRunningTest flag in the superclass to help define the
      wait times for trade state/phase changes during short and long running tests.
    
    - Made AbstractTradeTest assert(true, trade.isDepositPublished) conditional upon
      isLongRunningTest value.  Long running trade test asserts have to be looser due
      to increasing latency of wallet, offer and trade operations in the server as the
      trade counts increase.
    
    - Overload ApiTestCase#startSupportingApps with additional flag:
      startSupportingAppsInDebugMode. Default is false.  This makes
      starting background apps in debug mode a bit more convenient
      and self explanatory.
    ghubstan committed Mar 14, 2021
    Copy the full SHA
    1f28fc6 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    bc6c176 View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2021

  1. Refactor takeoffer reply proto & ErrorMessageHandler

    - Add description msg TakeOfferReply proto, and fromProto method
      to core.offer.enum AvailabilityResult.  The description field
      maps a client usable error message to the enum.
    
    - Adjust GrpcErrorMessageHandler to add AvailabilityResult.description()
      to takeoffer reply.
    
    - Refactor (split up) GrpcClient's takeOffer.  Add getTakeOfferReply()
      to give clients a chance to make choices based on the reply's
      AvailabilityResult when the takeoffer command did not result in a
      trade. (Some errors are fatal, some not.)
    ghubstan committed Mar 15, 2021
    Copy the full SHA
    1d56d79 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    98c6a8e View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    a2b2313 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    10e7217 View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    588541e View commit details
    Browse the repository at this point in the history
  6. Fix api getfundingaddresses bug

    This change uses recently added walletService.isAddressUnused to ensure
    the api's CoreWalletsService creates an unused address if none exists.
    
    - grpc.proto:  Add bool isAddressUnused field to message AddressBalanceInfo.
    - AddressBalanceInfo:  Adjust AddressBalanceInfo proto wrapper.
    - CoreWalletsService:  Use walletService.isAddressUnused in getFundingAddresses.
    - GrpcClient:  Adjust to modified AddressBalanceInfo.
    - TableFormat, ColumnHeaderConstants:  Add 'Is Used' column to getfundingaddresses output.
    
    Note: bugfix is out of scope for this PR, but the test case helped expose this bug.
    ghubstan committed Mar 15, 2021
    Copy the full SHA
    8783889 View commit details
    Browse the repository at this point in the history

Commits on Mar 18, 2021

  1. Copy the full SHA
    dc4f730 View commit details
    Browse the repository at this point in the history