Commit graph

11333 commits

Author SHA1 Message Date
ghubstan
d782e8d8ec
Do not run dummy test from driver 2020-07-13 19:50:33 -03:00
ghubstan
35ff4e5d79
Delete commented statement 2020-07-13 19:48:59 -03:00
ghubstan
4d5c767902
Fix codacy problem
Add comment inside empty method.
2020-07-13 10:28:31 -03:00
ghubstan
458d2f3f4f
Add license note 2020-07-12 22:15:16 -03:00
ghubstan
fae661c912
Run MethodTestSuite 2020-07-12 22:05:36 -03:00
ghubstan
65e3370d51
Add license note, format tearDown(), fix comment 2020-07-12 22:03:46 -03:00
ghubstan
db5a685468
Make init() method public 2020-07-12 21:56:51 -03:00
ghubstan
8da4646584
Update bats version test 2020-07-12 21:53:58 -03:00
ghubstan
81aeeddc4a
Add MethodTestSuite 2020-07-12 21:52:23 -03:00
ghubstan
0edcc3baa8
Add first method test cases
These are method test cases for gRPC methods that have already been
well tested by :cli/test.sh
2020-07-12 21:48:22 -03:00
ghubstan
96cabfb177
Support @Skip on test classes and methods
Add super class for all test types (method, scenario, end-to-end),
and an class & method level annotation for skipping tests.
2020-07-12 21:44:21 -03:00
ghubstan
390cba1b75
Fix codacy problem
Codacy wants comments inside an empty method.
2020-07-12 14:53:32 -03:00
ghubstan
ffe376e8dc
Fix codacy problems
Avoid throwing raw exception types.

Document empty method body.
2020-07-12 14:39:20 -03:00
ghubstan
2c10836a69
Expose grpc service stubs
Added :proto to the :apitest classpath for access to grpc
service stubs (to be) used in method (unit) tests.  Added new
GrpcStubs class to expose the grpc service stubs to method and
scenario tests.

The larger goal of :apitest is end to end testing, where :cli's
console output is checked for correctness.

This change partially addresses two other important use cases:

 * "method" testing -- an analog to unit testing
 * "scenario" testing -- an analog to narrow functional testing

For example, tests in the apitest.method package will directly
call grpc services, and asserts will be made on the return values
instead of console output.

Tests in the apitest.scenario package will check correctness
for broader use cases, such as funding a wallet, encrypting then
unlocking a wallet  for a specific time frame, or checking error
messages from the server when a "getbalance" call is made after
an "unlockwallet" timeout has expired.

The broader end to end tests will not use grpc stubs.
2020-07-12 13:55:08 -03:00
ghubstan
87525ca85d
Move test setup scaffolding into new Scaffold class
ApiTestMain will run all defined tests, but we also want to run
individual test suites and test cases, and they will need to
run the setup tasks as well.
2020-07-12 13:36:10 -03:00
ghubstan
851902117d
Add line break in front of port config 2020-07-12 13:23:53 -03:00
ghubstan
a1e2536ed5
Fix hanging background process problem
SetupTask submissions for Bisq background apps seednode, arbnode,
etc., would not always complete due to a blocking stderr stream
handler thread.join() call.  This change makes waiting on a bash
process err stream optional.
2020-07-11 18:15:17 -03:00
ghubstan
898219aba5
Assume bitcoin-core is statically linked to berkeley-db
The `berkeleyDbLibPath` option now defaults to an empty string.
If not set to a berkeley lib path on the command line or the
apitest.properties file, this option is ignored, and 'bitcoind'
will be started without first exporting the berkeley db library
path.

In other words:  If the bitcoind binary is dynamically linked to
berkeley db libs, export the configured berkeley-db lib path before
starting 'bitcoind'.  If statically linked,  the berkeley db lib
path will not be exported.

