aboutsummaryrefslogtreecommitdiff
path: root/src/mint/test_mint_deposits.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mint/test_mint_deposits.c')
-rw-r--r--src/mint/test_mint_deposits.c40
1 files changed, 39 insertions, 1 deletions
diff --git a/src/mint/test_mint_deposits.c b/src/mint/test_mint_deposits.c
index 00664cbbf..045485b20 100644
--- a/src/mint/test_mint_deposits.c
+++ b/src/mint/test_mint_deposits.c
@@ -52,6 +52,44 @@ static int persistent;
52static int result; 52static int result;
53 53
54 54
55int
56TALER_MINT_DB_init_deposits (PGconn *conn, int tmp)
57{
58 const char *tmp_str = (1 == tmp) ? "TEMPORARY" : "";
59 char *sql;
60 PGresult *res;
61 int ret;
62
63 res = NULL;
64 (void) GNUNET_asprintf (&sql,
65 "CREATE %1$s TABLE IF NOT EXISTS deposits ("
66 " coin_pub BYTEA NOT NULL PRIMARY KEY CHECK (length(coin_pub)=32)"
67 ",denom_pub BYTEA NOT NULL CHECK (length(denom_pub)=32)"
68 ",transaction_id INT8 NOT NULL"
69 ",amount_value INT4 NOT NULL"
70 ",amount_fraction INT4 NOT NULL"
71 ",amount_currency VARCHAR(4) NOT NULL"
72 ",merchant_pub BYTEA NOT NULL"
73 ",h_contract BYTEA NOT NULL CHECK (length(h_contract)=64)"
74 ",h_wire BYTEA NOT NULL CHECK (length(h_wire)=64)"
75 ",coin_sig BYTEA NOT NULL CHECK (length(coin_sig)=64)"
76 ",wire TEXT NOT NULL"
77 ")",
78 tmp_str);
79 res = PQexec (conn, sql);
80 GNUNET_free (sql);
81 if (PGRES_COMMAND_OK != PQresultStatus (res))
82 {
83 break_db_err (res);
84 ret = GNUNET_SYSERR;
85 }
86 else
87 ret = GNUNET_OK;
88 PQclear (res);
89 return ret;
90}
91
92
55static void 93static void
56do_shutdown (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) 94do_shutdown (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
57{ 95{
@@ -89,7 +127,7 @@ run (void *cls, char *const *args, const char *cfgfile,
89 &do_shutdown, NULL); 127 &do_shutdown, NULL);
90 EXITIF (NULL == (conn = PQconnectdb(DB_URI))); 128 EXITIF (NULL == (conn = PQconnectdb(DB_URI)));
91 EXITIF (GNUNET_OK != TALER_MINT_DB_init_deposits (conn, !persistent)); 129 EXITIF (GNUNET_OK != TALER_MINT_DB_init_deposits (conn, !persistent));
92 EXITIF (GNUNET_OK != TALER_MINT_DB_prepare_deposits (conn)); 130 EXITIF (GNUNET_OK != TALER_MINT_DB_prepare (conn));
93 deposit = GNUNET_malloc (sizeof (struct Deposit) + sizeof (wire)); 131 deposit = GNUNET_malloc (sizeof (struct Deposit) + sizeof (wire));
94 /* Makeup a random coin public key */ 132 /* Makeup a random coin public key */
95 GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK, 133 GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK,