From b82a593dbbf5cf4332bd473e17421d230dbeeff8 Mon Sep 17 00:00:00 2001 From: Sree Harsha Totakura Date: Thu, 5 Mar 2015 15:59:22 +0100 Subject: db: Add testcase for DB layer --- src/mint/test_mint_db.c | 81 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 src/mint/test_mint_db.c (limited to 'src/mint/test_mint_db.c') diff --git a/src/mint/test_mint_db.c b/src/mint/test_mint_db.c new file mode 100644 index 000000000..4fa84eb38 --- /dev/null +++ b/src/mint/test_mint_db.c @@ -0,0 +1,81 @@ +/* + This file is part of TALER + Copyright (C) 2014, 2015 Christian Grothoff (and other contributing authors) + + 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. If not, If not, see +*/ + +/** + * @file mint/test_mint_db.c + * @brief test cases for DB interaction functions + * @author Sree Harsha Totakura + */ + +#include "platform.h" +#include "mint_db.h" + +static int result; + + +/** + * 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) +{ + PGconn *db; + + db = NULL; + if (GNUNET_OK != TALER_MINT_DB_init ("postgres:///taler")) + { + result = 1; + return; + } + if (GNUNET_OK != TALER_MINT_DB_create_tables (GNUNET_YES)) + { + result = 2; + goto drop; + } + if (NULL == (db = TALER_MINT_DB_get_connection(GNUNET_YES))) + { + result = 3; + goto drop; + } + result = 0; + drop: + if (NULL != db) + GNUNET_break (GNUNET_OK == TALER_MINT_DB_drop_temporary (db)); +} + + +int +main (int argc, char *const argv[]) +{ + static const struct GNUNET_GETOPT_CommandLineOption options[] = { + GNUNET_GETOPT_OPTION_END + }; + + result = -1; + if (GNUNET_OK != + GNUNET_PROGRAM_run (argc, argv, + "test-mint-db", + "Test cases for mint database helper functions.", + options, &run, NULL)) + return 3; + return result; +} -- cgit v1.2.3