Also fixed exception msgs to show missing config file's absolute path.
2020-07-11 10:26:26 -03:00
ghubstan
e61a42dbb4
Remove MaxRAM from DEFAULT_JVM_OPTS
There is no need for this as any JavaFX based :desktop instances
will be started as background linux processes.
2020-07-10 15:00:50 -03:00
ghubstan
798fde847b
Fix error msgs 2020-07-10 14:27:25 -03:00
ghubstan
ca378cdd13
Fix error msg spacing 2020-07-10 14:24:35 -03:00
ghubstan
05d0ce0ef8
Fix codacy problem
Avoid throwing null pointer exceptions.
2020-07-09 16:56:09 -03:00
ghubstan
efbaa5be73
Fix codacy problems
Avoid throwing raw exception types.

Combine nested if statements.
2020-07-09 16:54:03 -03:00
ghubstan
09929c833f
Fix codacy problems
Unnecessary use of fully qualified name 'System.exit' due to existing
static import 'java.lang.System.exit'.  (line 100)

Avoid throwing raw exception types.  (lines 295, 302)
2020-07-09 16:49:16 -03:00
ghubstan
2cd80aaa60
Add subproject :apitest to gradle build file 2020-07-09 16:15:29 -03:00
ghubstan
e9baebc443
Add build tasks for installing dao-setup files
This gradle file is 'applied' by the main build file.

Usage:

  Run a full clean, build, download dao-setup.zip,
  and install the zip files contents in directory
  apitest/build/resources/main:

    ./gradlew clean build :apitest:installDaoSetup

  Download (if necessary) the dao-setup.zip file
  and install its contents in directory
  apitest/build/resources/main  (no build).

    ./gradlew :apitest:installDaoSetup
2020-07-09 16:03:46 -03:00
ghubstan
ae3b263cac
Add :apitest main driver, setup task & dummy tests
The driver class uses an ExecutorService to submit Callable
tasks for starting bitcoind and Bisq nodes as Linux background
processes.

By default, ApiTestMain starts background processes to support
regtest/dao testing, runs a few bitcoin-cli commands, then
shuts down all background processes before exiting.
(Actual API test suites have not been implemented yet.)

ApiTestConfig options can be used to skip tests and/or leave
background processes running indefinitely.
2020-07-09 15:49:12 -03:00
ghubstan
c0c75e2471
Support starting bitcoin & bisq apps on Linux
The apitest.linux package is for running random bash commands,
running 'bitcoind -regtest', running random 'bitcoin-cli -regtest'
commands, and spinning up Bisq apps such as seednode, arbnode,
and bob & alice nodes.

All but random bash and bitcoin-cli commands are run in the background.

The bitcoin-cli response processing is crude;  a more sophiticated
bitcoin-core rpc interface is not in the scope of this PR.
2020-07-09 15:35:45 -03:00
ghubstan
77b6878ec6
Add script to get Bisq app pid
Finding the pid of background linux/java processes has been
difficult to do from java, so a bash script is provided to
simplify the task.
2020-07-09 15:30:22 -03:00
ghubstan
e0c27eedcf
Add main resource files
* apitest.properties - config file for customizing ApiTestConfig
  options

* logback.xml - logging config file, will override logback files
  found in classpath

* bitcoin.conf - bitcoin-core regtest config file, overwritten
  during startup with correct path to blocknofity

* blocknotify - bitcoin-core blocknotify config file
2020-07-09 15:27:01 -03:00
ghubstan
88b5e9dbad
Add configuration support
ApiTestConfig works like :common Config, but specific to this subproject.

