remove obsolete old tests (#5758)

This commit is contained in:
Christian Grothoff 2019-12-14 23:17:56 +01:00
parent 05a992445e
commit cf31e54a2f
No known key found for this signature in database
GPG Key ID: 939E6BE1E29FC3CC
6 changed files with 0 additions and 1717 deletions

View File

@ -89,8 +89,6 @@ endif
endif endif
check_PROGRAMS = \ check_PROGRAMS = \
test_bank_api \
test_bank_api_with_fakebank \
test_bank_api_with_fakebank_new \ test_bank_api_with_fakebank_new \
test_bank_api_with_pybank_new test_bank_api_with_pybank_new
@ -135,28 +133,6 @@ endif
TESTS = \ TESTS = \
$(check_PROGRAMS) $(check_PROGRAMS)
test_bank_api_SOURCES = \
test_bank_interpreter.c test_bank_interpreter.h \
test_bank_api.c
test_bank_api_LDADD = \
libtalerbank.la \
libtalerfakebank.la \
$(top_builddir)/src/util/libtalerutil.la \
-lgnunetcurl \
-lgnunetutil \
-ljansson
test_bank_api_with_fakebank_SOURCES = \
test_bank_interpreter.c test_bank_interpreter.h \
test_bank_api_with_fakebank.c
test_bank_api_with_fakebank_LDADD = \
libtalerbank.la \
libtalerfakebank.la \
$(top_builddir)/src/util/libtalerutil.la \
-lgnunetcurl \
-lgnunetutil \
-ljansson
test_bank_api_with_pybank_new_SOURCES = \ test_bank_api_with_pybank_new_SOURCES = \
test_bank_api_new.c test_bank_api_new.c

View File

@ -1,230 +0,0 @@
/*
This file is part of TALER
Copyright (C) 2016, 2017, 2019 GNUnet e.V.
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, see
<http://www.gnu.org/licenses/>
*/
/**
* @file bank/test_bank_api.c
* @brief testcase to test bank's HTTP API interface
* against the "real" bank
* @author Christian Grothoff
*/
#include "platform.h"
#include "taler_util.h"
#include "taler_signatures.h"
#include "taler_bank_service.h"
#include <gnunet/gnunet_util_lib.h>
#include <gnunet/gnunet_curl_lib.h>
#include <microhttpd.h>
#include "test_bank_interpreter.h"
/**
* Main function that will be run by the scheduler.
*
* @param cls closure
*/
static void
run (void *cls)
{
int *resultp = cls;
static struct TBI_Command commands[] = {
/* Ask complete history of 'Exchange' user (number 2) */
{ .oc = TBI_OC_HISTORY,
.label = "history-0",
.details.history.account_number = 2,
.details.history.direction = TALER_BANK_DIRECTION_BOTH,
.details.history.start_row_ref = NULL,
.details.history.num_results = 5 },
/* Move money from Bank to Exchange */
{ .oc = TBI_OC_ADMIN_ADD_INCOMING,
.label = "deposit-1",
.details.admin_add_incoming.exchange_base_url = "https://exchange.net/", /* bogus */
.details.admin_add_incoming.subject = "subject 1",
.details.admin_add_incoming.expected_response_code = MHD_HTTP_OK,
.details.admin_add_incoming.credit_account_no = 2,
.details.admin_add_incoming.debit_account_no = 1,
.details.admin_add_incoming.amount = "KUDOS:5.01" },
/* Move money from Bank to Exchange */
{ .oc = TBI_OC_ADMIN_ADD_INCOMING,
.label = "deposit-2",
.details.admin_add_incoming.exchange_base_url = "https://exchange.net/", /* bogus */
.details.admin_add_incoming.subject = "subject 2",
.details.admin_add_incoming.expected_response_code = MHD_HTTP_OK,
.details.admin_add_incoming.credit_account_no = 2,
.details.admin_add_incoming.debit_account_no = 1,
.details.admin_add_incoming.amount = "KUDOS:5.01" },
/* Ask Exchange's incoming history */
{ .oc = TBI_OC_HISTORY,
.label = "history-1c",
.details.history.account_number = 2,
.details.history.direction = TALER_BANK_DIRECTION_CREDIT,
.details.history.start_row_ref = NULL,
.details.history.num_results = 5 },
/* Ask Exchange's outgoing history, 5 records into the future */
{ .oc = TBI_OC_HISTORY,
.label = "history-2d",
.details.history.account_number = 2,
.details.history.direction = TALER_BANK_DIRECTION_DEBIT,
.details.history.start_row_ref = NULL,
.details.history.num_results = 5 },
/* Ask Exchange's outgoing history, last 5 records */
{ .oc = TBI_OC_HISTORY,
.label = "history-2dr",
.details.history.account_number = 2,
.details.history.direction = TALER_BANK_DIRECTION_DEBIT,
.details.history.start_row_ref = NULL,
.details.history.num_results = 5 },
{ .oc = TBI_OC_HISTORY,
.label = "history-2fwd",
.details.history.account_number = 2,
.details.history.direction = TALER_BANK_DIRECTION_DEBIT,
.details.history.start_row_ref = "deposit-1",
.details.history.num_results = 5 },
{ .oc = TBI_OC_REJECT,
.label = "reject-1",
.details.reject.cmd_ref = "deposit-1" },
{ .oc = TBI_OC_HISTORY,
.label = "history-r1",
.details.history.account_number = 2,
.details.history.direction = TALER_BANK_DIRECTION_CREDIT,
.details.history.start_row_ref = NULL,
.details.history.num_results = 5 },
{ .oc = TBI_OC_HISTORY,
.label = "history-r2",
.details.history.account_number = 2,
.details.history.direction = TALER_BANK_DIRECTION_DEBIT,
.details.history.start_row_ref = NULL,
.details.history.num_results = 5 },
{ .oc = TBI_OC_HISTORY,
.label = "history-r3",
.details.history.account_number = 2,
.details.history.direction = TALER_BANK_DIRECTION_BOTH
| TALER_BANK_DIRECTION_CANCEL,
.details.history.start_row_ref = NULL,
.details.history.num_results = 5 },
{ .oc = TBI_OC_END }
};
TBI_run_interpreter (resultp,
GNUNET_NO /* we use the "real" taler bank */,
commands);
}
/**
* Main function for the testcase for the bank API.
*
* @param argc expected to be 1
* @param argv expected to only contain the program name
*/
int
main (int argc,
char *const *argv)
{
struct GNUNET_OS_Process *bankd;
unsigned int cnt;
int result;
char *defaultdb = "postgres:///talercheck";
char *dbconn;
if (GNUNET_OK !=
GNUNET_NETWORK_test_port_free (IPPROTO_TCP,
8081))
{
fprintf (stderr,
"Required port %u not available, skipping.\n",
8081);
return 77;
}
GNUNET_log_setup ("test-bank-api",
"WARNING",
NULL);
if (NULL == (dbconn = getenv ("TALER_EXCHANGEDB_POSTGRES_CONFIG")))
dbconn = defaultdb;
{
char *purgedb_cmd;
GNUNET_asprintf (&purgedb_cmd,
"taler-bank-manage -c bank.conf --with-db=%s django flush --no-input",
dbconn);
if (0 != system (purgedb_cmd))
{
fprintf (stderr,
"Could not purge database\n");
GNUNET_free (purgedb_cmd);
return 77;
}
GNUNET_free (purgedb_cmd);
}
bankd = GNUNET_OS_start_process (GNUNET_NO,
GNUNET_OS_INHERIT_STD_ALL,
NULL, NULL, NULL,
"taler-bank-manage",
"taler-bank-manage",
"--with-db", dbconn,
"-c", "bank.conf",
"serve-http",
"--port", "8080",
NULL);
if (NULL == bankd)
{
fprintf (stderr,
"Failed to launch taler-bank-manage, skipping test\n");
return 77; /* report 'skip' */
}
/* give child time to start and bind against the socket */
fprintf (stderr,
"Waiting for taler-bank-manage to be ready\n");
cnt = 0;
do
{
fprintf (stderr, ".");
sleep (1);
cnt++;
if (cnt > 30)
break;
}
while (0 != system (
"wget -q -t 1 -T 1 http://127.0.0.1:8080/ -o /dev/null -O /dev/null"));
fprintf (stderr, "\n");
result = GNUNET_SYSERR;
if (cnt <= 30)
{
fprintf (stderr,
"Ready, running test...\n");
GNUNET_SCHEDULER_run (&run, &result);
}
GNUNET_OS_process_kill (bankd,
SIGTERM);
GNUNET_OS_process_wait (bankd);
GNUNET_OS_process_destroy (bankd);
if (cnt > 30)
{
fprintf (stderr,
"taler-bank-manage failed to start properly.\n");
return 77;
}
return (GNUNET_OK == result) ? 0 : 1;
}
/* end of test_bank_api.c */

View File

@ -33,7 +33,6 @@
#include <gnunet/gnunet_util_lib.h> #include <gnunet/gnunet_util_lib.h>
#include <gnunet/gnunet_curl_lib.h> #include <gnunet/gnunet_curl_lib.h>
#include <microhttpd.h> #include <microhttpd.h>
#include "test_bank_interpreter.h"
#include "taler_testing_lib.h" #include "taler_testing_lib.h"
#include "taler_testing_bank_lib.h" #include "taler_testing_bank_lib.h"

View File

@ -1,175 +0,0 @@
/*
This file is part of TALER
Copyright (C) 2016, 2017 GNUnet e.V.
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, see <http://www.gnu.org/licenses/>
*/
/**
* @file bank/test_bank_api_with_fakebank.c
* @brief testcase to test bank's HTTP API interface against the fakebank
* @author Christian Grothoff
*/
#include "platform.h"
#include "taler_util.h"
#include "taler_signatures.h"
#include "taler_bank_service.h"
#include <gnunet/gnunet_util_lib.h>
#include <gnunet/gnunet_curl_lib.h>
#include <microhttpd.h>
#include "test_bank_interpreter.h"
/**
* Main function that will be run by the scheduler.
*
* @param cls closure
*/
static void
run (void *cls)
{
int *resultp = cls;
static struct TBI_Command commands[] = {
{ .oc = TBI_OC_HISTORY,
.label = "history-0",
.details.history.account_number = 1,
.details.history.direction = TALER_BANK_DIRECTION_BOTH,
.details.history.start_row_ref = NULL,
.details.history.num_results = 1 },
/* Add EUR:5.01 to account 1 */
{ .oc = TBI_OC_ADMIN_ADD_INCOMING,
.label = "debit-1",
.details.admin_add_incoming.subject = "subject 1",
.details.admin_add_incoming.expected_response_code = MHD_HTTP_OK,
.details.admin_add_incoming.credit_account_no = 1,
.details.admin_add_incoming.debit_account_no = 2,
.details.admin_add_incoming.exchange_base_url = "https://exchange.net/",
.details.admin_add_incoming.amount = "KUDOS:5.01" },
/* Add EUR:3.21 to account 3 */
{ .oc = TBI_OC_HISTORY,
.label = "history-1c",
.details.history.account_number = 1,
.details.history.direction = TALER_BANK_DIRECTION_CREDIT,
.details.history.start_row_ref = NULL,
.details.history.num_results = 5 },
{ .oc = TBI_OC_HISTORY,
.label = "history-1d",
.details.history.account_number = 1,
.details.history.direction = TALER_BANK_DIRECTION_DEBIT,
.details.history.start_row_ref = NULL,
.details.history.num_results = 5 },
{ .oc = TBI_OC_ADMIN_ADD_INCOMING,
.label = "debit-2",
.details.admin_add_incoming.subject = "subject 2",
.details.admin_add_incoming.expected_response_code = MHD_HTTP_OK,
.details.admin_add_incoming.credit_account_no = 3,
.details.admin_add_incoming.debit_account_no = 2,
.details.admin_add_incoming.exchange_base_url = "https://exchange.org/",
.details.admin_add_incoming.amount = "KUDOS:3.21" },
{ .oc = TBI_OC_ADMIN_ADD_INCOMING,
.label = "credit-2",
.details.admin_add_incoming.subject = "credit 2",
.details.admin_add_incoming.expected_response_code = MHD_HTTP_OK,
.details.admin_add_incoming.credit_account_no = 2,
.details.admin_add_incoming.debit_account_no = 3,
.details.admin_add_incoming.exchange_base_url = "https://exchange.org/",
.details.admin_add_incoming.amount = "KUDOS:3.22" },
{ .oc = TBI_OC_HISTORY,
.label = "history-2b",
.details.history.account_number = 2,
.details.history.direction = TALER_BANK_DIRECTION_BOTH,
.details.history.start_row_ref = NULL,
.details.history.num_results = 5 },
{ .oc = TBI_OC_HISTORY,
.label = "history-2bi",
.details.history.account_number = 2,
.details.history.direction = TALER_BANK_DIRECTION_BOTH,
.details.history.start_row_ref = "debit-1",
.details.history.num_results = 5,
.details.history.ascending = GNUNET_YES},
/* check transfers arrived at fakebank */
{ .oc = TBI_OC_EXPECT_TRANSFER,
.label = "expect-2d",
.details.expect_transfer.cmd_ref = "credit-2" },
{ .oc = TBI_OC_EXPECT_TRANSFER,
.label = "expect-2c",
.details.expect_transfer.cmd_ref = "debit-2" },
{ .oc = TBI_OC_EXPECT_TRANSFER,
.label = "expect-1",
.details.expect_transfer.cmd_ref = "debit-1" },
/* check transfer list is now empty */
{ .oc = TBI_OC_EXPECT_TRANSFERS_EMPTY,
.label = "expect-empty" },
/* Add EUR:5.01 to account 1 */
{ .oc = TBI_OC_ADMIN_ADD_INCOMING,
.label = "credit-for-reject-1",
.details.admin_add_incoming.subject = "subject 3",
.details.admin_add_incoming.expected_response_code = MHD_HTTP_OK,
.details.admin_add_incoming.credit_account_no = 2,
.details.admin_add_incoming.debit_account_no = 1,
.details.admin_add_incoming.exchange_base_url = "https://exchange.net/",
.details.admin_add_incoming.amount = "KUDOS:5.01" },
{ .oc = TBI_OC_REJECT,
.label = "reject-1",
.details.reject.cmd_ref = "credit-for-reject-1" },
{ .oc = TBI_OC_HISTORY,
.label = "history-r1",
.details.history.account_number = 1,
.details.history.direction = TALER_BANK_DIRECTION_BOTH,
/* range is exclusive, and everything up to and including "credit-2"
was already killed via TBI_OC_EXPECT_TRANSFER and thus won't show
in the history. So to see the rejected transfer, we need to start
looking after "credit-2" */
.details.history.start_row_ref = NULL,
.details.history.num_results = 5 },
{ .oc = TBI_OC_HISTORY,
.label = "history-r1c",
.details.history.account_number = 1,
.details.history.direction = TALER_BANK_DIRECTION_BOTH
| TALER_BANK_DIRECTION_CANCEL,
.details.history.start_row_ref = NULL,
.details.history.num_results = 5 },
{ .oc = TBI_OC_EXPECT_TRANSFER,
.label = "expect-credit-reject-1",
.details.expect_transfer.cmd_ref = "credit-for-reject-1" },
/* check transfer list is now empty */
{ .oc = TBI_OC_EXPECT_TRANSFERS_EMPTY,
.label = "expect-empty-2" },
{ .oc = TBI_OC_END }
};
TBI_run_interpreter (resultp,
GNUNET_YES,
commands);
}
/**
* Main function for the testcase for the bank API.
*
* @param argc expected to be 1
* @param argv expected to only contain the program name
*/
int
main (int argc,
char *const *argv)
{
int result;
GNUNET_log_setup ("test-bank-api-with-fakebank",
"WARNING",
NULL);
GNUNET_SCHEDULER_run (&run, &result);
return (GNUNET_OK == result) ? 0 : 1;
}
/* end of test_bank_api_with_fakebank.c */

File diff suppressed because it is too large Load Diff

View File

@ -1,236 +0,0 @@
/*
This file is part of TALER
Copyright (C) 2016, 2017 GNUnet e.V.
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, see <http://www.gnu.org/licenses/>
*/
/**
* @file bank/test_bank_interpreter.h
* @brief interpreter for tests of the bank's HTTP API interface
* @author Christian Grothoff
*/
#ifndef TEST_BANK_INTERPRETER_H
#define TEST_BANK_INTERPRETER_H
#include "taler_util.h"
#include "taler_signatures.h"
#include "taler_bank_service.h"
#include <gnunet/gnunet_util_lib.h>
#include <gnunet/gnunet_curl_lib.h>
#include <microhttpd.h>
/**
* Opcodes for the interpreter.
*/
enum TBI_OpCode
{
/**
* Termination code, stops the interpreter loop (with success).
*/
TBI_OC_END = 0,
/**
* Add funds to a reserve by (faking) incoming wire transfer.
*/
TBI_OC_ADMIN_ADD_INCOMING,
/**
* Request wire transfer history.
*/
TBI_OC_HISTORY,
/**
* Expect that we have received the specified transfer at fakebank.
*/
TBI_OC_EXPECT_TRANSFER,
/**
* Expect that we have exhaustively gone over all transfers at fakebank.
*/
TBI_OC_EXPECT_TRANSFERS_EMPTY,
/**
* Reject incoming transfer.
*/
TBI_OC_REJECT
};
/**
* Details for a bank operation to execute.
*/
struct TBI_Command
{
/**
* Opcode of the command.
*/
enum TBI_OpCode oc;
/**
* Label for the command, can be NULL.
*/
const char *label;
/**
* Details about the command.
*/
union
{
/**
* Information for a #TBI_OC_ADMIN_ADD_INCOMING command.
*/
struct
{
/**
* String describing the amount to add to the reserve.
*/
const char *amount;
/**
* Credited account number.
*/
uint64_t credit_account_no;
/**
* Debited account number.
*/
uint64_t debit_account_no;
/**
* Exchange base URL to use.
*/
const char *exchange_base_url;
/**
* Wire transfer subject to use.
*/
const char *subject;
/**
* Which response code do we expect for this command?
*/
unsigned int expected_response_code;
/**
* Set to the API's handle during the operation.
*/
struct TALER_BANK_AdminAddIncomingHandle *aih;
/**
* The serial ID for this record, as returned by the bank.
*/
uint64_t row_id;
} admin_add_incoming;
struct
{
/**
* For which account do we query the history.
*/
uint64_t account_number;
/**
* Which types of transactions should be listed?
*/
enum TALER_BANK_Direction direction;
/**
* At which serial ID do we start? References the respective @e
* admin_add_incoming command. Use NULL for the extremes.
*/
const char *start_row_ref;
/**
* How many results should be returned (if available)?
*/
int64_t num_results;
/**
* Set to the API's handle during the operation.
*/
struct TALER_BANK_HistoryHandle *hh;
/**
* How many results did we actually get?
*/
uint64_t results_obtained;
/**
* Set to #GNUNET_YES if we encountered a problem.
*/
int failed;
/**
* if true, the history elements will be asked in
* chronological order.
*/
unsigned int ascending;
} history;
/**
* If @e opcode is #TBI_OC_EXPECT_TRANSFER, this
* specifies which transfer we expected.
*/
struct
{
/**
* Label of the command of an /admin/add/incoming
* request that we should check was executed.
*/
const char *cmd_ref;
} expect_transfer;
/**
* Execute /reject operation.
*/
struct
{
/**
* Reference to the matching transfer that is now to be rejected.
*/
const char *cmd_ref;
/**
* Set to the API's handle during the operation.
*/
struct TALER_BANK_RejectHandle *rh;
} reject;
} details;
};
/**
* Entry point to the interpeter.
*
* @param resultp where to store the final result
* @param run_bank #GNUNET_YES to run the fakebank
* @param commands list of commands to run
*/
void
TBI_run_interpreter (int *resultp,
int run_bank,
struct TBI_Command *commands);
#endif