diff options
author | Christian Grothoff <christian@grothoff.org> | 2023-04-11 19:44:51 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2023-04-11 19:44:51 +0200 |
commit | 5ed3b2cfe1aa0cb31c589b308cc70684a20dd368 (patch) | |
tree | 858e253a3393febe8207e5870e59e04946fa6958 /src/testing | |
parent | feaf7bae8baf8ec701d02374e18a6b978dcfb9f8 (diff) | |
download | merchant-5ed3b2cfe1aa0cb31c589b308cc70684a20dd368.tar.gz merchant-5ed3b2cfe1aa0cb31c589b308cc70684a20dd368.tar.bz2 merchant-5ed3b2cfe1aa0cb31c589b308cc70684a20dd368.zip |
store user-type with merchant settings
Diffstat (limited to 'src/testing')
-rwxr-xr-x | src/testing/test_key_rotation.sh | 2 | ||||
-rw-r--r-- | src/testing/test_merchant_api.c | 19 | ||||
-rwxr-xr-x | src/testing/test_merchant_instance_auth.sh | 2 | ||||
-rwxr-xr-x | src/testing/test_merchant_instance_creation.sh | 2 | ||||
-rwxr-xr-x | src/testing/test_merchant_instance_purge.sh | 2 | ||||
-rwxr-xr-x | src/testing/test_merchant_instance_response.sh | 2 | ||||
-rwxr-xr-x | src/testing/test_merchant_kyc.sh | 2 | ||||
-rwxr-xr-x | src/testing/test_merchant_order_autocleanup.sh | 4 | ||||
-rwxr-xr-x | src/testing/test_merchant_order_creation.sh | 4 | ||||
-rwxr-xr-x | src/testing/test_merchant_product_creation.sh | 2 | ||||
-rwxr-xr-x | src/testing/test_merchant_reserve_creation.sh | 2 | ||||
-rwxr-xr-x | src/testing/test_merchant_transfer_tracking.sh | 4 | ||||
-rw-r--r-- | src/testing/testing_api_cmd_get_instance.c | 354 | ||||
-rw-r--r-- | src/testing/testing_api_cmd_get_instances.c | 116 | ||||
-rw-r--r-- | src/testing/testing_api_cmd_get_products.c | 76 | ||||
-rw-r--r-- | src/testing/testing_api_cmd_patch_instance.c | 1 | ||||
-rw-r--r-- | src/testing/testing_api_cmd_post_instances.c | 3 |
17 files changed, 305 insertions, 292 deletions
diff --git a/src/testing/test_key_rotation.sh b/src/testing/test_key_rotation.sh index b3609b1d..7c116511 100755 --- a/src/testing/test_key_rotation.sh +++ b/src/testing/test_key_rotation.sh @@ -190,7 +190,7 @@ echo "OK" echo -n "Setting up merchant instance" STATUS=$(curl -H "Content-Type: application/json" -X POST \ http://localhost:9966/management/instances \ - -d '{"auth":{"method":"external"},"payto_uris":["payto://x-taler-bank/localhost/43"],"id":"default","name":"default","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 3600000000},"default_pay_delay":{"d_us": 3600000000}}' \ + -d '{"auth":{"method":"external"},"payto_uris":["payto://x-taler-bank/localhost/43"],"id":"default","name":"default","user_type":"business","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 3600000000},"default_pay_delay":{"d_us": 3600000000}}' \ -w "%{http_code}" -s -o /dev/null) if [ "$STATUS" != "204" ] diff --git a/src/testing/test_merchant_api.c b/src/testing/test_merchant_api.c index b25e7519..d4fe16cd 100644 --- a/src/testing/test_merchant_api.c +++ b/src/testing/test_merchant_api.c @@ -241,7 +241,8 @@ run (void *cls, NULL, NULL, EXCHANGE_URL, - MHD_HTTP_NO_CONTENT), + MHD_HTTP_NO_CONTENT, + TALER_AML_NORMAL), TALER_TESTING_cmd_merchant_post_orders_no_claim ("create-proposal-4", merchant_url, MHD_HTTP_OK, @@ -318,7 +319,7 @@ run (void *cls, TALER_TESTING_cmd_merchant_post_orders2 ("create-proposal-1", merchant_url, MHD_HTTP_OK, - "1", + "1", GNUNET_TIME_UNIT_ZERO_TS, GNUNET_TIME_UNIT_FOREVER_TS, true, @@ -337,7 +338,7 @@ run (void *cls, TALER_TESTING_cmd_merchant_post_orders2 ("create-proposal-1-idem", merchant_url, MHD_HTTP_OK, - "1", + "1", GNUNET_TIME_UNIT_ZERO_TS, GNUNET_TIME_UNIT_FOREVER_TS, true, @@ -433,8 +434,8 @@ run (void *cls, MHD_HTTP_OK, NULL, "poll-order-wallet-start-1"), - /* Check for webhook */ - cmd_webhook ("pending-webhooks-pay-w1"), + /* Check for webhook */ + cmd_webhook ("pending-webhooks-pay-w1"), /* Check webhook did anything: have a command that inspects traits of the testserver and check if the traits have the right values set! */ TALER_TESTING_cmd_checkserver ("check-http-server-for-webhooks", @@ -498,7 +499,7 @@ run (void *cls, merchant_url, PAYTO_I1, "EUR:4.98", - NULL , + NULL, /*non-routable IP address so we are sure to not get any reply*/ @@ -630,7 +631,7 @@ run (void *cls, "order-p3", GNUNET_TIME_UNIT_ZERO_TS, GNUNET_TIME_UNIT_FOREVER_TS, - true, + true, "EUR:5.0", "unsupported-wire-method", "product-3/2", @@ -1545,7 +1546,7 @@ run (void *cls, "EUR:4.99", NULL), - + TALER_TESTING_cmd_end () }; @@ -1969,7 +1970,7 @@ run (void *cls, TALER_TESTING_cmd_batch ("pay-abort", pay_abort), TALER_TESTING_cmd_batch ("refund", - refund), + refund), TALER_TESTING_cmd_batch ("tip", tip), TALER_TESTING_cmd_batch ("templates", diff --git a/src/testing/test_merchant_instance_auth.sh b/src/testing/test_merchant_instance_auth.sh index f4534b9a..4c3bf0a0 100755 --- a/src/testing/test_merchant_instance_auth.sh +++ b/src/testing/test_merchant_instance_auth.sh @@ -30,7 +30,7 @@ echo -n "Configuring 'default' instance ..." STATUS=$(curl -H "Content-Type: application/json" -X POST \ http://localhost:9966/management/instances \ - -d '{"auth":{"method":"token","token":"secret-token:new_value"},"payto_uris":["payto://x-taler-bank/localhost/43"],"id":"default","name":"default","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 3600000000},"default_pay_delay":{"d_us": 3600000000}}' \ + -d '{"auth":{"method":"token","token":"secret-token:new_value"},"payto_uris":["payto://x-taler-bank/localhost/43"],"id":"default","name":"default","user_type":"business","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 3600000000},"default_pay_delay":{"d_us": 3600000000}}' \ -w "%{http_code}" -s -o /dev/null) if [ "$STATUS" != "204" ] diff --git a/src/testing/test_merchant_instance_creation.sh b/src/testing/test_merchant_instance_creation.sh index 9fee5773..27d35365 100755 --- a/src/testing/test_merchant_instance_creation.sh +++ b/src/testing/test_merchant_instance_creation.sh @@ -40,7 +40,7 @@ echo -n "Configuring default instance ..." STATUS=$(curl -H "Content-Type: application/json" -X POST \ -H 'Authorization: Bearer secret-token:super_secret' \ http://localhost:9966/management/instances \ - -d '{"auth":{"method":"external"},"payto_uris":["payto://x-taler-bank/localhost/43"],"id":"default","name":"default","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 3600000000},"default_pay_delay":{"d_us": 3600000000}}' \ + -d '{"auth":{"method":"external"},"payto_uris":["payto://x-taler-bank/localhost/43"],"id":"default","name":"default","user_type":"business","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 3600000000},"default_pay_delay":{"d_us": 3600000000}}' \ -w "%{http_code}" -s -o /dev/null) if [ "$STATUS" != "204" ] diff --git a/src/testing/test_merchant_instance_purge.sh b/src/testing/test_merchant_instance_purge.sh index 60467385..01653415 100755 --- a/src/testing/test_merchant_instance_purge.sh +++ b/src/testing/test_merchant_instance_purge.sh @@ -24,7 +24,7 @@ echo -n "Configuring default instance ..." STATUS=$(curl -H "Content-Type: application/json" -X POST \ -H 'Authorization: Bearer secret-token:super_secret' \ http://localhost:9966/management/instances \ - -d '{"auth":{"method":"external"},"payto_uris":["payto://x-taler-bank/localhost/43"],"id":"default","name":"default","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 3600000000},"default_pay_delay":{"d_us": 3600000000}}' \ + -d '{"auth":{"method":"external"},"payto_uris":["payto://x-taler-bank/localhost/43"],"id":"default","name":"default","user_type":"business","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 3600000000},"default_pay_delay":{"d_us": 3600000000}}' \ -w "%{http_code}" -s -o /dev/null) if [ "$STATUS" != "204" ] diff --git a/src/testing/test_merchant_instance_response.sh b/src/testing/test_merchant_instance_response.sh index 41ac983b..c05b000f 100755 --- a/src/testing/test_merchant_instance_response.sh +++ b/src/testing/test_merchant_instance_response.sh @@ -45,7 +45,7 @@ fi STATUS=$(curl -H "Content-Type: application/json" -X POST \ -H 'Authorization: Bearer secret-token:super_secret' \ http://localhost:9966/management/instances \ - -d '{"auth":{"method":"token","token":"secret-token:other_secret"},"payto_uris":["payto://x-taler-bank/localhost/43"],"id":"default","name":"default","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 3600000000},"default_pay_delay":{"d_us": 3600000000}}' \ + -d '{"auth":{"method":"token","token":"secret-token:other_secret"},"payto_uris":["payto://x-taler-bank/localhost/43"],"id":"default","name":"default","user_type":"business","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 3600000000},"default_pay_delay":{"d_us": 3600000000}}' \ -w "%{http_code}" -s -o /dev/null) if [ "$STATUS" != "204" ] diff --git a/src/testing/test_merchant_kyc.sh b/src/testing/test_merchant_kyc.sh index e95e7586..e7364af3 100755 --- a/src/testing/test_merchant_kyc.sh +++ b/src/testing/test_merchant_kyc.sh @@ -25,7 +25,7 @@ echo -n "Configuring a merchant instance before configuring the default instance STATUS=$(curl -H "Content-Type: application/json" -X POST \ -H 'Authorization: Bearer secret-token:super_secret' \ http://localhost:9966/management/instances \ - -d '{"auth":{"method":"external"},"payto_uris":["payto://x-taler-bank/localhost:8082/43","payto://x-taler-bank/localhost:8082/44"],"id":"default","name":"default","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 50000000},"default_pay_delay":{"d_us": 60000000}}' \ + -d '{"auth":{"method":"external"},"payto_uris":["payto://x-taler-bank/localhost:8082/43","payto://x-taler-bank/localhost:8082/44"],"id":"default","name":"default","user_type":"business","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 50000000},"default_pay_delay":{"d_us": 60000000}}' \ -w "%{http_code}" -s -o /dev/null) if [ "$STATUS" != "204" ] diff --git a/src/testing/test_merchant_order_autocleanup.sh b/src/testing/test_merchant_order_autocleanup.sh index 4a53edca..a3e61de8 100755 --- a/src/testing/test_merchant_order_autocleanup.sh +++ b/src/testing/test_merchant_order_autocleanup.sh @@ -28,7 +28,7 @@ echo -n "Configuring merchant instance ..." STATUS=$(curl -H "Content-Type: application/json" -X POST \ -H 'Authorization: Bearer secret-token:super_secret' \ http://localhost:9966/management/instances \ - -d '{"auth":{"method":"external"},"payto_uris":["payto://x-taler-bank/localhost:8082/43","payto://x-taler-bank/localhost:8082/44"],"id":"default","name":"default","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 50000000},"default_pay_delay":{"d_us": 60000000}}' \ + -d '{"auth":{"method":"external"},"payto_uris":["payto://x-taler-bank/localhost:8082/43","payto://x-taler-bank/localhost:8082/44"],"id":"default","name":"default","user_type":"business","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 50000000},"default_pay_delay":{"d_us": 60000000}}' \ -w "%{http_code}" -s -o /dev/null) if [ "$STATUS" != "204" ] @@ -41,7 +41,7 @@ fi STATUS=$(curl -H "Content-Type: application/json" -X PATCH \ -H 'Authorization: Bearer secret-token:super_secret' \ http://localhost:9966/instances/default/private/ \ - -d '{"auth":{"method":"external"},"payto_uris":["payto://x-taler-bank/localhost:8082/43"],"id":"default","name":"default","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 50000000},"default_pay_delay":{"d_us": 60000000}}' \ + -d '{"auth":{"method":"external"},"payto_uris":["payto://x-taler-bank/localhost:8082/43"],"id":"default","name":"default","user_type":"business","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 50000000},"default_pay_delay":{"d_us": 60000000}}' \ -w "%{http_code}" -s -o /dev/null) if [ "$STATUS" != "204" ] diff --git a/src/testing/test_merchant_order_creation.sh b/src/testing/test_merchant_order_creation.sh index 684803b8..0c2188e0 100755 --- a/src/testing/test_merchant_order_creation.sh +++ b/src/testing/test_merchant_order_creation.sh @@ -46,7 +46,7 @@ FORTYTHREE=`get_payto_uri fortythree x` STATUS=$(curl -H "Content-Type: application/json" -X POST \ -H 'Authorization: Bearer secret-token:super_secret' \ http://localhost:9966/management/instances \ - -d '{"auth":{"method":"external"},"payto_uris":["'$FORTYTHREE'","payto://iban/SANDBOXX/DE270744?receiver-name=Forty+Four"],"id":"default","name":"default","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 50000000000},"default_pay_delay":{"d_us": 60000000000}}' \ + -d '{"auth":{"method":"external"},"payto_uris":["'$FORTYTHREE'","payto://iban/SANDBOXX/DE270744?receiver-name=Forty+Four"],"id":"default","name":"default","user_type":"business","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 50000000000},"default_pay_delay":{"d_us": 60000000000}}' \ -w "%{http_code}" -s -o /dev/null) if [ "$STATUS" != "204" ] @@ -60,7 +60,7 @@ fi STATUS=$(curl -H "Content-Type: application/json" -X PATCH \ -H 'Authorization: Bearer secret-token:super_secret' \ http://localhost:9966/instances/default/private/ \ - -d '{"auth":{"method":"external"},"payto_uris":["'$FORTYTHREE'"],"id":"default","name":"default","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 50000000000},"default_pay_delay":{"d_us": 60000000000}}' \ + -d '{"auth":{"method":"external"},"payto_uris":["'$FORTYTHREE'"],"id":"default","name":"default","user_type":"business","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 50000000000},"default_pay_delay":{"d_us": 60000000000}}' \ -w "%{http_code}" -s -o /dev/null) if [ "$STATUS" != "204" ] diff --git a/src/testing/test_merchant_product_creation.sh b/src/testing/test_merchant_product_creation.sh index 702b0e53..51910d4a 100755 --- a/src/testing/test_merchant_product_creation.sh +++ b/src/testing/test_merchant_product_creation.sh @@ -24,7 +24,7 @@ echo -n "Configuring merchant instance ..." STATUS=$(curl -H "Content-Type: application/json" -X POST \ -H 'Authorization: Bearer secret-token:super_secret' \ http://localhost:9966/management/instances \ - -d '{"auth":{"method":"external"},"payto_uris":["'$FORTYTHREE'"],"id":"default","name":"default","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 50000000},"default_pay_delay":{"d_us": 60000000}}' \ + -d '{"auth":{"method":"external"},"payto_uris":["'$FORTYTHREE'"],"id":"default","name":"default","user_type":"business","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 50000000},"default_pay_delay":{"d_us": 60000000}}' \ -w "%{http_code}" -s -o /dev/null) if [ "$STATUS" != "204" ] diff --git a/src/testing/test_merchant_reserve_creation.sh b/src/testing/test_merchant_reserve_creation.sh index f97986b3..58b6611a 100755 --- a/src/testing/test_merchant_reserve_creation.sh +++ b/src/testing/test_merchant_reserve_creation.sh @@ -28,7 +28,7 @@ FORTYTHREE=`get_payto_uri fortythree x` STATUS=$(curl -H "Content-Type: application/json" -X POST \ -H 'Authorization: Bearer secret-token:super_secret' \ http://localhost:9966/management/instances \ - -d '{"auth":{"method":"external"},"payto_uris":["payto://x-taler-bank/localhost:1'$NEXUS_PORT'/43"],"id":"default","name":"default","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 50000000},"default_pay_delay":{"d_us": 60000000}}' \ + -d '{"auth":{"method":"external"},"payto_uris":["payto://x-taler-bank/localhost:1'$NEXUS_PORT'/43"],"id":"default","name":"default","user_type":"business","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 50000000},"default_pay_delay":{"d_us": 60000000}}' \ -w "%{http_code}" -s -o /dev/null) if [ "$STATUS" != "204" ] diff --git a/src/testing/test_merchant_transfer_tracking.sh b/src/testing/test_merchant_transfer_tracking.sh index 8fb7be64..646589b6 100755 --- a/src/testing/test_merchant_transfer_tracking.sh +++ b/src/testing/test_merchant_transfer_tracking.sh @@ -47,7 +47,7 @@ GNUNET_PAYTO=`get_payto_uri gnunet x` STATUS=$(curl -H "Content-Type: application/json" -X POST \ -H 'Authorization: Bearer secret-token:super_secret' \ http://localhost:9966/management/instances \ - -d '{"auth":{"method":"external"},"payto_uris":["'$TOR_PAYTO'","'$GNUNET_PAYTO'"],"id":"default","name":"default","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 50000000},"default_pay_delay":{"d_us": 60000000}}' \ + -d '{"auth":{"method":"external"},"payto_uris":["'$TOR_PAYTO'","'$GNUNET_PAYTO'"],"id":"default","name":"default","user_type":"business","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 50000000},"default_pay_delay":{"d_us": 60000000}}' \ -w "%{http_code}" -s -o /dev/null) if [ "$STATUS" != "204" ] @@ -67,7 +67,7 @@ TUTORIAL_PAYTO=`get_payto_uri tutorial x` STATUS=$(curl -H "Content-Type: application/json" -X POST \ -H 'Authorization: Bearer secret-token:super_secret' \ http://localhost:9966/management/instances \ - -d '{"auth":{"method":"external"},"payto_uris":["'$SURVEY_PAYTO'","'$TUTORIAL_PAYTO'"],"id":"test","name":"default","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 50000000},"default_pay_delay":{"d_us": 60000000}}' \ + -d '{"auth":{"method":"external"},"payto_uris":["'$SURVEY_PAYTO'","'$TUTORIAL_PAYTO'"],"id":"test","name":"default","user_type":"business","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us" : 50000000},"default_pay_delay":{"d_us": 60000000}}' \ -w "%{http_code}" -s -o /dev/null) if [ "$STATUS" != "204" ] diff --git a/src/testing/testing_api_cmd_get_instance.c b/src/testing/testing_api_cmd_get_instance.c index 95dc7282..0127a13d 100644 --- a/src/testing/testing_api_cmd_get_instance.c +++ b/src/testing/testing_api_cmd_get_instance.c @@ -96,17 +96,11 @@ struct GetInstanceState * Callback for a /get/instance/$ID operation. * * @param cls closure for this function - * @param hr HTTP response - * @param accounts_length how many bank accounts the instance has - * @param accounts the list of the instance's bank accounts - * @param details all the details related to this particular instance + * @param igr response */ static void get_instance_cb (void *cls, - const struct TALER_MERCHANT_HttpResponse *hr, - unsigned int accounts_length, - const struct TALER_MERCHANT_Account accounts[], - const struct TALER_MERCHANT_InstanceDetails *details) + const struct TALER_MERCHANT_InstanceGetResponse *igr) { struct GetInstanceState *gis = cls; const struct TALER_TESTING_Command *instance_cmd; @@ -116,210 +110,218 @@ get_instance_cb (void *cls, gis->instance_reference); gis->igh = NULL; - if (gis->http_status != hr->http_status) + if (gis->http_status != igr->hr.http_status) { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Unexpected response code %u (%d) to command %s\n", - hr->http_status, - (int) hr->ec, + igr->hr.http_status, + (int) igr->hr.ec, TALER_TESTING_interpreter_get_current_label (gis->is)); TALER_TESTING_interpreter_fail (gis->is); return; } - switch (hr->http_status) + switch (igr->hr.http_status) { case MHD_HTTP_OK: { - const char **name; - - if (GNUNET_OK != - TALER_TESTING_get_trait_instance_name (instance_cmd, - &name)) - TALER_TESTING_interpreter_fail (gis->is); - if (0 != strcmp (details->name, - *name)) + const struct TALER_MERCHANT_InstanceDetails *details = + &igr->details.success.details; { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Instance name does not match: Got `%s', wanted `%s'\n", - details->name, - *name); - TALER_TESTING_interpreter_fail (gis->is); - return; + const char **name; + + if (GNUNET_OK != + TALER_TESTING_get_trait_instance_name (instance_cmd, + &name)) + TALER_TESTING_interpreter_fail (gis->is); + if (0 != strcmp (details->name, + *name)) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Instance name does not match: Got `%s', wanted `%s'\n", + details->name, + *name); + TALER_TESTING_interpreter_fail (gis->is); + return; + } } - } - { - const json_t *address; - - if (GNUNET_OK != - TALER_TESTING_get_trait_address (instance_cmd, - &address)) - TALER_TESTING_interpreter_fail (gis->is); - if (1 != json_equal (details->address, - address)) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Instance address does not match\n"); - TALER_TESTING_interpreter_fail (gis->is); - return; + const json_t *address; + + if (GNUNET_OK != + TALER_TESTING_get_trait_address (instance_cmd, + &address)) + TALER_TESTING_interpreter_fail (gis->is); + if (1 != json_equal (details->address, + address)) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Instance address does not match\n"); + TALER_TESTING_interpreter_fail (gis->is); + return; + } } - } - { - const struct json_t *jurisdiction; - - if (GNUNET_OK != - TALER_TESTING_get_trait_jurisdiction (instance_cmd, - &jurisdiction)) - TALER_TESTING_interpreter_fail (gis->is); - if (1 != json_equal (details->jurisdiction, - jurisdiction)) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Instance jurisdiction does not match\n"); - TALER_TESTING_interpreter_fail (gis->is); - return; + const struct json_t *jurisdiction; + + if (GNUNET_OK != + TALER_TESTING_get_trait_jurisdiction (instance_cmd, + &jurisdiction)) + TALER_TESTING_interpreter_fail (gis->is); + if (1 != json_equal (details->jurisdiction, + jurisdiction)) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Instance jurisdiction does not match\n"); + TALER_TESTING_interpreter_fail (gis->is); + return; + } } - } - { - const struct TALER_Amount *default_max_wire_fee; - - if (GNUNET_OK != - TALER_TESTING_get_trait_max_wire_fee (instance_cmd, - &default_max_wire_fee)) - TALER_TESTING_interpreter_fail (gis->is); - if ((GNUNET_OK != TALER_amount_cmp_currency ( - details->default_max_wire_fee, - default_max_wire_fee)) || - (0 != TALER_amount_cmp (details->default_max_wire_fee, - default_max_wire_fee))) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Instance default max wire fee does not match\n"); - TALER_TESTING_interpreter_fail (gis->is); - return; + const struct TALER_Amount *default_max_wire_fee; + + if (GNUNET_OK != + TALER_TESTING_get_trait_max_wire_fee (instance_cmd, + &default_max_wire_fee)) + TALER_TESTING_interpreter_fail (gis->is); + if ((GNUNET_OK != + TALER_amount_cmp_currency ( + &details->default_max_wire_fee, + default_max_wire_fee)) || + (0 != TALER_amount_cmp (&details->default_max_wire_fee, + default_max_wire_fee))) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Instance default max wire fee does not match\n"); + TALER_TESTING_interpreter_fail (gis->is); + return; + } } - } - { - const uint32_t *default_wire_fee_amortization; - - if (GNUNET_OK != - TALER_TESTING_get_trait_wire_fee_amortization (instance_cmd, - & - default_wire_fee_amortization)) - TALER_TESTING_interpreter_fail (gis->is); - if (details->default_wire_fee_amortization != - *default_wire_fee_amortization) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Instance default wire fee amortization does not match\n"); - TALER_TESTING_interpreter_fail (gis->is); - return; + const uint32_t *default_wire_fee_amortization; + + if (GNUNET_OK != + TALER_TESTING_get_trait_wire_fee_amortization ( + instance_cmd, + &default_wire_fee_amortization)) + TALER_TESTING_interpreter_fail (gis->is); + if (details->default_wire_fee_amortization != + *default_wire_fee_amortization) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Instance default wire fee amortization does not match\n"); + TALER_TESTING_interpreter_fail (gis->is); + return; + } } - } - { - const struct TALER_Amount *default_max_deposit_fee; - - if (GNUNET_OK != - TALER_TESTING_get_trait_max_deposit_fee (instance_cmd, - &default_max_deposit_fee)) - TALER_TESTING_interpreter_fail (gis->is); - if ( (GNUNET_OK != - TALER_amount_cmp_currency ( - details->default_max_deposit_fee, - default_max_deposit_fee)) || - (0 != TALER_amount_cmp (details->default_max_deposit_fee, - default_max_deposit_fee)) ) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Instance default max deposit fee %s does not match\n", - TALER_amount2s (details->default_max_deposit_fee)); - TALER_TESTING_interpreter_fail (gis->is); - return; + const struct TALER_Amount *default_max_deposit_fee; + + if (GNUNET_OK != + TALER_TESTING_get_trait_max_deposit_fee (instance_cmd, + &default_max_deposit_fee)) + TALER_TESTING_interpreter_fail (gis->is); + if ( (GNUNET_OK != + TALER_amount_cmp_currency ( + &details->default_max_deposit_fee, + default_max_deposit_fee)) || + (0 != TALER_amount_cmp (&details->default_max_deposit_fee, + default_max_deposit_fee)) ) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Instance default max deposit fee %s does not match\n", + TALER_amount2s (&details->default_max_deposit_fee)); + TALER_TESTING_interpreter_fail (gis->is); + return; + } } - } - { - const struct GNUNET_TIME_Relative *default_wire_transfer_delay; - - if (GNUNET_OK != - TALER_TESTING_get_trait_wire_delay (instance_cmd, - &default_wire_transfer_delay)) - TALER_TESTING_interpreter_fail (gis->is); - if (details->default_wire_transfer_delay.rel_value_us != - default_wire_transfer_delay->rel_value_us) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Instance default wire transfer delay does not match\n"); - TALER_TESTING_interpreter_fail (gis->is); - return; + const struct GNUNET_TIME_Relative *default_wire_transfer_delay; + + if (GNUNET_OK != + TALER_TESTING_get_trait_wire_delay (instance_cmd, + &default_wire_transfer_delay)) + TALER_TESTING_interpreter_fail (gis->is); + if (details->default_wire_transfer_delay.rel_value_us != + default_wire_transfer_delay->rel_value_us) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Instance default wire transfer delay does not match\n"); + TALER_TESTING_interpreter_fail (gis->is); + return; + } } - } - { - const struct GNUNET_TIME_Relative *default_pay_delay; - if (GNUNET_OK != - TALER_TESTING_get_trait_pay_delay (instance_cmd, - &default_pay_delay)) - TALER_TESTING_interpreter_fail (gis->is); - if (details->default_pay_delay.rel_value_us != - default_pay_delay->rel_value_us) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Instance default pay delay does not match\n"); - TALER_TESTING_interpreter_fail (gis->is); - return; + const struct GNUNET_TIME_Relative *default_pay_delay; + if (GNUNET_OK != + TALER_TESTING_get_trait_pay_delay (instance_cmd, + &default_pay_delay)) + TALER_TESTING_interpreter_fail (gis->is); + if (details->default_pay_delay.rel_value_us != + default_pay_delay->rel_value_us) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Instance default pay delay does not match\n"); + TALER_TESTING_interpreter_fail (gis->is); + return; + } } - } - /* We aren't guaranteed an order for the accounts, so we just have to check - that we can match each account returned with exactly one account - expected. */ - if (gis->cmp_accounts) - { - unsigned int expected_accounts_length = - gis->active_accounts_length + gis->inactive_accounts_length; - unsigned int matches[accounts_length]; - - if (accounts_length != expected_accounts_length) + /* We aren't guaranteed an order for the accounts, so we just have to check + that we can match each account returned with exactly one account + expected. */ + if (gis->cmp_accounts) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Accounts length does not match\n"); - TALER_TESTING_interpreter_fail (gis->is); - return; - } + unsigned int have_al = igr->details.success.accounts_length; + unsigned int expected_accounts_length = + gis->active_accounts_length + gis->inactive_accounts_length; + unsigned int matches[GNUNET_NZL (have_al)]; + + if (have_al != expected_accounts_length) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Accounts length does not match\n"); + TALER_TESTING_interpreter_fail (gis->is); + return; + } - memset (matches, - 0, - sizeof (unsigned int) * accounts_length); + memset (matches, + 0, + sizeof (matches)); - /* Compare the accounts */ - for (unsigned int i = 0; i < accounts_length; ++i) - { - for (unsigned int j = 0; j < gis->active_accounts_length; ++j) + /* Compare the accounts */ + for (unsigned int i = 0; i < have_al; ++i) { - if ((0 == strcasecmp (accounts[i].payto_uri, - gis->active_accounts[j])) && - (true == accounts[i].active)) + const struct TALER_MERCHANT_Account *account + = &igr->details.success.accounts[i]; + for (unsigned int j = 0; j < gis->active_accounts_length; ++j) { - matches[i] += 1; + if ((0 == strcasecmp (account->payto_uri, + gis->active_accounts[j])) && + account->active) + { + matches[i] += 1; + } } - } - for (unsigned int j = 0; j < gis->inactive_accounts_length; ++j) - { - if ((0 == strcasecmp (accounts[i].payto_uri, - gis->inactive_accounts[j])) && - (false == accounts[i].active)) + for (unsigned int j = 0; j < gis->inactive_accounts_length; ++j) { - matches[i] += 1; + if ((0 == strcasecmp (account->payto_uri, + gis->inactive_accounts[j])) && + (! account->active)) + { + matches[i] += 1; + } } } - } - // Each account should have exactly one match. - for (unsigned int i = 0; i < accounts_length; ++i) - { - if (1 != matches[i]) + // Each account should have exactly one match. + for (unsigned int i = 0; i < have_al; ++i) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Instance account does not match\n"); - TALER_TESTING_interpreter_fail (gis->is); - return; + if (1 != matches[i]) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Instance account does not match\n"); + TALER_TESTING_interpreter_fail (gis->is); + return; + } } } } @@ -331,7 +333,7 @@ get_instance_cb (void *cls, default: GNUNET_log (GNUNET_ERROR_TYPE_WARNING, "Unhandled HTTP status %u for GET instance ID.\n", - hr->http_status); + igr->hr.http_status); } TALER_TESTING_interpreter_next (gis->is); } diff --git a/src/testing/testing_api_cmd_get_instances.c b/src/testing/testing_api_cmd_get_instances.c index 8aee04b1..5fb17746 100644 --- a/src/testing/testing_api_cmd_get_instances.c +++ b/src/testing/testing_api_cmd_get_instances.c @@ -71,16 +71,13 @@ struct GetInstancesState * Callback for a GET /instances operation. * * @param cls closure for this function - * @param hr HTTP response - * @param iis_length how many instances are returned - * @param iis all the instances details + * @param igr response */ static void get_instances_cb (void *cls, - const struct TALER_MERCHANT_HttpResponse *hr, - unsigned int iis_length, - const struct TALER_MERCHANT_InstanceInformation iis[]) + const struct TALER_MERCHANT_InstancesGetResponse *igr) { + const struct TALER_MERCHANT_HttpResponse *hr = &igr->hr; struct GetInstancesState *gis = cls; gis->igh = NULL; @@ -97,68 +94,75 @@ get_instances_cb (void *cls, switch (hr->http_status) { case MHD_HTTP_OK: - if (iis_length != gis->instances_length) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Length of instances found does not match\n"); - TALER_TESTING_interpreter_fail (gis->is); - return; - } - for (unsigned int i = 0; i < iis_length; ++i) - { - const struct TALER_TESTING_Command *instance_cmd; - - instance_cmd = TALER_TESTING_interpreter_lookup_command ( - gis->is, - gis->instances[i]); + unsigned int iis_length + = igr->details.success.iis_length; + const struct TALER_MERCHANT_InstanceInformation *iis + = igr->details.success.iis; + if (iis_length != gis->instances_length) { - const char **name; - - if (GNUNET_OK != - TALER_TESTING_get_trait_instance_name (instance_cmd, - &name)) - { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Could not fetch instance name\n"); - TALER_TESTING_interpreter_fail (gis->is); - return; - } - if (0 != strcmp (iis[i].name, - *name)) - { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Instance name does not match\n"); - TALER_TESTING_interpreter_fail (gis->is); - return; - } + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Length of instances found does not match\n"); + TALER_TESTING_interpreter_fail (gis->is); + return; } - + for (unsigned int i = 0; i < iis_length; ++i) { - const char **id; + const struct TALER_TESTING_Command *instance_cmd; + + instance_cmd = TALER_TESTING_interpreter_lookup_command ( + gis->is, + gis->instances[i]); - if (GNUNET_OK != - TALER_TESTING_get_trait_instance_id (instance_cmd, - &id)) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Could not fetch instance id\n"); - TALER_TESTING_interpreter_fail (gis->is); - return; + const char **name; + + if (GNUNET_OK != + TALER_TESTING_get_trait_instance_name (instance_cmd, + &name)) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Could not fetch instance name\n"); + TALER_TESTING_interpreter_fail (gis->is); + return; + } + if (0 != strcmp (iis[i].name, + *name)) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Instance name does not match\n"); + TALER_TESTING_interpreter_fail (gis->is); + return; + } } - if (0 != strcmp (iis[i].id, - *id)) + { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Instance id does not match\n"); - TALER_TESTING_interpreter_fail (gis->is); - return; + const char **id; + + if (GNUNET_OK != + TALER_TESTING_get_trait_instance_id (instance_cmd, + &id)) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Could not fetch instance id\n"); + TALER_TESTING_interpreter_fail (gis->is); + return; + } + if (0 != strcmp (iis[i].id, + *id)) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Instance id does not match\n"); + TALER_TESTING_interpreter_fail (gis->is); + return; + } } } - } - // FIXME: compare payment_targets - break; + // FIXME: compare payment_targets + break; + } default: GNUNET_log (GNUNET_ERROR_TYPE_WARNING, "Unhandled HTTP status %u for GET /instances.\n", diff --git a/src/testing/testing_api_cmd_get_products.c b/src/testing/testing_api_cmd_get_products.c index 190bb4c1..dbf5be39 100644 --- a/src/testing/testing_api_cmd_get_products.c +++ b/src/testing/testing_api_cmd_get_products.c @@ -1,6 +1,6 @@ /* This file is part of TALER - Copyright (C) 2020 Taler Systems SA + Copyright (C) 2020-2023 Taler Systems SA TALER is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -71,17 +71,14 @@ struct GetProductsState * Callback for a GET /products operation. * * @param cls closure for this function - * @param hr HTTP response details - * @param products_length length of the @a products array - * @param products array of products the requested instance offers + * @param gpr response details */ static void get_products_cb (void *cls, - const struct TALER_MERCHANT_HttpResponse *hr, - unsigned int products_length, - const struct TALER_MERCHANT_InventoryEntry products[]) + const struct TALER_MERCHANT_GetProductsResponse *gpr) { struct GetProductsState *gis = cls; + const struct TALER_MERCHANT_HttpResponse *hr = &gpr->hr; gis->igh = NULL; if (gis->http_status != hr->http_status) @@ -97,40 +94,47 @@ get_products_cb (void *cls, switch (hr->http_status) { case MHD_HTTP_OK: - if (products_length != gis->products_length) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Length of products found does not match\n"); - TALER_TESTING_interpreter_fail (gis->is); - return; - } - for (unsigned int i = 0; i < gis->products_length; ++i) - { - const struct TALER_TESTING_Command *product_cmd; - - product_cmd = TALER_TESTING_interpreter_lookup_command ( - gis->is, - gis->products[i]); + unsigned int products_length + = gpr->details.success.products_length; + const struct TALER_MERCHANT_InventoryEntry *products + = gpr->details.success.products; + if (products_length != gis->products_length) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Length of products found does not match\n"); + TALER_TESTING_interpreter_fail (gis->is); + return; + } + for (unsigned int i = 0; i < gis->products_length; ++i) { - const char **product_id; + const struct TALER_TESTING_Command *product_cmd; + + product_cmd = TALER_TESTING_interpreter_lookup_command ( + gis->is, + gis->products[i]); - if (GNUNET_OK != - TALER_TESTING_get_trait_product_id (product_cmd, - &product_id)) - { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Could not fetch product id\n"); - TALER_TESTING_interpreter_fail (gis->is); - return; - } - if (0 != strcmp (products[i].product_id, - *product_id)) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Product id does not match\n"); - TALER_TESTING_interpreter_fail (gis->is); - return; + const char **product_id; + + if (GNUNET_OK != + TALER_TESTING_get_trait_product_id (product_cmd, + &product_id)) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Could not fetch product id\n"); + TALER_TESTING_interpreter_fail (gis->is); + return; + } + if (0 != strcmp (products[i].product_id, + *product_id)) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Product id does not match\n"); + TALER_TESTING_interpreter_fail (gis->is); + return; + } } } } diff --git a/src/testing/testing_api_cmd_patch_instance.c b/src/testing/testing_api_cmd_patch_instance.c index 348163af..4ea0fba1 100644 --- a/src/testing/testing_api_cmd_patch_instance.c +++ b/src/testing/testing_api_cmd_patch_instance.c @@ -179,6 +179,7 @@ patch_instance_run (void *cls, pis->payto_uris_length, pis->payto_uris, pis->name, + TALER_KYCLOGIC_KYC_UT_BUSINESS, pis->address, pis->jurisdiction, &pis->default_max_wire_fee, diff --git a/src/testing/testing_api_cmd_post_instances.c b/src/testing/testing_api_cmd_post_instances.c index 4d1f0d26..61e54e53 100644 --- a/src/testing/testing_api_cmd_post_instances.c +++ b/src/testing/testing_api_cmd_post_instances.c @@ -1,6 +1,6 @@ /* This file is part of TALER - Copyright (C) 2020 Taler Systems SA + Copyright (C) 2020-2023 Taler Systems SA TALER is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -186,6 +186,7 @@ post_instances_run (void *cls, pis->payto_uris_length, pis->payto_uris, pis->name, + TALER_KYCLOGIC_KYC_UT_BUSINESS, pis->address, pis->jurisdiction, &pis->default_max_wire_fee, |