diff options
Diffstat (limited to 'src/testing/testing_api_cmd_merchant_get_order.c')
-rw-r--r-- | src/testing/testing_api_cmd_merchant_get_order.c | 50 |
1 files changed, 36 insertions, 14 deletions
diff --git a/src/testing/testing_api_cmd_merchant_get_order.c b/src/testing/testing_api_cmd_merchant_get_order.c index 2c6a3db5..6e408d89 100644 --- a/src/testing/testing_api_cmd_merchant_get_order.c +++ b/src/testing/testing_api_cmd_merchant_get_order.c @@ -485,21 +485,43 @@ merchant_get_order_cb ( 0, &claim_token)) TALER_TESTING_FAIL (gos->is); - - if ((0 != strcmp ("localhost:8080", - pud.merchant_host)) || - (NULL != pud.merchant_prefix_path) || - (0 != strcmp (order_id, - pud.order_id)) || - (NULL != pud.ssid)) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Order pay uri does not match, got %s/%s\n", - pud.merchant_host, - pud.order_id); - TALER_TESTING_interpreter_fail (gos->is); - TALER_MERCHANT_parse_pay_uri_free (&pud); - return; + char *port; + char *host; + + if (GNUNET_OK != + GNUNET_CONFIGURATION_get_value_string (gos->is->cfg, + "merchant", + "PORT", + &port)) + { + /* How did we get here without a configured port? */ + GNUNET_break (0); + TALER_TESTING_interpreter_fail (gos->is); + TALER_MERCHANT_parse_pay_uri_free (&pud); + return; + } + GNUNET_asprintf (&host, + "localhost:%s", + port); + GNUNET_free (port); + if ((0 != strcmp (host, + pud.merchant_host)) || + (NULL != pud.merchant_prefix_path) || + (0 != strcmp (order_id, + pud.order_id)) || + (NULL != pud.ssid)) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Order pay uri does not match, got %s/%s\n", + pud.merchant_host, + pud.order_id); + TALER_TESTING_interpreter_fail (gos->is); + TALER_MERCHANT_parse_pay_uri_free (&pud); + GNUNET_free (host); + return; + } + GNUNET_free (host); } /* The claim token is not given in the pay uri if the order has been claimed already. */ |