From 81f345b9ea5fe37b44a5515fbb86a50fa9d4c9e4 Mon Sep 17 00:00:00 2001 From: ghubstan <36207203+ghubstan@users.noreply.github.com> Date: Wed, 28 Apr 2021 12:00:54 -0300 Subject: [PATCH 1/3] Fix bsq wallet testcase setup (api) Regtest btc block was not being generated, and chain download not triggered. Also ajusted testGetUnusedBsqAddress() for upcoming segwit bsq changes. --- .../apitest/method/wallet/BsqWalletTest.java | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/apitest/src/test/java/bisq/apitest/method/wallet/BsqWalletTest.java b/apitest/src/test/java/bisq/apitest/method/wallet/BsqWalletTest.java index 6be9dd66543..2917624dcdc 100644 --- a/apitest/src/test/java/bisq/apitest/method/wallet/BsqWalletTest.java +++ b/apitest/src/test/java/bisq/apitest/method/wallet/BsqWalletTest.java @@ -2,7 +2,7 @@ import bisq.proto.grpc.BsqBalanceInfo; -import org.bitcoinj.core.LegacyAddress; +import org.bitcoinj.core.Address; import org.bitcoinj.core.NetworkParameters; import lombok.extern.slf4j.Slf4j; @@ -25,11 +25,9 @@ import static bisq.apitest.method.wallet.WalletTestUtil.bsqBalanceModel; import static bisq.apitest.method.wallet.WalletTestUtil.verifyBsqBalances; import static bisq.cli.TableFormat.formatBsqBalanceInfoTbl; -import static org.bitcoinj.core.NetworkParameters.PAYMENT_PROTOCOL_ID_MAINNET; import static org.bitcoinj.core.NetworkParameters.PAYMENT_PROTOCOL_ID_REGTEST; import static org.bitcoinj.core.NetworkParameters.PAYMENT_PROTOCOL_ID_TESTNET; import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertNotEquals; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.MethodOrderer.OrderAnnotation; @@ -48,8 +46,8 @@ public class BsqWalletTest extends MethodTest { @BeforeAll public static void setUp() { - startSupportingApps(false, - true, + startSupportingApps(true, + false, bitcoind, seednode, arbdaemon, @@ -60,16 +58,14 @@ public static void setUp() { @Test @Order(1) public void testGetUnusedBsqAddress() { - var address = aliceClient.getUnusedBsqAddress(); - assertFalse(address.isEmpty()); - assertTrue(address.startsWith("B")); - - NetworkParameters networkParameters = LegacyAddress.getParametersFromAddress(address.substring(1)); + String addressString = aliceClient.getUnusedBsqAddress(); + assertFalse(addressString.isEmpty()); + assertTrue(addressString.startsWith("B")); + Address address = Address.fromString(NetworkParameters.fromID(PAYMENT_PROTOCOL_ID_REGTEST), addressString.substring(1)); + NetworkParameters networkParameters = address.getParameters(); String addressNetwork = networkParameters.getPaymentProtocolId(); - assertNotEquals(PAYMENT_PROTOCOL_ID_MAINNET, addressNetwork); - // TODO Fix bug causing the regtest bsq address network to be evaluated as 'testnet' here. - assertTrue(addressNetwork.equals(PAYMENT_PROTOCOL_ID_TESTNET) - || addressNetwork.equals(PAYMENT_PROTOCOL_ID_REGTEST)); + log.warn("TODO Fix bug causing the regtest bsq address network being set to 'testnet'."); + assertTrue(addressNetwork.equals(PAYMENT_PROTOCOL_ID_TESTNET)); } @Test From 38eee59375e043a0adc678598fca6759594aee46 Mon Sep 17 00:00:00 2001 From: ghubstan <36207203+ghubstan@users.noreply.github.com> Date: Wed, 28 Apr 2021 12:01:25 -0300 Subject: [PATCH 2/3] Fix flaky tx fee rate validation test (api) Min tx fee rates move fast, sometimes so low the validation test fails. Try to consistently force validation error by setting fee rate=1. --- .../test/java/bisq/apitest/method/wallet/BtcTxFeeRateTest.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apitest/src/test/java/bisq/apitest/method/wallet/BtcTxFeeRateTest.java b/apitest/src/test/java/bisq/apitest/method/wallet/BtcTxFeeRateTest.java index 3d231964061..493491439fe 100644 --- a/apitest/src/test/java/bisq/apitest/method/wallet/BtcTxFeeRateTest.java +++ b/apitest/src/test/java/bisq/apitest/method/wallet/BtcTxFeeRateTest.java @@ -56,8 +56,7 @@ public void testGetTxFeeRate(final TestInfo testInfo) { @Order(2) public void testSetInvalidTxFeeRateShouldThrowException(final TestInfo testInfo) { var currentTxFeeRateInfo = TxFeeRateInfo.fromProto(aliceClient.getTxFeeRate()); - Throwable exception = assertThrows(StatusRuntimeException.class, () -> - aliceClient.setTxFeeRate(10)); + Throwable exception = assertThrows(StatusRuntimeException.class, () -> aliceClient.setTxFeeRate(1)); String expectedExceptionMessage = format("UNKNOWN: tx fee rate preference must be >= %d sats/byte", currentTxFeeRateInfo.getMinFeeServiceRate()); From 984aac713d0100d349166878f4dc0b0cb4ea22b3 Mon Sep 17 00:00:00 2001 From: ghubstan <36207203+ghubstan@users.noreply.github.com> Date: Wed, 28 Apr 2021 12:22:26 -0300 Subject: [PATCH 3/3] Fix NetworkParameters.fromID( incorrect-arg -> correct-arg ) --- .../java/bisq/apitest/method/wallet/BsqWalletTest.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/apitest/src/test/java/bisq/apitest/method/wallet/BsqWalletTest.java b/apitest/src/test/java/bisq/apitest/method/wallet/BsqWalletTest.java index 2917624dcdc..e978624c2f0 100644 --- a/apitest/src/test/java/bisq/apitest/method/wallet/BsqWalletTest.java +++ b/apitest/src/test/java/bisq/apitest/method/wallet/BsqWalletTest.java @@ -25,8 +25,8 @@ import static bisq.apitest.method.wallet.WalletTestUtil.bsqBalanceModel; import static bisq.apitest.method.wallet.WalletTestUtil.verifyBsqBalances; import static bisq.cli.TableFormat.formatBsqBalanceInfoTbl; +import static org.bitcoinj.core.NetworkParameters.ID_REGTEST; import static org.bitcoinj.core.NetworkParameters.PAYMENT_PROTOCOL_ID_REGTEST; -import static org.bitcoinj.core.NetworkParameters.PAYMENT_PROTOCOL_ID_TESTNET; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.MethodOrderer.OrderAnnotation; @@ -61,11 +61,10 @@ public void testGetUnusedBsqAddress() { String addressString = aliceClient.getUnusedBsqAddress(); assertFalse(addressString.isEmpty()); assertTrue(addressString.startsWith("B")); - Address address = Address.fromString(NetworkParameters.fromID(PAYMENT_PROTOCOL_ID_REGTEST), addressString.substring(1)); + Address address = Address.fromString(NetworkParameters.fromID(ID_REGTEST), addressString.substring(1)); NetworkParameters networkParameters = address.getParameters(); String addressNetwork = networkParameters.getPaymentProtocolId(); - log.warn("TODO Fix bug causing the regtest bsq address network being set to 'testnet'."); - assertTrue(addressNetwork.equals(PAYMENT_PROTOCOL_ID_TESTNET)); + assertTrue(addressNetwork.equals(PAYMENT_PROTOCOL_ID_REGTEST)); } @Test