Commit Graph

137 Commits

Author SHA1 Message Date
ghubstan
6f159bcb48
Fix usage comment 2020-11-02 12:55:18 -03:00
ghubstan
c2f8db3c7d
Reduce apitest case execution time
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.
2020-10-28 18:17:59 -03:00
ghubstan
e8e55d2286
Remove redundant ScenarioTest superclass 2020-10-28 18:01:49 -03:00
ghubstan
f61f148db1
Refactor api test fixture setup
- 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.
2020-10-28 17:59:15 -03:00
ghubstan
2a05203519
Remove dead code 2020-10-28 17:46:30 -03:00
ghubstan
91a2e2ce1f
Add canceloffer test 2020-10-27 19:06:59 -03:00
ghubstan
2746b27674
Fix apitest dummy payment acct init bug
This commit fixes non-trade tests broken by the last refactoring.
2020-10-27 13:47:23 -03:00
ghubstan
1e25be5bdc
Test trade closing api methods 'keepfunds' withdrawfunds'
Some refactoring of the api test case hierarchy is included in this commit.
2020-10-27 13:04:53 -03:00
ghubstan
b8ae566b69
Add method for printing current jupiter test name 2020-10-27 13:03:48 -03:00
ghubstan
3379376bab
Refactor CLI output formatting code & add trade formatter
- 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).
2020-10-25 16:50:22 -03:00
ghubstan
ac8ed8dd06
Add 'confirmpaymentreceived' api method
- Implement confirmpaymentsent on server and cli side

- Enable confirmpaymentreceived method tests
2020-10-20 16:51:48 -03:00
ghubstan
3d2b90fb96
Add 'confirmpaymentsent' api method
- Implement confirmpaymentsent on server and cli side

- Enable confirmpaymentsent method tests
2020-10-20 16:20:40 -03:00
ghubstan
e809af37cc
Add 'takeoffer' API method
- Add new core.offer.takeoffer.TakeOfferModel

	Would have been nice to move more logic from
	bisq.desktop.main.offer.takeoffer.TakeOfferDataModel,
	but it has JFX dependencies that cannot be use in :core.

- Add grpc protos to support takeoffer, confirmpaymentsent, confirmpaymentreceived

	Only takeoffer is implemented in this commit.

- Refactor OfferInfo grpc proto wrapper, and add offer state field

- Add new TradeInfo grpc proto wrapper

- Implement takeoffer on server and cli side

- Refactor offer/trade tests, add test cases
2020-10-20 16:00:05 -03:00
sqrrm
44394adb1e
Merge pull request #4608 from ghubstan/getoffer-for-id
Add new 'getoffer offer-id' api method
2020-10-15 11:14:05 +02:00
ghubstan
29d1905f31
Add new 'getoffer offer-id' api method
There are a number of use cases where a user may want to see a single
offer instead of every offer for a currency pair on the buy or sell side.
The changes are:

- Add getoffer to grpc.proto
- Add new method to GrpcOffersService, CoreApi, CoreOffersService
- Add new method to CLI
- Adjust create offer tests to use this new convenience
2020-10-07 12:09:13 -03:00
ghubstan
1a8f97afab
Fix register dipute agent test assert
This should have been included in commit 5f9b1e6, PR 4595.
2020-10-07 11:19:05 -03:00
ghubstan
9942529448
Remove redundant DisputeAgentType enum
Use existing SupportType enum instead, and map the valid api
'registerdisputeagent' method's dispute-agent-type parameter
names to SupportType.
2020-10-03 15:42:27 -03:00
ghubstan
d3d6d98666
Revert all changes since commit d55114e
Revert Task.java back to the state it was in prior to
my attempts to make it work for passing error msgs to a
gRPC CLI running 'placeoffer'.  Adjust the affected test
accordingly.
2020-10-03 11:55:58 -03:00
ghubstan
631c3f4f12
Log provenance of Task error on server, but pass only exception msg to clients
Adjusted create offer validation test
2020-10-02 15:02:37 -03:00
ghubstan
fc94b97a00
Throw exception to CLI if attempted offer placement fails 2020-09-28 18:11:08 -03:00
ghubstan
fa5c21c0b2
Fix BitcoinCli wrapper create bug 2020-09-28 14:30:30 -03:00
ghubstan
94996a5e25
Fix tx result handling in GrpcOffersService
Separates offer placement from offer creation to fix tx result
handling problem in GrpcOffersService, and readies the core api
for a new CLI 'placeoffer' implementation.  Offer placement still
happens in the api's 'createoffer', but we may want to change it
to show the created offer to a CLI user for review, prior to manual
placement via a new 'placeoffer offer-id' (of 'confirmoffer offer-id'?)
api method.
2020-09-28 11:48:56 -03:00
ghubstan
70531693f0
Fix asserts 2020-09-27 17:02:38 -03:00
ghubstan
35a77be7e4
Redefine DisputeAgentType REFUNDAGENT as REFUND_AGENT
The CLI needs to be able to register a REFUND_AGENT using the
'refund_agent' or 'refundagent' parameter value (in any case),
so an alt-name mapping was added to the enum def.
2020-09-27 15:23:19 -03:00
ghubstan
96abda4e2d
Tidy up create offer using mkt price margin % test 2020-09-26 13:40:10 -03:00
ghubstan
18df1e2fd4
Fix abs(dbl) comparison 2020-09-25 20:53:45 -03:00
ghubstan
2f3e3a31e1
Add simple mkt-price service & test calculated offer prices
A gRPC price service was added, and api create-offer tests can check
mkt based price margin calculations.
2020-09-25 20:48:26 -03:00
ghubstan
6cf9bbbaa9
Minor createoffer test changes 2020-09-25 13:58:32 -03:00
ghubstan
6cdbc137c1
Move 'createoffer' price arg transform to server & test it
The CreateOfferRequest's price field type was changed from long to string,
so a CLI param like 10000.0055 can be passed to the server as is, to be
scaled and converted there.  In general, we want to keep validation logic
on the CLI as simple as possible, and use existing core logic to
validate args and convert arg types when needed.
2020-09-24 18:13:19 -03:00
ghubstan
9999c95a9e
Change 'createoffer' argument order
And list the args in CLI --help outout.
2020-09-24 13:48:50 -03:00
ghubstan
ec9c1b0f10
Uppercase direction & ccy-code CLI arguments in core
Don't convert parameter case in CLI.
2020-09-24 09:18:13 -03:00
ghubstan
d190d09e2b
Fix unnecessary use of fully qualified name 2020-09-22 22:58:32 -03:00
ghubstan
fc1f0bac60
Fix imports 2020-09-22 22:56:08 -03:00
ghubstan
70e3be0032
Add API CreateOfferTest case 2020-09-22 22:16:55 -03:00
ghubstan
92f36ed03a
Add get default payment acct helper 2020-09-22 22:08:01 -03:00
ghubstan
c4dd041d97
Don't use static boilerplate helpers if not necessary 2020-09-22 18:20:23 -03:00
ghubstan
1d88d27330
Remove final modifiers 2020-09-22 18:11:55 -03:00
ghubstan
6a5040228e
Add simple create payment acct test
And make test dispute agent registration work from static fixture
setup methods.
2020-09-22 18:05:09 -03:00
ghubstan
8896372a0f
Move test dispute agent type constants to core
The string constants deleted from the test case are re-defined as enums,
but the test harness still passes around strings (enum.name()) because
the handling of invalid dispute agent type string args needs to be
tested.  (Reminder:  CLI does not accept any enum arguments.)
2020-09-22 15:31:38 -03:00
ghubstan
34cfe9532f
Remove comment 2020-09-22 14:51:31 -03:00
ghubstan
9132722bbf
Replace hardcoded version with Version.java value
Bats version check tests now use a bash script for parsing
the value from the Bisq class file, and these test cases
no longer need to be manually updated.
2020-09-22 14:45:21 -03:00
sqrrm
c814e3b8ed
Merge pull request #4540 from ghubstan/remove-strings
Reduce apitest harness' dependency on string matching
2020-09-22 11:39:32 +02:00
ghubstan
ab282c2c77
Reduce apitest harness' dependency on string matching
- Pass list of supporting app names as enum vararg to scaffold setup.
- Use dispute agent type constants in RegisterDisputeAgentsTest case.
2020-09-19 15:41:12 -03:00
ghubstan
e2bd89f39a
Refactor API & add registerdisputeagent method to CLI
This commit contains most of the changes suggested by @chimp1984 in
his api-suggestions branch.  See
961703ecea

A new 'registerdisputeagent' method was also added to MainCli, finishing
the work to support registration of mediators and refund agents on
arbitration daemons running in regtest mode.  This method cannot be
used to register dispute agents on mainnet;  users will see an error
msg if they try.
2020-09-18 11:33:16 -03:00
ghubstan
3f0394f722
Bump version to 1.3.8 2020-09-14 12:14:37 -03:00
ghubstan
8384dd8004
Add api dispute agent registration test case
This test case checks that mediators and refund agents can be
registered over grpc, but not on mainnet.
2020-09-14 12:13:36 -03:00
ghubstan
148a0f1200
Refactor test cases to use arbitrary grpc stubs
Most test cases send requests to the alicedaemon, but new test cases
will need to be able to send requests to arbitration and bob daemons.
2020-09-14 12:09:04 -03:00
ghubstan
899bea8df5
Replace "localhost" strings with InetAddress.getLoopbackAddress calls 2020-09-14 11:53:02 -03:00
ghubstan
4d12b8f3d3
Allow remote debugging of background Bisq apps
A unique hard coded debug listening port is assigned to the different
Bisq app types in the BisqAppConfig enum, and background Bisq apps
will be started with remote debug options if the scaffold-setup method
is passed an --enableBisqDebugging=true option.

* Added enableBisqDebugging (default=false) option to ApiTestConfig.

* Added remoteDebugPort field to BisqAppConfig enum.

* Added debugOpts field to BisqApp (using BisqAppConfig#remoteDebugPort).

* Appends debugOpts to exported JAVA_OPTS environment variable if present.

* Removed messy quotes from BisqAppConfig enum javaOpts values.

* Removed redundant return statement from BisqApp#shutdown().
2020-08-25 12:59:55 -03:00
ghubstan
b9c1feba9a
Remove redundant ApiTestConfig options
This change removes three options: runArbNodeAsDesktop,
runAliceNodeAsDesktop, and runBobNodeAsDesktop, which should have
been deleted when the supportingApps option was added.  The comma
delimited list of apps passed with the supportingApps option
now determines whether arbitration / bob / alice nodes are started as
desktops or daemons.
2020-08-25 12:35:57 -03:00