From 50807db7aab76b1c6f5b593586fa88b6b61dec19 Mon Sep 17 00:00:00 2001 From: Christian Decker <decker.christian@gmail.com> Date: Sun, 23 Oct 2016 10:57:29 +0200 Subject: [PATCH] jsonrpc: Fixed `listinvoice` returning broken JSON Closes #48. --- daemon/invoice.c | 2 -- daemon/test/test.sh | 14 +++++++------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/daemon/invoice.c b/daemon/invoice.c index 1dc243707..223ed6fc7 100644 --- a/daemon/invoice.c +++ b/daemon/invoice.c @@ -213,12 +213,10 @@ static void json_listinvoice(struct command *cmd, } - json_object_start(response, NULL); json_array_start(response, NULL); json_add_invoices(response, &cmd->dstate->paid, buffer, label); json_add_invoices(response, &cmd->dstate->unpaid, buffer, label); json_array_end(response); - json_object_end(response); command_success(cmd, response); } diff --git a/daemon/test/test.sh b/daemon/test/test.sh index 66fdd323e..81b950a31 100755 --- a/daemon/test/test.sh +++ b/daemon/test/test.sh @@ -982,7 +982,7 @@ lcli2 dev-routefail true RHASH3=`lcli2 invoice $HTLC_AMOUNT RHASH3 | sed 's/.*"\([0-9a-f]*\)".*/\1/'` lcli2 listinvoice -[ "`lcli2 listinvoice | tr -s '\012\011\" ' ' '`" = "{ [ { label : RHASH3 , rhash : $RHASH3 , msatoshi : $HTLC_AMOUNT, complete : false } ] } " ] +[ "`lcli2 listinvoice | tr -s '\012\011\" ' ' '`" = "[ { label : RHASH3 , rhash : $RHASH3 , msatoshi : $HTLC_AMOUNT, complete : false } ] " ] HTLCID3=`lcli1 dev-newhtlc $ID2 $HTLC_AMOUNT $EXPIRY $RHASH3 | extract_id` [ ! -n "$MANUALCOMMIT" ] || lcli1 dev-commit $ID2 @@ -996,7 +996,7 @@ A_AMOUNT=$(($A_AMOUNT - $HTLC_AMOUNT)) B_AMOUNT=$(($B_AMOUNT + $HTLC_AMOUNT)) check_status $A_AMOUNT $A_FEE "" $B_AMOUNT $B_FEE "" -[ "`lcli2 listinvoice | tr -s '\012\011\" ' ' '`" = "{ [ { label : RHASH3 , rhash : $RHASH3 , msatoshi : $HTLC_AMOUNT, complete : true } ] } " ] +[ "`lcli2 listinvoice | tr -s '\012\011\" ' ' '`" = "[ { label : RHASH3 , rhash : $RHASH3 , msatoshi : $HTLC_AMOUNT, complete : true } ] " ] # Now, failed payment (didn't pay enough) RHASH4=`lcli2 invoice $HTLC_AMOUNT RHASH4 | sed 's/.*"\([0-9a-f]*\)".*/\1/'` @@ -1006,9 +1006,9 @@ if lcli2 getlog | $FGREP 'Short payment for'; then exit 1; fi # Test listinvoice with both, or subset (either order possible!) INVOICES=`lcli2 listinvoice | tr -s '\012\011\" ' ' '` -[ "$INVOICES" = "{ [ { label : RHASH3 , rhash : $RHASH3 , msatoshi : $HTLC_AMOUNT, complete : true }, { label : RHASH4 , rhash : $RHASH4 , msatoshi : $HTLC_AMOUNT, complete : false } ] } " ] || [ "$INVOICES" = "{ [ { label : RHASH4 , rhash : $RHASH4 , msatoshi : $HTLC_AMOUNT, complete : false }, { label : RHASH3 , rhash : $RHASH3 , msatoshi : $HTLC_AMOUNT, complete : true } ] } " ] -[ "`lcli2 listinvoice RHASH3 | tr -s '\012\011\" ' ' '`" = "{ [ { label : RHASH3 , rhash : $RHASH3 , msatoshi : $HTLC_AMOUNT, complete : true } ] } " ] -[ "`lcli2 listinvoice RHASH4 | tr -s '\012\011\" ' ' '`" = "{ [ { label : RHASH4 , rhash : $RHASH4 , msatoshi : $HTLC_AMOUNT, complete : false } ] } " ] +[ "$INVOICES" = "[ { label : RHASH3 , rhash : $RHASH3 , msatoshi : $HTLC_AMOUNT, complete : true }, { label : RHASH4 , rhash : $RHASH4 , msatoshi : $HTLC_AMOUNT, complete : false } ] " ] || [ "$INVOICES" = "[ { label : RHASH4 , rhash : $RHASH4 , msatoshi : $HTLC_AMOUNT, complete : false }, { label : RHASH3 , rhash : $RHASH3 , msatoshi : $HTLC_AMOUNT, complete : true } ] " ] +[ "`lcli2 listinvoice RHASH3 | tr -s '\012\011\" ' ' '`" = "[ { label : RHASH3 , rhash : $RHASH3 , msatoshi : $HTLC_AMOUNT, complete : true } ] " ] +[ "`lcli2 listinvoice RHASH4 | tr -s '\012\011\" ' ' '`" = "[ { label : RHASH4 , rhash : $RHASH4 , msatoshi : $HTLC_AMOUNT, complete : false } ] " ] HTLCID4=`lcli1 dev-newhtlc $ID2 $(($HTLC_AMOUNT - 1)) $EXPIRY $RHASH4 | extract_id` [ ! -n "$MANUALCOMMIT" ] || lcli1 dev-commit $ID2 @@ -1076,7 +1076,7 @@ if [ ! -n "$MANUALCOMMIT" ]; then fi fi - [ "`lcli3 listinvoice RHASH5 | tr -s '\012\011\" ' ' '`" = "{ [ { label : RHASH5 , rhash : $RHASH5 , msatoshi : $HTLC_AMOUNT, complete : false } ] } " ] + [ "`lcli3 listinvoice RHASH5 | tr -s '\012\011\" ' ' '`" = "[ { label : RHASH5 , rhash : $RHASH5 , msatoshi : $HTLC_AMOUNT, complete : false } ] " ] # Pay correctly. lcli1 sendpay "$ROUTE" $RHASH5 @@ -1095,7 +1095,7 @@ if [ ! -n "$MANUALCOMMIT" ]; then fi fi - [ "`lcli3 listinvoice RHASH5 | tr -s '\012\011\" ' ' '`" = "{ [ { label : RHASH5 , rhash : $RHASH5 , msatoshi : $HTLC_AMOUNT, complete : true } ] } " ] + [ "`lcli3 listinvoice RHASH5 | tr -s '\012\011\" ' ' '`" = "[ { label : RHASH5 , rhash : $RHASH5 , msatoshi : $HTLC_AMOUNT, complete : true } ] " ] [ "`lcli3 waitinvoice | tr -s '\012\011\" ' ' '`" = "{ label : RHASH5 , rhash : $RHASH5 , msatoshi : $HTLC_AMOUNT } " ]