exchange

Base system with REST service to issue digital coins, run by the payment service provider
Log | Files | Refs | Submodules | README | LICENSE

commit 5658c4c52b01a39d9302d3407cd53e96f545237c
parent e1ad498bff48c3975b386680493d6f1445582cfa
Author: Jonathan Buchanan <jonathan.russ.buchanan@gmail.com>
Date:   Wed, 15 Jul 2020 20:41:45 -0400

test retry transfer with same request_id

Diffstat:
Msrc/include/taler_testing_lib.h | 11+++++++++++
Msrc/testing/test_bank_api_twisted.c | 31+++++++++++++++++++++----------
2 files changed, 32 insertions(+), 10 deletions(-)

diff --git a/src/include/taler_testing_lib.h b/src/include/taler_testing_lib.h @@ -973,6 +973,17 @@ TALER_TESTING_cmd_transfer (const char *label, /** + * Modify a transfer command to enable retries when the reserve is not yet + * full or we get other transient errors from the bank. + * + * @param cmd a fakebank transfer command + * @return the command with retries enabled + */ +struct TALER_TESTING_Command +TALER_TESTING_cmd_transfer_retry (struct TALER_TESTING_Command cmd); + + +/** * Make the "exec-auditor" CMD. * * @param label command label. diff --git a/src/testing/test_bank_api_twisted.c b/src/testing/test_bank_api_twisted.c @@ -82,18 +82,29 @@ static void run (void *cls, struct TALER_TESTING_Interpreter *is) { + struct TALER_WireTransferIdentifierRawP wtid; + + memset (&wtid, 0x5aff, sizeof (wtid)); + + /* Route our commands through twister. */ + struct TALER_BANK_AuthenticationData exchange_auth_twisted; + memcpy (&exchange_auth_twisted, + &bc.exchange_auth, + sizeof (struct TALER_BANK_AuthenticationData)); + exchange_auth_twisted.wire_gateway_url = "http://localhost:8888/2/"; struct TALER_TESTING_Command commands[] = { - /** - * Can't use the "wait service" CMD here because the - * fakebank runs inside the same process of the test. - */ - TALER_TESTING_cmd_wait_service ("wait-service", - twister_url), - TALER_TESTING_cmd_bank_credits ("history-0", - &bc.exchange_auth, - NULL, - 5), + /* Test retrying transfer after failure. */ + TALER_TESTING_cmd_malform_response ("malform-transfer", + CONFIG_FILE_FAKEBANK), + TALER_TESTING_cmd_transfer_retry ( + TALER_TESTING_cmd_transfer ("debit-1", + "KUDOS:3.22", + &exchange_auth_twisted, + bc.exchange_payto, + bc.user42_payto, + &wtid, + "http://exchange.example.com/")), TALER_TESTING_cmd_end () };