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:
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 ()
};