commit 92345d05e2717eac5729dc6233bc34244d6f3b41
parent 0214e426a6cd2c80671bb55257e3358e737f60d3
Author: Christian Grothoff <christian@grothoff.org>
Date: Mon, 6 Mar 2017 17:07:31 +0100
cover get more of /wire API in test case
Diffstat:
1 file changed, 35 insertions(+), 0 deletions(-)
diff --git 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: