aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/exchange-lib/test_exchange_api.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/exchange-lib/test_exchange_api.c b/src/exchange-lib/test_exchange_api.c
index 3e69c25bb..056d293f5 100644
--- a/src/exchange-lib/test_exchange_api.c
+++ b/src/exchange-lib/test_exchange_api.c
@@ -1352,6 +1352,28 @@ find_pk (const struct TALER_EXCHANGE_Keys *keys,
/**
+ * Function called with information about the wire fees
+ * for each wire method.
+ *
+ * @param cls closure
+ * @param wire_method name of the wire method (i.e. "sepa")
+ * @param fees fee structure for this method
+ */
+static void
+check_fee_cb (void *cls,
+ const char *wire_method,
+ const struct TALER_EXCHANGE_WireAggregateFees *fees)
+{
+ struct InterpreterState *is = cls;
+ struct Command *cmd = &is->commands[is->ip];
+
+ GNUNET_break (0 == strcasecmp (cmd->details.wire.format,
+ wire_method));
+ /* FIXME: actually check @a fees as well... */
+}
+
+
+/**
* Callbacks called with the result(s) of a
* wire format inquiry request to the exchange.
*
@@ -1400,6 +1422,19 @@ wire_cb (void *cls,
fail (is);
return;
}
+ if (GNUNET_OK !=
+ TALER_EXCHANGE_wire_get_fees (&TALER_EXCHANGE_get_keys (exchange)->master_pub,
+ obj,
+ &check_fee_cb,
+ is))
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Wire fee extraction in command %s failed\n",
+ cmd->label);
+ json_dumpf (obj, stderr, 0);
+ fail (is);
+ return;
+ }
}
break;
default: