[bisq-network/bisq] Replace CLI output formatters and check old vs new diffs (#5715)

Stan notifications at github.com
Tue Sep 21 20:58:32 CEST 2021


The CLI console output formatting code is replaced with a simpler, easier to maintain output formatting api.
		
I verified there are no diffs in the old vs new console output, excepting removal of some extra white space.  Test cases are included, to verify the new console output == the old console output.  These test cases will be removed in the next PR, where deprecated code will be completely removed.

Changes were committed in the following stages.

- Deprecated CLI output formatting classes being replaced.

- Defined CLI table column interface and implementations.

- Added license banners and class level javadoc.

- Added proto consuming CLI Table builders.

- Added CLI test dependency 'cowwoc:diff-match-patch'.
  This is never released, and helps flag diffs in changes to CLI output during development.
  
- Added old vs new CLI output diff checks
  Include non unit (jupiter) test cases to prove the new CLI output  api prints the same text as the deprecated CLI output formatters.   These test cases will be modified in the next PR, which will delete  the deprecated CLI output formatters.

This is the 5th in a series of PRs starting with https://github.com/bisq-network/bisq/pull/5685.
https://github.com/bisq-network/bisq/pull/5691 should be reviewed & merged before this one.
You can view, comment on, or merge this pull request online at:

  https://github.com/bisq-network/bisq/pull/5715

-- Commit Summary --

  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/96731b52df1e893be066f502f8c472ea0f7ffeb3">Define toString method</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/aeedfd5eb04e3b83b9b2ee9f076ebc8918f05642">Adjust for XMR support</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/54258430ab2f7d3d4095652e068d356b71a5c285">Refactor for supporting creation of XMR accounts via API</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/5d318f86d1450d96ef136c428a537eaa3fd3b0b6">Refactor for supporting creation of XMR accounts via API</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/0f1781538b0c840be4ed0198edcd228dc3fb9e7b">Add create bsq & xmr payment acct test cases</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/dee8cc425ef9626d92924317fae1ebfbef756371">Don't run method test 2x from gradle</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/fbd1f331e808fc6933a0d7cb8544478af34c88a2">Merge branch 'master' into 2-create-xmr-payment-accts-via-api</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/13d221cc8dacb98840d511a9e89aa8e6d457eef5">Remove unused fields</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/2fe1903fc9d6e27b92b1337583a7cfb8c7cfb95d">Update createoffer help text with BSQ & XMR examples</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/f59247b46c1a6fd8e50923d9ca64a9fad30b762e">Adjust gRPC client & CLI opt parsers for XMR support</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/80c02c425d616f741c7b3344dad072a3891ac6f2">Update required JDK version and target source version</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/600d43f31ff126d5f74a0f1bb4639c81b3b09bcf">Test create and edit XMR offers via API</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/650788578f1bebc4ea7415fe9c9425d6ae76589c">Adjust for xmr support</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/91cd3d425b43230cbfd57f2a7011e305f7861f53">Minor refactor / remove a bit of duplication</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/7a46d23eae0b36aa87fe7a3c440f95dc96315ee5">Fill out / refactor CLI getoffers smoke test</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/233261d4fb38c3401edc41411de0d6291b423e09">Make codacy happy</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/e90797d2d590e79f7b8d43d9ca3f0be29460434e">Adjust for XMR (more generic) altcoin support in API</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/39c2f5db0efde4bfe337cd3cb374ee84921107f3">Add XMR/BTC trade pair tests & refactor trade tests</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/76feac607f8b3e2b1ac0cd831616206581e5a4c3">Adjust trade-simulation-utils.sh for altcoin trading</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/b6e9c80f3a0ba501eb1d668116119b2d86eea585">Add parsexmrscriptopts function</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/934dae2dc07304eb52f2a357e649ec86a5e55a0e">Update JDK requirement comment, fix typo</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/5967a8b441acc5b28f692f529de1baf11659a665">Add trade-xmr-simulation script</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/0583e45229ff51c1317d978bd1196529e9929054">Fix fee-currency spec error, adjust description</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/cf18676a7d6197e06c09b924d6db9907f43f225f">Make xmr address var local, not global</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/dfcaedac595abf15ee84becf8ca89e2faa854b75">Adjust for market-price-margin based xmr offers</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/feb5f7a27b14fbf89503bd5d76bfd687419c765c">Add createoffer tests (price-margin based xmr offers)</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/1be1132233ff2050c69f3a3702331fbe36ad4fc6">Merge branch '3-create-xmr-offers' into 4-trade-xmr-btc</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/cdf6d972a0673a07fb24c6e13e9b898d399ff6ea">Change xmr trade test case to use price margin based offer</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/707a367b39f804feea5fd2960b2cbd2680d64f52">Adjust xmr simulation script for price margin based offer</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/16442c8b3222520fb08d05c9c281396822eb3b99">Conditionally display altcoin offer trigger price</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/2f32692c77689bf4d61d15a0d3254c4174cc1ba9">Correctly scale CLI's 'editoffer' trigger-price param</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/beeaa85501f412d54af0ae77d94d09e4187b023e">Adjust core 'editoffer' validation for XMR offers</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/09edef53cc4a2bf93dadfd9ef915e6362e71b3a7">Add static "GBP" field for test cases</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/3a480e8a20501b941a6fc28c668688187b9ca26d">Adjust test cases to scaling 'editoffer' trigger-price</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/09cdaae9e82fd4ff236608240210043988bd5876">Allow API to look up altcoin market prices</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/79d40c8a456107df75cd841ac2ce2bf2baebb5eb">Test XMR offer.trigger-price definition, edit & display</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/42557425174377f9dba74f7eb8130a0efbf23058">Merge branch 'master' into 4-trade-xmr-btc</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/c233297eabce67a6de80ec2dd11b4817d40c4a58">Add TODO commment above placeholder for future swift test</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/e79cdfe05f88581b721b7a3506ac5c61685082c0">Return early when field name match fails</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/47a99490b306d00843e6db56c24f6d405897483f">Merge branch 'master' into 4-trade-xmr-btc</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/36467ddca974d1f76a6301af8bc0f760abe6f251">Remove duplicated line</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/2c631fe540a6c1c0443bce8ce84a771b6677888d">Merge API's trade.volume bugfix (PR 5704)</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/545e83c1d8038b4fa7e0729616969eacef100906">Merge branch 'master' into 4-trade-xmr-btc</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/48e723d86f3d6bd363bdf50d9987702272cb2453">Deprecate CLI output formatting classes being replaced</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/3e6f847168d1464dceb51c0550d373ab62669c19">Define CLI table column interface and implementations</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/30e9db8d67f2bbf19917219f324e607ed82a0c6c">Add license banners and class level javadoc</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/0df1aabf028e3afecab77958a8ac573ce3052d51">Add proto consuming CLI Table builders</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/573390a761c202d6ab98685aaea75c4941d787e9">Add CLI test dependency 'cowwoc:diff-match-patch'</a>
  * <a href="https://github.com/bisq-network/bisq/pull/5715/commits/5ce462501ffa1a3728c735fdafb3d5654aa72f95">Add old vs new CLI output diff checks</a>

-- File Changes --

    M apitest/docs/api-beta-test-guide.md (2)
    M apitest/scripts/trade-simulation-env.sh (45)
    M apitest/scripts/trade-simulation-utils.sh (10)
    M apitest/scripts/trade-simulation.sh (4)
    A apitest/scripts/trade-xmr-simulation.sh (124)
    M apitest/src/main/java/bisq/apitest/config/ApiTestConfig.java (5)
    M apitest/src/test/java/bisq/apitest/method/MethodTest.java (11)
    M apitest/src/test/java/bisq/apitest/method/offer/AbstractOfferTest.java (27)
    M apitest/src/test/java/bisq/apitest/method/offer/CreateBSQOffersTest.java (6)
    M apitest/src/test/java/bisq/apitest/method/offer/CreateOfferUsingFixedPriceTest.java (9)
    M apitest/src/test/java/bisq/apitest/method/offer/CreateOfferUsingMarketPriceMarginTest.java (2)
    A apitest/src/test/java/bisq/apitest/method/offer/CreateXMROffersTest.java (285)
    M apitest/src/test/java/bisq/apitest/method/offer/EditOfferTest.java (387)
    M apitest/src/test/java/bisq/apitest/method/payment/AbstractPaymentAccountTest.java (37)
    M apitest/src/test/java/bisq/apitest/method/payment/CreatePaymentAccountTest.java (92)
    M apitest/src/test/java/bisq/apitest/method/trade/AbstractTradeTest.java (163)
    M apitest/src/test/java/bisq/apitest/method/trade/TakeBuyBSQOfferTest.java (167)
    M apitest/src/test/java/bisq/apitest/method/trade/TakeBuyBTCOfferTest.java (155)
    M apitest/src/test/java/bisq/apitest/method/trade/TakeBuyBTCOfferWithNationalBankAcctTest.java (152)
    A apitest/src/test/java/bisq/apitest/method/trade/TakeBuyXMROfferTest.java (184)
    M apitest/src/test/java/bisq/apitest/method/trade/TakeSellBSQOfferTest.java (163)
    M apitest/src/test/java/bisq/apitest/method/trade/TakeSellBTCOfferTest.java (148)
    A apitest/src/test/java/bisq/apitest/method/trade/TakeSellXMROfferTest.java (188)
    M apitest/src/test/java/bisq/apitest/method/wallet/BsqWalletTest.java (40)
    M apitest/src/test/java/bisq/apitest/scenario/LongRunningOfferDeactivationTest.java (4)
    M apitest/src/test/java/bisq/apitest/scenario/OfferTest.java (21)
    M apitest/src/test/java/bisq/apitest/scenario/PaymentAccountTest.java (7)
    M apitest/src/test/java/bisq/apitest/scenario/TradeTest.java (48)
    M apitest/src/test/java/bisq/apitest/scenario/bot/protocol/MakerBotProtocol.java (2)
    M apitest/src/test/java/bisq/apitest/scenario/bot/protocol/TakerBotProtocol.java (2)
    M build.gradle (2)
    M cli/src/main/java/bisq/cli/CliMain.java (34)
    M cli/src/main/java/bisq/cli/ColumnHeaderConstants.java (3)
    M cli/src/main/java/bisq/cli/CryptoCurrencyUtil.java (5)
    M cli/src/main/java/bisq/cli/CurrencyFormat.java (8)
    M cli/src/main/java/bisq/cli/DirectionFormat.java (1)
    M cli/src/main/java/bisq/cli/GrpcClient.java (12)
    A cli/src/main/java/bisq/cli/OfferFormat.java (309)
    M cli/src/main/java/bisq/cli/TableFormat.java (233)
    M cli/src/main/java/bisq/cli/TradeFormat.java (36)
    M cli/src/main/java/bisq/cli/TransactionFormat.java (1)
    M cli/src/main/java/bisq/cli/opts/CreateCryptoCurrencyPaymentAcctOptionParser.java (15)
    M cli/src/main/java/bisq/cli/opts/CreateOfferOptionParser.java (4)
    M cli/src/main/java/bisq/cli/opts/GetOffersOptionParser.java (2)
    M cli/src/main/java/bisq/cli/request/OffersServiceRequest.java (35)
    A cli/src/main/java/bisq/cli/table/Table.java (151)
    A cli/src/main/java/bisq/cli/table/builder/AbstractTableBuilder.java (41)
    A cli/src/main/java/bisq/cli/table/builder/AddressBalanceTableBuilder.java (81)
    A cli/src/main/java/bisq/cli/table/builder/BsqBalanceTableBuilder.java (78)
    A cli/src/main/java/bisq/cli/table/builder/BtcBalanceTableBuilder.java (73)
    A cli/src/main/java/bisq/cli/table/builder/OfferTableBuilder.java (280)
    A cli/src/main/java/bisq/cli/table/builder/PaymentAccountTableBuilder.java (74)
    A cli/src/main/java/bisq/cli/table/builder/TableBuilder.java (64)
    A cli/src/main/java/bisq/cli/table/builder/TableBuilderConstants.java (70)
    A cli/src/main/java/bisq/cli/table/builder/TableType.java (32)
    A cli/src/main/java/bisq/cli/table/builder/TradeTableBuilder.java (250)
    A cli/src/main/java/bisq/cli/table/builder/TransactionTableBuilder.java (103)
    A cli/src/main/java/bisq/cli/table/column/AbstractColumn.java (77)
    A cli/src/main/java/bisq/cli/table/column/AltcoinColumn.java (102)
    A cli/src/main/java/bisq/cli/table/column/BooleanColumn.java (131)
    A cli/src/main/java/bisq/cli/table/column/Column.java (116)
    A cli/src/main/java/bisq/cli/table/column/FiatColumn.java (95)
    A cli/src/main/java/bisq/cli/table/column/Iso8601DateTimeColumn.java (64)
    A cli/src/main/java/bisq/cli/table/column/LongColumn.java (93)
    A cli/src/main/java/bisq/cli/table/column/NumberColumn.java (32)
    A cli/src/main/java/bisq/cli/table/column/SatoshiColumn.java (81)
    A cli/src/main/java/bisq/cli/table/column/StringColumn.java (88)
    A cli/src/main/java/bisq/cli/table/column/ZippedStringColumns.java (130)
    D cli/src/test/java/bisq/cli/GetOffersSmokeTest.java (39)
    M cli/src/test/java/bisq/cli/opts/OptionParsersTest.java (12)
    A cli/src/test/java/bisq/cli/table/AbstractSmokeTest.java (105)
    A cli/src/test/java/bisq/cli/table/AddressSmokeTest.java (60)
    A cli/src/test/java/bisq/cli/table/GetBalanceSmokeTest.java (41)
    A cli/src/test/java/bisq/cli/table/GetOffersSmokeTest.java (119)
    A cli/src/test/java/bisq/cli/table/GetTradeSmokeTest.java (48)
    A cli/src/test/java/bisq/cli/table/GetTransactionSmokeTest.java (37)
    A cli/src/test/java/bisq/cli/table/PaymentAccountsSmokeTest.java (36)
    M core/src/main/java/bisq/core/api/CorePaymentAccountsService.java (53)
    M core/src/main/java/bisq/core/api/CorePriceService.java (17)
    M core/src/main/java/bisq/core/api/CoreWalletsService.java (11)
    M core/src/main/java/bisq/core/api/EditOfferValidator.java (13)
    M core/src/main/java/bisq/core/api/model/TradeInfo.java (12)
    M core/src/main/java/bisq/core/payment/payload/AssetsAccountPayload.java (13)
    M core/src/main/resources/help/createcryptopaymentacct-help.txt (16)
    M core/src/main/resources/help/createoffer-help.txt (36)
    M core/src/main/resources/help/takeoffer-help.txt (4)
    M proto/src/main/proto/grpc.proto (1)

-- Patch Links --

https://github.com/bisq-network/bisq/pull/5715.patch
https://github.com/bisq-network/bisq/pull/5715.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/bisq-network/bisq/pull/5715
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bisq.network/pipermail/bisq-github/attachments/20210921/1c26b502/attachment-0001.htm>


More information about the bisq-github mailing list