summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorMarcello Stanisci <marcello.stanisci@inria.fr>2017-07-04 18:26:19 +0200
committerMarcello Stanisci <marcello.stanisci@inria.fr>2017-07-04 18:26:40 +0200
commit430c95c21b478703f3191327afa74253b9d79d48 (patch)
tree38b08837d85f2a2cd6693de271e50171421dea28 /src/lib
parente01c68fe1ac0e10b07212ae7406c83ea70abfa74 (diff)
downloadmerchant-430c95c21b478703f3191327afa74253b9d79d48.tar.gz
merchant-430c95c21b478703f3191327afa74253b9d79d48.tar.bz2
merchant-430c95c21b478703f3191327afa74253b9d79d48.zip
finally match /refund response data
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/test_merchant_api.c36
1 files changed, 19 insertions, 17 deletions
diff --git a/src/lib/test_merchant_api.c b/src/lib/test_merchant_api.c
index f7577424..3474efbd 100644
--- a/src/lib/test_merchant_api.c
+++ b/src/lib/test_merchant_api.c
@@ -1210,7 +1210,6 @@ refund_lookup_cb (void *cls,
struct TALER_CoinSpendPublicKeyP coin_pub;
struct TALER_CoinSpendPublicKeyP resp_coin_pub;
struct json_t *resp_element;
- uint64_t resp_rtid;
const char *error_name;
unsigned int error_line;
@@ -1218,7 +1217,6 @@ refund_lookup_cb (void *cls,
GNUNET_JSON_spec_fixed_auto ("coin_pub", &resp_coin_pub),
TALER_JSON_spec_amount ("refund_amount", &resp_refund_amount),
TALER_JSON_spec_amount ("refund_fee", &resp_refund_fee),
- GNUNET_JSON_spec_uint64 ("rtransaction_id", &resp_rtid),
GNUNET_JSON_spec_end ()
};
@@ -1230,18 +1228,6 @@ refund_lookup_cb (void *cls,
return;
}
- /**
- * #5087 goes below.
- *
- * 1) Retrieve refund amount. x
- * 2) Retrieve # of coins used to pay for the contract
- * (Actually, always ONE coins is spent). It's not required
- * to know which denomination got used, as the refund gets taken
- * from the _deposited_ amount. x
- * 3) Extract values from response
- * 4) Match those!
- */
-
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"/refund lookup:\n%s\n",
json_dumps (obj, JSON_INDENT (2)));
@@ -1271,9 +1257,9 @@ refund_lookup_cb (void *cls,
&coin_pub.eddsa_pub);
/**
- * NOTE: cannot reconstrcut and match a mocked JSON against
- * the response because the testcase has no hold of merchant
- * priv, which is needed to mock the signature and get the pub.
+ * NOTE: cannot reconstruct and match (with json_equal()) a mocked
+ * JSON against the response because the testcase has no hold of
+ * merchant priv, which is needed to mock the signature and get the pub.
*/
GNUNET_assert (NULL != (resp_element = json_array_get (obj, 0)));
@@ -1282,6 +1268,22 @@ refund_lookup_cb (void *cls,
spec,
&error_name,
&error_line));
+ if (0 != memcmp (&refund_amount,
+ &resp_refund_amount,
+ sizeof (struct TALER_Amount)) ||
+ 0 != memcmp (&refund_fee,
+ &resp_refund_fee,
+ sizeof (struct TALER_Amount)) ||
+ 0 != memcmp (&coin_pub,
+ &resp_coin_pub,
+ sizeof (struct TALER_CoinSpendPublicKeyP)))
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Bad refund given\n");
+ fail (is);
+
+ }
+
cmd->details.refund_lookup.rlo = NULL;
next_command (is);
}