Commit graph

193 commits

Author SHA1 Message Date
ghubstan
dc3274ff5f
Re comment sendbsq tests so travis ci does not fail 2020-11-13 14:59:31 -03:00
ghubstan
0d3b3a6ead
Stub out api method 'sendbsq' in core
All the boilerplate for this method is included in this change, but
the implementation in CoreWalletsService#sendBsq is commented out
until the needed logic to send bsq is refactored out of desktop's
BsqSendView class -- to be included in the next PR.

- Added new method to CLI.

- Added the gRPC server boilerplate.

- Added the core implementation, commented out.

- Enabled tests.
2020-11-13 14:57:28 -03:00
ghubstan
7f0f949a2d
Resolve unnecessary use of fully qualified name for codacy 2020-11-13 14:35:26 -03:00
ghubstan
208a37b339
Implement and test new getbalance(s) api methods
- Added three new methods to CLI:

      getbalances   ...	returns complete bsq and btc balance info
      getbsqbalance ...	returns complete bsq balance info
      getbtcbalance ...	returns complete btc balance info

      The old getbalance method is deprecated and will be removed
      if there is agreement to do that.

- Made the needed changes in the CLI's output formatting classes.

- Added new tests to existing BsqWalletTest, added new BtcWalletTest
  and WalletBalancesTest.

- Added disabled tests for funding a bsq wallet (todo in next PR).
2020-11-13 14:21:26 -03:00
ghubstan
7c2068e3c1
Add teardown to test case 2020-11-13 12:45:40 -03:00
ghubstan
c1c099c832
Implement and test api method 'getunusedbsqaddress'
- Added new method to CLI, split some long msg strings into two lines,
  and added a white space after a braceless else statement.

- Added the gRPC server boilerplate.

- Added the core implementation.

- Added a test, and moved method wallet tests into their own package.
2020-11-13 12:40:16 -03:00
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