gnunet-svn
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]