diff options
author | Marcello Stanisci <marcello.stanisci@inria.fr> | 2017-02-04 10:43:40 +0100 |
---|---|---|
committer | Marcello Stanisci <marcello.stanisci@inria.fr> | 2017-02-04 10:43:40 +0100 |
commit | dc5b4f7ee98177b4516077ad9d602744476d9d0f (patch) | |
tree | 7303727393b789cc40e39b50b0253ab2d926357b | |
parent | e05bb675e7e0f34b6dbdc9bbb2de7c488a492fd0 (diff) | |
download | merchant-dc5b4f7ee98177b4516077ad9d602744476d9d0f.tar.gz merchant-dc5b4f7ee98177b4516077ad9d602744476d9d0f.tar.bz2 merchant-dc5b4f7ee98177b4516077ad9d602744476d9d0f.zip |
Garbage removal
-rw-r--r-- | RENAMING_NOTES.txt | 11 | ||||
-rw-r--r-- | src/tests/Makefile.am | 25 | ||||
-rw-r--r-- | src/tests/deposit_permission.sample | 31 | ||||
-rw-r--r-- | src/tests/deposit_permission_backend.sample | 36 | ||||
-rw-r--r-- | src/tests/deposit_permission_edate_backend.sample | 37 | ||||
-rw-r--r-- | src/tests/merchant.priv | 1 | ||||
-rw-r--r-- | src/tests/test_contract.c | 341 | ||||
-rw-r--r-- | src/tests/test_contract_README | 10 | ||||
-rw-r--r-- | src/tests/test_pay_README | 26 |
9 files changed, 11 insertions, 507 deletions
diff --git a/RENAMING_NOTES.txt b/RENAMING_NOTES.txt new file mode 100644 index 00000000..7ebc19dd --- /dev/null +++ b/RENAMING_NOTES.txt @@ -0,0 +1,11 @@ +Files to be cleaned from the 'h/H_contract' presence. + +- history +- track-transaction +- track-transfer +- postgres plugin +- db testcase +- merchant service include +- db plugin include +- pay lib +- lib testcase diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am deleted file mode 100644 index 14285898..00000000 --- a/src/tests/Makefile.am +++ /dev/null @@ -1,25 +0,0 @@ -# This Makefile.am is in the public domain -AM_CPPFLAGS = -I$(top_srcdir)/src/include -I$(top_srcdir)/src/backend-lib/ - -bin_PROGRAMS = \ - test-contract - -#merchant_contract_test_CFLAGS = \ -# -Wl,--verbose - -test_contract_SOURCES = \ - test_contract.c \ - ../backend/merchant.c \ - ../backend-lib/merchant_db.c ../backend-lib/merchant_db.h - -test_contract_LDADD = \ - $(LIBGCRYPT_LIBS) \ - -ltalerutil \ - -ljansson \ - -lgnunetutil \ - -ltalerexchange \ - -ltalerpq \ - -lgnunetpostgres \ - -lpq \ - $(top_srcdir)/src/backend-lib/libtalermerchant.la \ - -lpthread diff --git a/src/tests/deposit_permission.sample b/src/tests/deposit_permission.sample deleted file mode 100644 index 668d0047..00000000 --- a/src/tests/deposit_permission.sample +++ /dev/null @@ -1,31 +0,0 @@ -{ - "transaction_id" : 1, - "timestamp": "\/Date(1447334003)\/", - "H_wire": "V1F0F5AWSNX60E6TXZEYDZRE84J8HMBGXEM09AEVV3N97MM75P6JQRSWR5KQVC1RBBF2SRXY7P10H0ZM0VETWPFAJJRBVJSXNMDWTYR", - "merchant_pub": "BQ0TMTBV2XEJ8G2PXA9KRDD5WDT5EV29KPVS6J9RBQJCS8BCPQ70", - "exchange": "localexchange", - "coins": [ - { - "f": { - "value": 0, - "fraction": 100000, - "currency": "KUDOS" - }, - "coin_pub": "AH86D5WV9G6RT0A3CHYJW598BNMH8848GAKYTEH1JX6X2BKZWTX0", - "denom_pub": "51R7ARKCD5HJTTV5F4G0M818E9SP280A40G2GVH04CR30HHG74SM8GSM6D33EGSR84R46E246H23GCHK690M4G9R8GS4CD9S8GRMCDSP64T34GA56GV34DA3851M6H9S6MWK8H9K8D13CD1M85344GSP61244GT28N132HA56N1MCHA56513AD2160RK2CSN6D23AGJ56X33AGSM68W4CH1S88WK4D1H68SMACHJ88TM2CA28MRM4D248GS4ADHR8GSM4C2364V38E1N88S30HA564TKJE1N750KGC9R6RTKJE2370R4AC268D0MACHN6N242D1N68TKAC1M65234DJ26CRK4D9M8MSK6C9J64R32D1R70VKEE25852MCG9N84W32GJ68914CD1J691M6GA360S3GCHP8GWK8HHH68TK8CSK70S4AE9N712K0H9K6X34AC9354520818CMG26C1H60R30C935452081918G2J2G0", - "ub_sig": "51SPJSSDESGPR80A40M74WV140520818ECG26C9J8D1MCHHJ84S34H1K8H1M6HHN60V3GH9S84R3GH9K6MVM6GSM70RKCDT188VM4CHM74RM8GSN6GSKEHHS6CT44H9Q8CWKCD1P68SK2G9S8GR34D1P60T4CCJ67523EDJ28S1KJD9N8H330CT58RS38CSM8H346GT58N13CGJ16GS34CHQ6GT42CSS6CTM4C9H8N1KCG9G74T36C1K8GT44E1N8RRK0D218GV46G9R6CT4CHA4890M6H1H8GV34E1Q8N244DHM8CRK2H1R8CV3ADA37113JDHR88W36E9R61242GT5752KEE9R84WK8H9G8GT34GT26S2MAE1P70RMAGSK74W30C1J60S32GSK64WKAC218MWM6GHM8S332DSN70SM2DHR6H146E228CTM8D135452081918G2J2G0", - "coin_sig": "MFTHC54GFYHA3CGKHC8SSDSTYX8YMEJDNQA7AEY5M7JBK3WPDQ9NCJ54ZSPQRZ4QCJC0CPREP0XRWH9JQ509ENSEXWKNNM5FEVRG238" - }, - { - "f": { - "value": 0, - "fraction": 100000, - "currency": "KUDOS" - }, - "coin_pub": "MQY067A8AGG90TSH11C8JNRW8P1R669JAAQX4V2HGFHGJ2WY4ZA0", - "denom_pub": "51R7ARKCD5HJTTV5F4G0M818E9SP280A40G2GVH04CR30HHG74SM8GSM6D33EGSR84R46E246H23GCHK690M4G9R8GS4CD9S8GRMCDSP64T34GA56GV34DA3851M6H9S6MWK8H9K8D13CD1M85344GSP61244GT28N132HA56N1MCHA56513AD2160RK2CSN6D23AGJ56X33AGSM68W4CH1S88WK4D1H68SMACHJ88TM2CA28MRM4D248GS4ADHR8GSM4C2364V38E1N88S30HA564TKJE1N750KGC9R6RTKJE2370R4AC268D0MACHN6N242D1N68TKAC1M65234DJ26CRK4D9M8MSK6C9J64R32D1R70VKEE25852MCG9N84W32GJ68914CD1J691M6GA360S3GCHP8GWK8HHH68TK8CSK70S4AE9N712K0H9K6X34AC9354520818CMG26C1H60R30C935452081918G2J2G0", - "ub_sig": "51SPJSSDESGPR80A40M74WV140520818ECG26H1J60R4AHHG6N1KEC268N23ECT664VKAGSJ8GRK4CA56H2KAH1H8CS4AHA188SKJE266RR3EDA58N148DSS74TM6CA58N24AC9K6X1M4C9Q6RW48CT674SMCE2264V42CSH8D336GSQ84SM6CT564TKECSR8MRMAGHG8GW3JEA56WT32D9S8H334DJ564SK8GSS60WM6E1P8S346H238GRM8DSN6MR36C256GVM8H9M6WV30C246X0MCH9R84TK2D1M70V44CA260VKJGHN6RR4ACT488R3GCA46MW3GDHK6GWMAHHP6S242H9G6D134D9N8RV32DSJ8GSKGC1J6RTK2GHQ8H0K2DHH6WT38GSH74WM4EA574RKEE1M6D0M4DHK8MW4ACT68CT4CE236H236GH35452081918G2J2G0", - "coin_sig": "K9S5273GT4QKF5Y9FYJ62BV710WGEFE1DSXV75A37X272ADWBCV0ERZV9TF2VYTCSH1837R3F7A39R5QEPCC0NYW3JQ5S70X8MJG008" - } - ] -} diff --git a/src/tests/deposit_permission_backend.sample b/src/tests/deposit_permission_backend.sample deleted file mode 100644 index a2e60589..00000000 --- a/src/tests/deposit_permission_backend.sample +++ /dev/null @@ -1,36 +0,0 @@ -{ - "transaction_id" : 1, - "timestamp": "\/Date(1447334003)\/", - "H_wire": "V1F0F5AWSNX60E6TXZEYDZRE84J8HMBGXEM09AEVV3N97MM75P6JQRSWR5KQVC1RBBF2SRXY7P10H0ZM0VETWPFAJJRBVJSXNMDWTYR", - "merchant_pub": "BQ0TMTBV2XEJ8G2PXA9KRDD5WDT5EV29KPVS6J9RBQJCS8BCPQ70", - "exchange": "demo.taler.net", - "coins": [ - { - "f": { - "value": 0, - "fraction": 100000, - "currency": "KUDOS" - }, - "coin_pub": "AH86D5WV9G6RT0A3CHYJW598BNMH8848GAKYTEH1JX6X2BKZWTX0", - "denom_pub": "51R7ARKCD5HJTTV5F4G0M818E9SP280A40G2GVH04CR30HHG74SM8GSM6D33EGSR84R46E246H23GCHK690M4G9R8GS4CD9S8GRMCDSP64T34GA56GV34DA3851M6H9S6MWK8H9K8D13CD1M85344GSP61244GT28N132HA56N1MCHA56513AD2160RK2CSN6D23AGJ56X33AGSM68W4CH1S88WK4D1H68SMACHJ88TM2CA28MRM4D248GS4ADHR8GSM4C2364V38E1N88S30HA564TKJE1N750KGC9R6RTKJE2370R4AC268D0MACHN6N242D1N68TKAC1M65234DJ26CRK4D9M8MSK6C9J64R32D1R70VKEE25852MCG9N84W32GJ68914CD1J691M6GA360S3GCHP8GWK8HHH68TK8CSK70S4AE9N712K0H9K6X34AC9354520818CMG26C1H60R30C935452081918G2J2G0", - "ub_sig": "51SPJSSDESGPR80A40M74WV140520818ECG26C9J8D1MCHHJ84S34H1K8H1M6HHN60V3GH9S84R3GH9K6MVM6GSM70RKCDT188VM4CHM74RM8GSN6GSKEHHS6CT44H9Q8CWKCD1P68SK2G9S8GR34D1P60T4CCJ67523EDJ28S1KJD9N8H330CT58RS38CSM8H346GT58N13CGJ16GS34CHQ6GT42CSS6CTM4C9H8N1KCG9G74T36C1K8GT44E1N8RRK0D218GV46G9R6CT4CHA4890M6H1H8GV34E1Q8N244DHM8CRK2H1R8CV3ADA37113JDHR88W36E9R61242GT5752KEE9R84WK8H9G8GT34GT26S2MAE1P70RMAGSK74W30C1J60S32GSK64WKAC218MWM6GHM8S332DSN70SM2DHR6H146E228CTM8D135452081918G2J2G0", - "coin_sig": "MFTHC54GFYHA3CGKHC8SSDSTYX8YMEJDNQA7AEY5M7JBK3WPDQ9NCJ54ZSPQRZ4QCJC0CPREP0XRWH9JQ509ENSEXWKNNM5FEVRG238" - }, - { - "f": { - "value": 0, - "fraction": 100000, - "currency": "KUDOS" - }, - "coin_pub": "MQY067A8AGG90TSH11C8JNRW8P1R669JAAQX4V2HGFHGJ2WY4ZA0", - "denom_pub": "51R7ARKCD5HJTTV5F4G0M818E9SP280A40G2GVH04CR30HHG74SM8GSM6D33EGSR84R46E246H23GCHK690M4G9R8GS4CD9S8GRMCDSP64T34GA56GV34DA3851M6H9S6MWK8H9K8D13CD1M85344GSP61244GT28N132HA56N1MCHA56513AD2160RK2CSN6D23AGJ56X33AGSM68W4CH1S88WK4D1H68SMACHJ88TM2CA28MRM4D248GS4ADHR8GSM4C2364V38E1N88S30HA564TKJE1N750KGC9R6RTKJE2370R4AC268D0MACHN6N242D1N68TKAC1M65234DJ26CRK4D9M8MSK6C9J64R32D1R70VKEE25852MCG9N84W32GJ68914CD1J691M6GA360S3GCHP8GWK8HHH68TK8CSK70S4AE9N712K0H9K6X34AC9354520818CMG26C1H60R30C935452081918G2J2G0", - "ub_sig": "51SPJSSDESGPR80A40M74WV140520818ECG26H1J60R4AHHG6N1KEC268N23ECT664VKAGSJ8GRK4CA56H2KAH1H8CS4AHA188SKJE266RR3EDA58N148DSS74TM6CA58N24AC9K6X1M4C9Q6RW48CT674SMCE2264V42CSH8D336GSQ84SM6CT564TKECSR8MRMAGHG8GW3JEA56WT32D9S8H334DJ564SK8GSS60WM6E1P8S346H238GRM8DSN6MR36C256GVM8H9M6WV30C246X0MCH9R84TK2D1M70V44CA260VKJGHN6RR4ACT488R3GCA46MW3GDHK6GWMAHHP6S242H9G6D134D9N8RV32DSJ8GSKGC1J6RTK2GHQ8H0K2DHH6WT38GSH74WM4EA574RKEE1M6D0M4DHK8MW4ACT68CT4CE236H236GH35452081918G2J2G0", - "coin_sig": "K9S5273GT4QKF5Y9FYJ62BV710WGEFE1DSXV75A37X272ADWBCV0ERZV9TF2VYTCSH1837R3F7A39R5QEPCC0NYW3JQ5S70X8MJG008" - } - ], - "max_fee": { - "value": 3, - "fraction": 8, - "currency": "KUDOS" - } -} diff --git a/src/tests/deposit_permission_edate_backend.sample b/src/tests/deposit_permission_edate_backend.sample deleted file mode 100644 index 1b185b41..00000000 --- a/src/tests/deposit_permission_edate_backend.sample +++ /dev/null @@ -1,37 +0,0 @@ -{ - "transaction_id" : 1, - "timestamp": "\/Date(1447334003)\/", - "edate": "\/Date(1447334003)\/", - "H_wire": "V1F0F5AWSNX60E6TXZEYDZRE84J8HMBGXEM09AEVV3N97MM75P6JQRSWR5KQVC1RBBF2SRXY7P10H0ZM0VETWPFAJJRBVJSXNMDWTYR", - "merchant_pub": "BQ0TMTBV2XEJ8G2PXA9KRDD5WDT5EV29KPVS6J9RBQJCS8BCPQ70", - "exchange": "demo.taler.net", - "coins": [ - { - "f": { - "value": 0, - "fraction": 100000, - "currency": "KUDOS" - }, - "coin_pub": "AH86D5WV9G6RT0A3CHYJW598BNMH8848GAKYTEH1JX6X2BKZWTX0", - "denom_pub": "51R7ARKCD5HJTTV5F4G0M818E9SP280A40G2GVH04CR30HHG74SM8GSM6D33EGSR84R46E246H23GCHK690M4G9R8GS4CD9S8GRMCDSP64T34GA56GV34DA3851M6H9S6MWK8H9K8D13CD1M85344GSP61244GT28N132HA56N1MCHA56513AD2160RK2CSN6D23AGJ56X33AGSM68W4CH1S88WK4D1H68SMACHJ88TM2CA28MRM4D248GS4ADHR8GSM4C2364V38E1N88S30HA564TKJE1N750KGC9R6RTKJE2370R4AC268D0MACHN6N242D1N68TKAC1M65234DJ26CRK4D9M8MSK6C9J64R32D1R70VKEE25852MCG9N84W32GJ68914CD1J691M6GA360S3GCHP8GWK8HHH68TK8CSK70S4AE9N712K0H9K6X34AC9354520818CMG26C1H60R30C935452081918G2J2G0", - "ub_sig": "51SPJSSDESGPR80A40M74WV140520818ECG26C9J8D1MCHHJ84S34H1K8H1M6HHN60V3GH9S84R3GH9K6MVM6GSM70RKCDT188VM4CHM74RM8GSN6GSKEHHS6CT44H9Q8CWKCD1P68SK2G9S8GR34D1P60T4CCJ67523EDJ28S1KJD9N8H330CT58RS38CSM8H346GT58N13CGJ16GS34CHQ6GT42CSS6CTM4C9H8N1KCG9G74T36C1K8GT44E1N8RRK0D218GV46G9R6CT4CHA4890M6H1H8GV34E1Q8N244DHM8CRK2H1R8CV3ADA37113JDHR88W36E9R61242GT5752KEE9R84WK8H9G8GT34GT26S2MAE1P70RMAGSK74W30C1J60S32GSK64WKAC218MWM6GHM8S332DSN70SM2DHR6H146E228CTM8D135452081918G2J2G0", - "coin_sig": "MFTHC54GFYHA3CGKHC8SSDSTYX8YMEJDNQA7AEY5M7JBK3WPDQ9NCJ54ZSPQRZ4QCJC0CPREP0XRWH9JQ509ENSEXWKNNM5FEVRG238" - }, - { - "f": { - "value": 0, - "fraction": 100000, - "currency": "KUDOS" - }, - "coin_pub": "MQY067A8AGG90TSH11C8JNRW8P1R669JAAQX4V2HGFHGJ2WY4ZA0", - "denom_pub": "51R7ARKCD5HJTTV5F4G0M818E9SP280A40G2GVH04CR30HHG74SM8GSM6D33EGSR84R46E246H23GCHK690M4G9R8GS4CD9S8GRMCDSP64T34GA56GV34DA3851M6H9S6MWK8H9K8D13CD1M85344GSP61244GT28N132HA56N1MCHA56513AD2160RK2CSN6D23AGJ56X33AGSM68W4CH1S88WK4D1H68SMACHJ88TM2CA28MRM4D248GS4ADHR8GSM4C2364V38E1N88S30HA564TKJE1N750KGC9R6RTKJE2370R4AC268D0MACHN6N242D1N68TKAC1M65234DJ26CRK4D9M8MSK6C9J64R32D1R70VKEE25852MCG9N84W32GJ68914CD1J691M6GA360S3GCHP8GWK8HHH68TK8CSK70S4AE9N712K0H9K6X34AC9354520818CMG26C1H60R30C935452081918G2J2G0", - "ub_sig": "51SPJSSDESGPR80A40M74WV140520818ECG26H1J60R4AHHG6N1KEC268N23ECT664VKAGSJ8GRK4CA56H2KAH1H8CS4AHA188SKJE266RR3EDA58N148DSS74TM6CA58N24AC9K6X1M4C9Q6RW48CT674SMCE2264V42CSH8D336GSQ84SM6CT564TKECSR8MRMAGHG8GW3JEA56WT32D9S8H334DJ564SK8GSS60WM6E1P8S346H238GRM8DSN6MR36C256GVM8H9M6WV30C246X0MCH9R84TK2D1M70V44CA260VKJGHN6RR4ACT488R3GCA46MW3GDHK6GWMAHHP6S242H9G6D134D9N8RV32DSJ8GSKGC1J6RTK2GHQ8H0K2DHH6WT38GSH74WM4EA574RKEE1M6D0M4DHK8MW4ACT68CT4CE236H236GH35452081918G2J2G0", - "coin_sig": "K9S5273GT4QKF5Y9FYJ62BV710WGEFE1DSXV75A37X272ADWBCV0ERZV9TF2VYTCSH1837R3F7A39R5QEPCC0NYW3JQ5S70X8MJG008" - } - ], - "max_fee": { - "value": 3, - "fraction": 8, - "currency": "KUDOS" - } -} diff --git a/src/tests/merchant.priv b/src/tests/merchant.priv deleted file mode 100644 index 2101f677..00000000 --- a/src/tests/merchant.priv +++ /dev/null @@ -1 +0,0 @@ -{|ic?"`J0pkvTW
\ No newline at end of file diff --git a/src/tests/test_contract.c b/src/tests/test_contract.c deleted file mode 100644 index ce752342..00000000 --- a/src/tests/test_contract.c +++ /dev/null @@ -1,341 +0,0 @@ -/* - This file is part of TALER - Copyright (C) 2014, 2015, 2016 INRIA - - TALER is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - TALER is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - TALER; see the file COPYING.GPL. If not, see <http://www.gnu.org/licenses/> -*/ - -/** -* @file src/tests/test_contract.c -* @brief test for various merchant's capabilities -* @author Marcello Stanisci -*/ - -#include "platform.h" -#include <jansson.h> -#include <gnunet/gnunet_util_lib.h> -#include <taler/taler_util.h> -#include "merchant.h" -#include "merchant_db.h" -#include <taler_merchant_lib.h> - -PGconn *db_conn; - -static int dry; -struct GNUNET_CRYPTO_EddsaPrivateKey *privkey; -char *keyfile; -static int result; -static struct MERCHANT_WIREFORMAT_Sepa *wire; - -extern -struct MERCHANT_WIREFORMAT_Sepa * -TALER_MERCHANT_parse_wireformat_sepa (const struct GNUNET_CONFIGURATION_Handle *cfg); - - -/** - * Shutdown task (magically invoked when the application is being - * quit) - * - * @param cls NULL - * @param tc scheduler task context - */ -static void -do_shutdown (void *cls, - const struct GNUNET_SCHEDULER_TaskContext *tc) -{ - - if (NULL != db_conn) - { - TALER_MERCHANTDB_disconnect (db_conn); - db_conn = NULL; - } -} - - -extern uint32_t -TALER_MERCHANTDB_contract_get_values (PGconn *conn, - const struct GNUNET_HashCode *h_contract, - uint64_t *nounce, - struct GNUNET_TIME_Absolute *wire_transfer_deadline); - - -/** - * Main function that will be run by the scheduler. - * - * @param cls closure - * @param args remaining command-line arguments - * @param cfgfile name of the configuration file used (for saving, can be NULL!) - * @param config configuration - */ -static void -run (void *cls, char *const *args, const char *cfgfile, - const struct GNUNET_CONFIGURATION_Handle *config) - -{ - json_t *j_fake_contract; - json_t *j_details; - json_t *j_exchanges; - json_t *j_item; - json_t *j_amount; - json_t *j_tax_amount; - json_t *j_item_price; - json_t *j_max_fee; - json_t *j_teatax; - json_t *j_id; // trans id - json_t *j_pid; // product id - json_t *j_quantity; - json_t *j_delloc; - json_t *j_merchant; - json_t *j_merchant_jurisdiction; - json_t *j_merchant_zipcode; - json_t *j_lnames; - json_t *j_deldate; - char *desc; - struct TALER_Amount amount; - int64_t t_id; - int64_t p_id; - struct Contract contract; - struct GNUNET_TIME_Absolute wire_transfer_deadline; - struct GNUNET_TIME_Absolute now; - uint64_t nounce; - struct GNUNET_HashCode h_contract_str; - char *aa; - const char *fancy_time; - uint32_t ret; - - db_conn = NULL; - keyfile = NULL; - privkey = NULL; - wire = NULL; - - - db_conn = TALER_MERCHANTDB_connect (config); - if (GNUNET_OK != TALER_MERCHANTDB_initialize (db_conn, GNUNET_NO)) - { - printf ("no db init'd\n"); - result = GNUNET_SYSERR; - } - if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_filename (config, - "merchant", - "KEYFILE", - &keyfile)) - { - printf ("no keyfile entry in cfg file\n"); - result = GNUNET_SYSERR; - } - - privkey = GNUNET_CRYPTO_eddsa_key_create_from_file (keyfile); - wire = TALER_MERCHANT_parse_wireformat_sepa (config); - GNUNET_SCHEDULER_add_shutdown (&do_shutdown, NULL); - - /** - * 'Root' object of the contract, leaving some holes to bi filled - * up by the merchant library. - * - */ - - /* Amount */ - TALER_amount_get_zero ("EUR", &amount); - j_amount = TALER_json_from_amount (&amount); - - /* Transaction ID*/ - //t_id = (int32_t) GNUNET_CRYPTO_random_u64 (GNUNET_CRYPTO_QUALITY_WEAK, UINT64_MAX); - t_id = 321; - - if (t_id < 0) - j_id = json_integer ((-1) * t_id); - else - j_id = json_integer (t_id); - - /** - * Holes: - * - * - 'h_wire' - * - 'timestamp' - * - */ - - /** - * - * Preparing the 'details' sub-object: an array of 'item' objects - * plus some juridical and delivery-aware informations - * - */ - - /** - * - * Preparing a 'item' sub-object - */ - - /* Description */ - desc = "Fake purchase"; - - j_max_fee = TALER_json_from_amount (&amount); - /* Quantity: OPTIONAL FIELD */ - j_quantity = json_integer (3); - - /* item price: OPTIONAL FIELD*/ - j_item_price = TALER_json_from_amount (&amount); - - /* Product ID */ - p_id = (int32_t) GNUNET_CRYPTO_random_u64 (GNUNET_CRYPTO_QUALITY_WEAK, UINT64_MAX); - - if (p_id < 0) - j_pid = json_integer ((-1) * p_id); - else - j_pid = json_integer (p_id); - - /* Taxes: array of "tax_name" : {tax amount} */ - j_tax_amount = TALER_json_from_amount (&amount); - j_teatax = json_pack ("{s:o}", - "teatax", j_tax_amount); - - if (NULL == (j_item = json_pack ("{s:s, s:I, s:o, s:[o]}", - "description", desc, - "quantity", json_integer_value (j_quantity), - "itemprice", j_item_price, - "taxes", j_teatax))) - { - printf ("error in packing [j_item: %p]\n", j_item); - return; - } - - /* End of 'item' object definition */ - - /* Delivery date: OPTIONAL FIELD */ - now = GNUNET_TIME_absolute_get (); - TALER_round_abs_time (&now); -// deldate = GNUNET_TIME_absolute_add (now, GNUNET_TIME_UNIT_WEEKS); - j_deldate = TALER_json_from_abs (now); - - /* Delivery location: OPTIONAL FIELD */ - j_delloc = json_string ("MALTK"); /* just a 'tag' which points to some well defined location */ - - - /* Merchant jurisdiction: OPTIONAL FIELD (with its fields from 3rd to the last being optional) - * for another optional field */ - j_merchant_zipcode = json_integer (9468); - j_merchant_jurisdiction = json_pack ("{s:s, s:s, s:s, s:s, s:s, s:I}", - "country", "Test Country", - "city", "Test City", - "state", "NA", - "region", "NA", - "province", "NA", - "ZIP code", json_integer_value (j_merchant_zipcode)); - - /* Merchant details */ - j_merchant = json_pack ("{s:s, s:s, s:o}", - "address", "UALMP", - "name", "test merchant", - "jurisdiction", j_merchant_jurisdiction); - - - /* L-names mapping */ - j_lnames = json_pack ("[{s:s}, {s:s}]", - "MALTK", "Test Address 1", - "UALMP", "Second Test Address"); - - - - j_details = json_pack ("{s:I, s:o, s:o, s:o, s:o, s:o}", - "product_id", json_integer_value (j_pid), - "items", j_item, - "delivery date", j_deldate, - "delivery location", j_delloc, - "merchant", j_merchant, - "L-names", j_lnames); - - /* Faking out the exchanges' list */ - j_exchanges = json_pack ("[{s:s}]", - "demo.taler.net", - "Q1WVGRGC1F4W7RYC6M23AEGFEXQEHQ730K3GG0B67VPHQSRR75H0"); - - j_fake_contract = json_pack ("{s:o, s:o, s:I, s:o, s:o}", - "amount", j_amount, - "max fee", j_max_fee, - "trans_id", json_integer_value (j_id), - "exchanges", j_exchanges, - "details", j_details); - #if 0 - str = json_dumps (j_fake_contract, JSON_INDENT(2) | JSON_PRESERVE_ORDER); - printf ("%s\n", str); - return; - #endif - - nounce = GNUNET_CRYPTO_random_u64 (GNUNET_CRYPTO_QUALITY_NONCE, UINT64_MAX); - - ret = MERCHANT_handle_contract (j_fake_contract, - db_conn, - &contract, - now, - now, - now, - now, - &aa, - nounce); - if (ret == GNUNET_NO) - { - printf ("Failed, contract already in DB\n"); - return; - } - else - printf ("handling contract fine\n"); - - - printf ("contract string : %s\n", aa); - - GNUNET_CRYPTO_hash (aa, strlen (aa) + 1, &h_contract_str); - if (GNUNET_SYSERR == - TALER_MERCHANTDB_contract_get_values (db_conn, - &h_contract_str, - &nounce, - &wire_transfer_deadline)) - { - printf ("no hash found\n"); - } - else - { - - fancy_time = GNUNET_STRINGS_absolute_time_to_string (wire_transfer_deadline); - printf ("hash found!, nounce is : %llu\n", nounce); - printf ("hash found!, wire transfer time is : %s\n", fancy_time); - } -} - - -/** - * The main function of the test tool - * - * @param argc number of arguments from the command line - * @param argv command line arguments - * @return 0 ok, 1 on error - */ -int -main (int argc, char *const *argv) -{ - - static const struct GNUNET_GETOPT_CommandLineOption options[] = { - {'t', "temp", NULL, - gettext_noop ("Use temporary database tables"), GNUNET_NO, - &GNUNET_GETOPT_set_one, &dry}, - GNUNET_GETOPT_OPTION_END - }; - - - if (GNUNET_OK != - GNUNET_PROGRAM_run (argc, argv, - "merchant-contract-test", - "Test for contracts mgmt", - options, &run, NULL)) - return 3; - return (GNUNET_OK == result) ? 0 : 1; -} diff --git a/src/tests/test_contract_README b/src/tests/test_contract_README deleted file mode 100644 index 9fd337cf..00000000 --- a/src/tests/test_contract_README +++ /dev/null @@ -1,10 +0,0 @@ -- In order to test the "/contract" facility of the merchant, - just issue - - - curl http://merchant-url/generate_taler_contract.php?cli_debug=yes - (this form tests the whole communication between frontend and backend) - - - curl http://merchant-url/generate_taler_contract.php?backend_test=no - (this form test only the contract proposition generation of the frontend, - so it doesn't further connect to the backend to get the proposition JSON - enhanced) diff --git a/src/tests/test_pay_README b/src/tests/test_pay_README deleted file mode 100644 index 1704d6b7..00000000 --- a/src/tests/test_pay_README +++ /dev/null @@ -1,26 +0,0 @@ -The merchant's "/pay" facility can be tested either directly by querying the -backend or by querying the frontend (which in turn will query the backend). -Each file *.sample is sample JSON to POST to both components (with the '_backend' -named version being dedicated to just the backend). - -Note: the sample 'deposit_permission_edate_backend.sample' contains the optional -'edate' field to the deposit permission (that field indicates the tollerated delay -by this merchant to receive funds relative to this payment) - -The frontend test admits two versions of queries, as in the following examples: - - * curl -H 'Content-type: application/json' -d@deposit_permission.sample \ - http://merchant-url/pay.php?cli_debug=yes - - (this form tests the whole communication between frontend and backend) - - * curl -d@deposit_permission.sample http://merchant-url/pay.php?backend_test=no - - (this form tests only the deposit permission enhancement made by the - frontend, so it doesn't further connect to the backend to actually POST - that data. By default, the frontend doesn't add the 'edate' field, so it - is necessary to uncomment the related line of code to test this feature) - -Finally, to POST to the backend, issue - * curl -H 'Content-type: application/json' -d@*_backend.sample http://backend-url/pay - |