aboutsummaryrefslogtreecommitdiff
path: root/src/testing
diff options
context:
space:
mode:
authorChristian Grothoff <grothoff@gnunet.org>2022-03-20 15:42:16 +0100
committerChristian Grothoff <grothoff@gnunet.org>2022-03-20 15:42:16 +0100
commit65808106c7d7ddad9420338f3fde139ec0c9295e (patch)
treeb00f9a3ee193d2100fb5901a9303189f21cda1ad /src/testing
parent532fabf20a3f9377f1f9526d38e068069a81a922 (diff)
downloadexchange-65808106c7d7ddad9420338f3fde139ec0c9295e.tar.xz
add test for reserve GET long polling
Diffstat (limited to 'src/testing')
-rw-r--r--src/testing/test_exchange_api.c14
-rw-r--r--src/testing/testing_api_cmd_reserve_get.c27
2 files changed, 29 insertions, 12 deletions
diff --git a/src/testing/test_exchange_api.c b/src/testing/test_exchange_api.c
index 5d3465dff..71f9ab7c1 100644
--- a/src/testing/test_exchange_api.c
+++ b/src/testing/test_exchange_api.c
@@ -134,6 +134,11 @@ run (void *cls,
*/
CMD_TRANSFER_TO_EXCHANGE ("create-reserve-1",
"EUR:6.02"),
+ TALER_TESTING_cmd_reserve_poll ("poll-reserve-1",
+ "create-reserve-1",
+ "EUR:6.02",
+ GNUNET_TIME_UNIT_MINUTES,
+ MHD_HTTP_OK),
TALER_TESTING_cmd_check_bank_admin_transfer ("check-create-reserve-1",
"EUR:6.02",
bc.user42_payto,
@@ -144,6 +149,9 @@ run (void *cls,
* transfer.
*/
CMD_EXEC_WIREWATCH ("wirewatch-1"),
+ TALER_TESTING_cmd_reserve_poll_finish ("finish-poll-reserve-1",
+ GNUNET_TIME_UNIT_SECONDS,
+ "poll-reserve-1"),
/**
* Withdraw EUR:5.
*/
@@ -290,7 +298,8 @@ run (void *cls,
MHD_HTTP_OK),
/* Try to partially spend (deposit) 1 EUR of the 5 EUR coin
* (in full) (merchant would receive EUR:0.99 due to 1 ct
- * deposit fee) *///
+ * deposit fee)
+ */
TALER_TESTING_cmd_deposit ("refresh-deposit-partial",
"refresh-withdraw-coin-1",
0,
@@ -587,7 +596,8 @@ run (void *cls,
MHD_HTTP_OK),
/* Try to partially spend (deposit) 1 EUR of the 5 EUR coin
* (in full) (merchant would receive EUR:0.99 due to 1 ct
- * deposit fee) *///
+ * deposit fee)
+ */
TALER_TESTING_cmd_deposit ("refresh-deposit-partial-age",
"refresh-withdraw-coin-age-1",
0,
diff --git a/src/testing/testing_api_cmd_reserve_get.c b/src/testing/testing_api_cmd_reserve_get.c
index 3e590f4bc..b4375ee20 100644
--- a/src/testing/testing_api_cmd_reserve_get.c
+++ b/src/testing/testing_api_cmd_reserve_get.c
@@ -34,6 +34,11 @@ struct PollState
{
/**
+ * How long do we give the exchange to respond?
+ */
+ struct GNUNET_TIME_Relative timeout;
+
+ /**
* Label to the command which created the reserve to check,
* needed to resort the reserve key.
*/
@@ -331,7 +336,7 @@ finish_run (void *cls,
}
GNUNET_assert (NULL == ss->ps);
ss->ps = ps;
- ps->tt = GNUNET_SCHEDULER_add_delayed (ss->timeout,
+ ps->tt = GNUNET_SCHEDULER_add_delayed (ps->timeout,
&finish_timeout,
ps);
}
@@ -347,29 +352,31 @@ static void
finish_cleanup (void *cls,
const struct TALER_TESTING_Command *cmd)
{
- struct PollState *ss = cls;
+ struct PollState *ps = cls;
- if (NULL != ss->tt)
+ if (NULL != ps->tt)
{
- GNUNET_SCHEDULER_cancel (ss->tt);
- ss->tt = NULL;
+ GNUNET_SCHEDULER_cancel (ps->tt);
+ ps->tt = NULL;
}
- GNUNET_free (ss);
+ GNUNET_free (ps);
}
struct TALER_TESTING_Command
TALER_TESTING_cmd_reserve_poll_finish (const char *label,
+ struct GNUNET_TIME_Relative timeout,
const char *poll_reference)
{
- struct PollState *ss;
+ struct PollState *ps;
GNUNET_assert (NULL != poll_reference);
- ss = GNUNET_new (struct PollState);
- ss->poll_reference = poll_reference;
+ ps = GNUNET_new (struct PollState);
+ ps->timeout = timeout;
+ ps->poll_reference = poll_reference;
{
struct TALER_TESTING_Command cmd = {
- .cls = ss,
+ .cls = ps,
.label = label,
.run = &finish_run,
.cleanup = &finish_cleanup