BisqAppConfig is an enumeration specifying Bisq desktop and daemon
options for running seednode, arbnode, bob & alices nodes in regtest /
full-dao mode.
2020-07-09 15:11:42 -03:00
sqrrm
e1fcbfac18
Merge pull request #4357 from ripcurlx/update-data-stores-for-v1.3.6
Update of data stores for v1.3.6
2020-07-08 15:43:05 +02:00
Christoph Atteneder
4e858f5698
Merge pull request #4358 from jmacxx/fix_transactions_csv
Fix nullpointer exception in transactions csv report
2020-07-08 14:33:07 +02:00
Christoph Atteneder
618e797bc7
Merge pull request #4360 from jmacxx/fix_popups
Fix popup window ordering problem
2020-07-08 14:31:21 +02:00
Christoph Atteneder
6d39d2e9b6
Merge pull request #4359 from wiz/add-miker-torv3-seednode
Add V3 seednode sn2bisq
2020-07-08 13:28:34 +02:00
jmacxx
0c9b4a142c
Fix popup window ordering problem
There is a race condition in PopupManager when with a stack of 2 popups,
the top popup is being replaced by another top-level popup. The base
layer popup ends up on top of the z-order, obscuring the correct one.

The race condition in PopupManager was within the onHidden() method
which invokes the next window in the queue.  The call to displayNext()
needs to be asynchronous so that a newer popup can take precedence.

Fixes #4293
2020-07-07 16:39:42 -05:00
wiz
f18e7d711a
Add V3 seednode sn2bisq 2020-07-08 01:15:46 +09:00
Christoph Atteneder
dd033daa44
Merge pull request #4355 from wiz/dark-theme-v2-fix-date-picker
Increase contrast of date picker colors in Dark Theme v2
2020-07-07 16:12:41 +02:00
jmacxx
3f8a3c78f3
Fix nullpointer exception in transactions CSV report
1. number of columns in header was incorrect
2. memo field can be null, needed to be converted to empty string

Fixes #4333
2020-07-07 09:07:40 -05:00
Christoph Atteneder
a25680ffa2
Update translations for v1.3.6 2020-07-07 15:57:38 +02:00
Christoph Atteneder
1d8353555c
Update data stores for v1.3.6 2020-07-07 15:56:06 +02:00
Christoph Atteneder
3b49acdf12
Update bitcoinj checkpoints 2020-07-07 15:37:00 +02:00
Christoph Atteneder
2050f08be9
Merge pull request #4354 from sqrrm/fee-overpay-bug
Fix taker use all BSQ for fee payment
2020-07-07 15:32:55 +02:00
pedromvpg
fd535801ba
Increase contrast in date picker colors 2020-07-07 03:17:05 +09:00
sqrrm
a8e4b51709
Fix taker use all BSQ for fee payment
Issue: if a taker used exactly all BSQ from the BSQ inputs to pay the
trading fee, there was no BSQ change in the takeOfferFeeTx. It was
assumed that the second output was the reservedForTrade output, but in
the case of missing BSQ change it was the first output.

Fix: added a check to make sure the value of the inputs to the deposit
tx match the expected inputAmount.

Added a check that if there is no BSQ outputs in the bsqTradingFeeTx a
change output is added of value 1 satoshi more than the BSQ input value.
This ensures that the second output is always the reservedForTrade
output. It also ensures that the BSQ is burnt, even in the very unlikely
case that the amount of BSQ burnt is larger than the reservedForTrade
amount.
2020-07-06 18:36:30 +02:00
Christoph Atteneder
716947a799
Merge pull request #4334 from wiz/dark-theme-v2
Update Dark Theme to V2 with new CSS and images by Pedro
2020-07-04 21:00:06 +02:00
Christoph Atteneder
cfc3252f7b
Merge pull request #4347 from sqrrm/deposit-improvements
Deposit improvements
2020-07-03 21:20:27 +02:00
Christoph Atteneder
17fbc8d22a
Add comparator for sorting deposits 2020-07-03 21:10:42 +02:00
Christoph Atteneder
ad374bd6ec
Improve layout to prevent truncation in most common use-cases 2020-07-03 19:08:00 +02:00
sqrrm
45a9803c9f
Merge pull request #4316 from petrhejna/fix-darkmode
Fix darkmode color of warning-box
2020-07-03 18:32:58 +02:00