[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-donau] branch master updated: added some db tests
From: |
gnunet |
Subject: |
[taler-donau] branch master updated: added some db tests |
Date: |
Fri, 12 Apr 2024 19:24:38 +0200 |
This is an automated email from the git hooks/post-receive script.
johannes-casaburi pushed a commit to branch master
in repository donau.
The following commit(s) were added to refs/heads/master by this push:
new 4b3cfa2 added some db tests
4b3cfa2 is described below
commit 4b3cfa2ad390104a577c5b1bb0feaba97fa4884f
Author: Casaburi Johannes <johannes.casaburi@students.bfh.ch>
AuthorDate: Fri Apr 12 19:23:41 2024 +0200
added some db tests
---
src/donau/donau-httpd_post-charity.c | 10 ++---
src/donaudb/Makefile.am | 2 +-
src/donaudb/list.txt | 20 ---------
src/donaudb/pg_insert_charity.c | 24 +++++------
src/donaudb/procedures.sql.in | 2 +-
src/donaudb/test_donaudb.c | 79 +++++++++++++++++++++++++++++++++++-
6 files changed, 96 insertions(+), 41 deletions(-)
diff --git a/src/donau/donau-httpd_post-charity.c
b/src/donau/donau-httpd_post-charity.c
index a5b50d7..ffb93f5 100644
--- a/src/donau/donau-httpd_post-charity.c
+++ b/src/donau/donau-httpd_post-charity.c
@@ -78,7 +78,7 @@ insert_charity (void *cls,
&icc->max_per_year,
&icc->receipts_to_date,
&icc->current_year,
-
&icc->charity_id);
+ &icc->charity_id);
if (qs <= 0)
{
if (GNUNET_DB_STATUS_SOFT_ERROR != qs)
@@ -153,14 +153,14 @@ DH_handler_charity_post (struct DH_RequestContext *rc,
}
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- "generated charity id: %lu\n",
- icc.charity_id);
+ "generated charity id: %lu\n",
+ icc.charity_id);
return TALER_MHD_REPLY_JSON_PACK (
rc->connection,
MHD_HTTP_CREATED,
- GNUNET_JSON_pack_uint64 ("charity-id",
-
icc.charity_id));
+ GNUNET_JSON_pack_uint64 ("charity-id",
+ icc.charity_id));
}
diff --git a/src/donaudb/Makefile.am b/src/donaudb/Makefile.am
index 3d31e59..2a01b03 100644
--- a/src/donaudb/Makefile.am
+++ b/src/donaudb/Makefile.am
@@ -126,7 +126,6 @@ libdonaudb_la_LDFLAGS = \
check_PROGRAMS = \
test-donaudb-postgres
-AM_TESTS_ENVIRONMENT=export TALER_PREFIX=$${TALER_PREFIX:-@libdir@};export
PATH=$${TALER_PREFIX:-@prefix@}/bin:$$PATH;
TESTS = \
$(check_SCRIPTS) \
$(check_PROGRAMS)
@@ -139,6 +138,7 @@ test_donaudb_postgres_LDADD = \
-ljansson \
-lgnunetjson \
-lgnunetutil \
+ -ltalerutil \
-ltalerjson \
-ltalerpq \
$(XLIB)
diff --git a/src/donaudb/list.txt b/src/donaudb/list.txt
deleted file mode 100644
index 73b9a3b..0000000
--- a/src/donaudb/list.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-0002-recoup.sql
-0002-reserves_out.sql
-donau-0002.sql
-donau_do_batch_withdraw_insert.sql
-donau_do_batch_withdraw.sql
-donau_do_gc.sql
-donau_do_recoup_by_reserve.sql
-donau_do_withdraw.sql
-pg_get_coin_transactions.c
-pg_get_reserve_by_h_blind.c
-pg_get_reserve_history.c
-pg_get_withdraw_info.c
-pg_insert_records_by_table.c
-pg_lookup_records_by_table.c
-pg_lookup_serial_by_table.c
-pg_select_recoup_above_serial_id.c
-pg_select_withdrawals_above_serial_id.c
-pg_select_withdraw_amounts_for_kyc_check.c
-procedures.sql
-shard-0001.sql
diff --git a/src/donaudb/pg_insert_charity.c b/src/donaudb/pg_insert_charity.c
index 8938e41..788d1fd 100644
--- a/src/donaudb/pg_insert_charity.c
+++ b/src/donaudb/pg_insert_charity.c
@@ -29,14 +29,14 @@
enum GNUNET_DB_QueryStatus
DH_PG_insert_charity (
- void *cls,
- const struct DONAU_CharityPublicKeyP *charity_pub,
- const char *charity_name,
- const char *charity_url,
- struct TALER_Amount *max_per_year,
- struct TALER_Amount *receipts_to_date,
- uint64_t *current_year,
- uint64_t *charity_id)
+ void *cls,
+ const struct DONAU_CharityPublicKeyP *charity_pub,
+ const char *charity_name,
+ const char *charity_url,
+ struct TALER_Amount *max_per_year,
+ struct TALER_Amount *receipts_to_date,
+ uint64_t *current_year,
+ uint64_t *charity_id)
{
struct PostgresClosure *pg = cls;
struct GNUNET_PQ_QueryParam params[] = {
@@ -53,7 +53,7 @@ DH_PG_insert_charity (
struct GNUNET_PQ_ResultSpec rs[] = {
GNUNET_PQ_result_spec_uint64 ("charity_id",
- charity_id),
+ charity_id),
GNUNET_PQ_result_spec_end
};
@@ -70,7 +70,7 @@ DH_PG_insert_charity (
"($1, $2, $3, $4, $5, $6) "
"RETURNING charity_id;");
return GNUNET_PQ_eval_prepared_singleton_select (pg->conn,
- "insert_charity",
- params,
-
rs);
+ "insert_charity",
+ params,
+ rs);
}
diff --git a/src/donaudb/procedures.sql.in b/src/donaudb/procedures.sql.in
index b5ccc28..36c535c 100644
--- a/src/donaudb/procedures.sql.in
+++ b/src/donaudb/procedures.sql.in
@@ -1,6 +1,6 @@
--
-- This file is part of TALER
--- Copyright (C) 2014--2022 Taler Systems SA
+-- Copyright (C) 2024 Taler Systems SA
--
-- 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
diff --git a/src/donaudb/test_donaudb.c b/src/donaudb/test_donaudb.c
index 6854793..cd927ad 100644
--- a/src/donaudb/test_donaudb.c
+++ b/src/donaudb/test_donaudb.c
@@ -21,8 +21,8 @@
* @author Marcello Stanisci
*/
#include <taler/platform.h>
-#include "donaudb_lib.h"
#include <taler/taler_json_lib.h>
+#include "donaudb_lib.h"
#include "donaudb_plugin.h"
/**
@@ -76,6 +76,22 @@ run (void *cls)
{
struct GNUNET_CONFIGURATION_Handle *cfg = cls;
+ // Charity information
+ json_t *charities;
+ struct DONAU_CharityPublicKeyP charity_pub;
+ const char *charity_name;
+ const char *charity_url;
+ struct TALER_Amount max_per_year;
+ struct TALER_Amount receipts_to_date;
+ uint64_t current_year;
+ uint64_t charity_id;
+
+ // Donation unit information
+ struct DONAU_DonationUnitHashP h_donation_unit_pub;
+ struct DONAU_DonationUnitPublicKey donation_unit_pub;
+ uint64_t validity_year;
+ struct TALER_Amount du_value;
+
if (NULL ==
(plugin = DONAUDB_plugin_load (cfg)))
{
@@ -94,7 +110,66 @@ run (void *cls)
plugin->start (plugin->cls,
"test-1"));
-// TODO Add tests
+ /* test DB is empty */
+ charity_id = 1;
+ FAILIF (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS !=
+ plugin->lookup_charity (plugin->cls,
+ charity_id,
+ NULL));
+
+ /* test insert charity */
+ current_year = 2024;
+ charity_name = "charity_name";
+ charity_url = "charity_url";
+ charities = json_array ();
+ RND_BLK (&charity_pub);
+ GNUNET_assert (GNUNET_OK ==
+ TALER_string_to_amount (CURRENCY ":1.000010",
+ &max_per_year));
+ GNUNET_assert (GNUNET_OK ==
+ TALER_string_to_amount (CURRENCY ":0.000010",
+ &receipts_to_date));
+ FAILIF (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS !=
+ plugin->insert_charity (plugin->cls,
+ &charity_pub,
+ charity_name,
+ charity_url,
+ &max_per_year,
+ &receipts_to_date,
+ ¤t_year,
+ NULL));
+ /* test get charities */
+ FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT !=
+ plugin->get_charities (plugin->cls,
+ NULL,
+ charities));
+ /* test delete charity */
+ FAILIF (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS !=
+ plugin->do_charity_delete (plugin->cls,
+ charity_id));
+
+ /* test insert donation unit */
+ RND_BLK (&h_donation_unit_pub);
+ RND_BLK (&donation_unit_pub);
+ validity_year = 2024;
+ GNUNET_assert (GNUNET_OK ==
+ TALER_string_to_amount (CURRENCY ":1.000010",
+ &du_value));
+
+ FAILIF (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS !=
+ plugin->insert_donation_unit (plugin->cls,
+ &h_donation_unit_pub,
+ &donation_unit_pub,
+ validity_year,
+ &du_value));
+
+ /* test iterate donation units */
+ FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT !=
+ plugin->iterate_donation_units (plugin->cls,
+ NULL,
+ NULL));
+
+ // TODO Add more tests
drop:
if (0 != result)
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-donau] branch master updated: added some db tests,
gnunet <=