[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [taler-exchange] 02/02: expand /payback tests
From: |
gnunet |
Subject: |
[GNUnet-SVN] [taler-exchange] 02/02: expand /payback tests |
Date: |
Mon, 10 Apr 2017 16:47:50 +0200 |
This is an automated email from the git hooks/post-receive script.
grothoff pushed a commit to branch master
in repository exchange.
commit 17a74ee70708f99ee651dff8e56d272e1cd60564
Author: Christian Grothoff <address@hidden>
AuthorDate: Mon Apr 10 16:51:09 2017 +0200
expand /payback tests
---
src/exchange-lib/test_exchange_api.c | 40 ++++++++++++++++++++++++-----
src/exchange/taler-exchange-httpd_deposit.c | 1 +
2 files changed, 34 insertions(+), 7 deletions(-)
diff --git a/src/exchange-lib/test_exchange_api.c
b/src/exchange-lib/test_exchange_api.c
index a331d9d..c32a21b 100644
--- a/src/exchange-lib/test_exchange_api.c
+++ b/src/exchange-lib/test_exchange_api.c
@@ -3401,8 +3401,9 @@ run (void *cls)
.details.payback.amount = "EUR:5" },
- /* Fill reserve with EUR:1.01, as withdraw fee is 1 ct per config,
- then withdraw a coin, partially spend it, and then have the rest paid
back.
+ /* Fill reserve with EUR:2.02, as withdraw fee is 1 ct per config,
+ then withdraw two coin, partially spend one, and then have the rest
paid back.
+ Check deposit of other coin fails.
(Do not use EUR:5 here as the EUR:5 coin was revoked and we did not
bother to create a new one...) */
{ .oc = OC_ADMIN_ADD_INCOMING,
@@ -3410,10 +3411,16 @@ run (void *cls)
.expected_response_code = MHD_HTTP_OK,
.details.admin_add_incoming.sender_details = "{ \"type\":\"test\",
\"bank_uri\":\"http://localhost:8082/\", \"account_number\":42}",
.details.admin_add_incoming.transfer_details = "{ \"uuid\":5 }",
- .details.admin_add_incoming.amount = "EUR:1.01" },
+ .details.admin_add_incoming.amount = "EUR:2.02" },
/* Withdraw a 1 EUR coin, at fee of 1 ct */
{ .oc = OC_WITHDRAW_SIGN,
- .label = "payback-withdraw-coin-2",
+ .label = "payback-withdraw-coin-2a",
+ .expected_response_code = MHD_HTTP_OK,
+ .details.reserve_withdraw.reserve_reference = "payback-create-reserve-2",
+ .details.reserve_withdraw.amount = "EUR:1" },
+ /* Withdraw a 1 EUR coin, at fee of 1 ct */
+ { .oc = OC_WITHDRAW_SIGN,
+ .label = "payback-withdraw-coin-2b",
.expected_response_code = MHD_HTTP_OK,
.details.reserve_withdraw.reserve_reference = "payback-create-reserve-2",
.details.reserve_withdraw.amount = "EUR:1" },
@@ -3422,18 +3429,37 @@ run (void *cls)
.label = "payback-deposit-partial",
.expected_response_code = MHD_HTTP_OK,
.details.deposit.amount = "EUR:0.5",
- .details.deposit.coin_ref = "payback-withdraw-coin-2",
+ .details.deposit.coin_ref = "payback-withdraw-coin-2a",
.details.deposit.wire_details = "{ \"type\":\"test\",
\"bank_uri\":\"http://localhost:8082/\", \"account_number\":42 }",
.details.deposit.proposal_data = "{ \"items\": [ { \"name\":\"more ice
cream\", \"value\":1 } ] }" },
{ .oc = OC_REVOKE,
.label = "revoke-2",
.expected_response_code = MHD_HTTP_OK,
- .details.revoke.ref = "payback-withdraw-coin-2" },
+ .details.revoke.ref = "payback-withdraw-coin-2a" },
{ .oc = OC_PAYBACK,
.label = "payback-2",
.expected_response_code = MHD_HTTP_OK,
- .details.payback.ref = "payback-withdraw-coin-2",
+ .details.payback.ref = "payback-withdraw-coin-2a",
.details.payback.amount = "EUR:0.5" },
+ { .oc = OC_DEPOSIT,
+ .label = "payback-deposit-revoked",
+ .expected_response_code = MHD_HTTP_NOT_FOUND,
+ .details.deposit.amount = "EUR:1",
+ .details.deposit.coin_ref = "payback-withdraw-coin-2b",
+ .details.deposit.wire_details = "{ \"type\":\"test\",
\"bank_uri\":\"http://localhost:8082/\", \"account_number\":42 }",
+ .details.deposit.proposal_data = "{ \"items\": [ { \"name\":\"more ice
cream\", \"value\":1 } ] }" },
+
+ /* Test deposit fails after payback, with proof in payback */
+ /* FIXME: #3887: right now, the exchange will never return the
+ coin's transaction history with payback data, as we get a 404 on the
DK! */
+ { .oc = OC_DEPOSIT,
+ .label = "payback-deposit-partial-after-payback",
+ .expected_response_code = MHD_HTTP_NOT_FOUND,
+ .details.deposit.amount = "EUR:0.5",
+ .details.deposit.coin_ref = "payback-withdraw-coin-2a",
+ .details.deposit.wire_details = "{ \"type\":\"test\",
\"bank_uri\":\"http://localhost:8082/\", \"account_number\":42 }",
+ .details.deposit.proposal_data = "{ \"items\": [ { \"name\":\"extra ice
cream\", \"value\":1 } ] }" },
+
/* Test that revoked coins cannot be withdrawn */
{ .oc = OC_ADMIN_ADD_INCOMING,
diff --git a/src/exchange/taler-exchange-httpd_deposit.c
b/src/exchange/taler-exchange-httpd_deposit.c
index 3ff2475..8002d51 100644
--- a/src/exchange/taler-exchange-httpd_deposit.c
+++ b/src/exchange/taler-exchange-httpd_deposit.c
@@ -196,6 +196,7 @@ TEH_DEPOSIT_handler_deposit (struct TEH_RequestHandler *rh,
TEH_KS_DKU_DEPOSIT);
if (NULL == dki)
{
+ /* FIXME: #3887: if DK was revoked, we might want to give a 403 and not a
404! */
TEH_KS_release (key_state);
TALER_LOG_WARNING ("Unknown denomination key in /deposit request\n");
return TEH_RESPONSE_reply_arg_unknown (connection,
--
To stop receiving notification emails like this one, please contact
address@hidden