diff options
author | Christian Grothoff <christian@grothoff.org> | 2022-04-23 19:32:07 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2022-04-23 19:32:07 +0200 |
commit | e270bc32cc94f251a9a953816e8c040a3a7bf3e1 (patch) | |
tree | f3ccc2bde5ab56f1cbfb8dadb3ca8bea8cdfd95f | |
parent | b054c969cbd84f7ed0f61da3db6a8168b944318f (diff) | |
download | exchange-e270bc32cc94f251a9a953816e8c040a3a7bf3e1.tar.xz |
-expand p2p test to cover purse-with-deposit-merge sequence
-rw-r--r-- | src/include/taler_testing_lib.h | 2 | ||||
-rw-r--r-- | src/testing/test_exchange_p2p.c | 27 | ||||
-rw-r--r-- | src/testing/testing_api_cmd_purse_create_deposit.c | 13 |
3 files changed, 28 insertions, 14 deletions
diff --git a/src/include/taler_testing_lib.h b/src/include/taler_testing_lib.h index 30d0f0987..3d7ba3728 100644 --- a/src/include/taler_testing_lib.h +++ b/src/include/taler_testing_lib.h @@ -2366,7 +2366,6 @@ TALER_TESTING_cmd_oauth (const char *label, * * @param label command label * @param expected_http_status what HTTP status do we expect to get returned from the exchange - * @param target_amount amount for the purse to be full, without fees * @param contract_terms contract, JSON string * @param upload_contract should we upload the contract * @param purse_expiration how long until the purse expires @@ -2377,7 +2376,6 @@ struct TALER_TESTING_Command TALER_TESTING_cmd_purse_create_with_deposit ( const char *label, unsigned int expected_http_status, - const char *target_amount, const char *contract_terms, bool upload_contract, struct GNUNET_TIME_Relative purse_expiration, diff --git a/src/testing/test_exchange_p2p.c b/src/testing/test_exchange_p2p.c index f1a7f6553..930ff2beb 100644 --- a/src/testing/test_exchange_p2p.c +++ b/src/testing/test_exchange_p2p.c @@ -151,14 +151,25 @@ run (void *cls, /** * Spend the coin. */ - TALER_TESTING_cmd_deposit ("deposit-simple", - "withdraw-coin-1", - 0, - bc.user42_payto, - "{\"items\":[{\"name\":\"ice cream\",\"value\":1}]}", - GNUNET_TIME_UNIT_ZERO, - "EUR:5", - MHD_HTTP_OK), + TALER_TESTING_cmd_purse_create_with_deposit ( + "purse-with-deposit", + MHD_HTTP_OK, + "{\"amount\":\"EUR:1\",\"summary\":\"ice cream\"}", + true, /* upload contract */ + GNUNET_TIME_UNIT_MINUTES, /* expiration */ + "withdraw-coin-1", + "EUR:1", /* FIXME: check amount vs. fees! */ + NULL), + TALER_TESTING_cmd_contract_get ( + "purse-get-contract", + MHD_HTTP_OK, + "purse-with-deposit"), + TALER_TESTING_cmd_purse_merge ( + "purse-merge-into-reserve", + MHD_HTTP_OK, + "purse-get-contract", + "create-reserve-1"), + // FIXME: check reserve history! TALER_TESTING_cmd_end () }; diff --git a/src/testing/testing_api_cmd_purse_create_deposit.c b/src/testing/testing_api_cmd_purse_create_deposit.c index af7ed3f5d..13b2dffa6 100644 --- a/src/testing/testing_api_cmd_purse_create_deposit.c +++ b/src/testing/testing_api_cmd_purse_create_deposit.c @@ -355,13 +355,13 @@ struct TALER_TESTING_Command TALER_TESTING_cmd_purse_create_with_deposit ( const char *label, unsigned int expected_http_status, - const char *target_amount, const char *contract_terms, bool upload_contract, struct GNUNET_TIME_Relative purse_expiration, ...) { struct PurseCreateDepositState *ds; + struct GNUNET_TIME_Timestamp pay_deadline; ds = GNUNET_new (struct PurseCreateDepositState); ds->rel_expiration = purse_expiration; @@ -378,6 +378,14 @@ TALER_TESTING_cmd_purse_create_with_deposit ( label); GNUNET_assert (0); } + pay_deadline = + GNUNET_TIME_absolute_to_timestamp ( + GNUNET_TIME_relative_to_absolute (purse_expiration)); + GNUNET_assert (0 == + json_object_set_new ( + ds->contract_terms, + "pay_deadline", + GNUNET_JSON_from_timestamp (pay_deadline))); { va_list ap; unsigned int i; @@ -410,9 +418,6 @@ TALER_TESTING_cmd_purse_create_with_deposit ( } va_end (ap); } - GNUNET_assert (GNUNET_OK == - TALER_string_to_amount (target_amount, - &ds->target_amount)); { struct TALER_TESTING_Command cmd = { .cls = ds, |