diff options
author | Christian Grothoff <christian@grothoff.org> | 2021-11-21 00:53:11 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2021-11-21 00:53:11 +0100 |
commit | ae2ce4aaeed35fd077cac016795f069b35189756 (patch) | |
tree | 8aac04ba02cc1055f71ff0b2392c6eaec2ed39dc /src/json/test_json.c | |
parent | a5a3b2ea9ab6fa47d06531b34599237b62742443 (diff) | |
download | exchange-ae2ce4aaeed35fd077cac016795f069b35189756.tar.xz |
trying to fix #7039 insanity for RFC 8785, Dold: please check
Diffstat (limited to 'src/json/test_json.c')
-rw-r--r-- | src/json/test_json.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/json/test_json.c b/src/json/test_json.c index ffc5b33c7..a8c1c6d8e 100644 --- a/src/json/test_json.c +++ b/src/json/test_json.c @@ -330,6 +330,40 @@ test_contract (void) } +static int +test_rfc8785 (void) +{ + struct TALER_PrivateContractHash h1; + json_t *c1; + + c1 = json_pack ("{s:s}", + "k1", "\x08\x0B\t\1\\\x0d"); + GNUNET_assert (GNUNET_OK == + TALER_JSON_contract_hash (c1, + &h1)); + { + char *s; + + s = GNUNET_STRINGS_data_to_string_alloc (&h1, + sizeof (h1)); + if (0 != + strcmp (s, + "J678K3PW9Y3DG63Z3T7ZYR2P7CEXMVZ2SFPQMABACK9TJRYREPP82542PCJ0P7Y7FAQAMWECDX50XH1RBTWHX6SSJHH6FXRV0JCS6R8")) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Invalid reference hash: %s\n", + s); + GNUNET_free (s); + json_decref (c1); + return 1; + } + GNUNET_free (s); + } + json_decref (c1); + return 0; +} + + int main (int argc, const char *const argv[]) @@ -343,6 +377,8 @@ main (int argc, return 1; if (0 != test_contract ()) return 2; + if (0 != test_rfc8785 ()) + return 2; return 0; } |