aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore7
-rw-r--r--src/benchmark/benchmark.conf (renamed from src/benchmark/example.conf)74
-rw-r--r--src/benchmark/exchange_benchmark_home/.config/taler/account-2.json5
-rw-r--r--src/benchmark/exchange_benchmark_home/.local/share/taler/exchange/offline-keys/master.priv1
-rw-r--r--src/benchmark/taler-exchange-benchmark.c7
5 files changed, 63 insertions, 31 deletions
diff --git a/.gitignore b/.gitignore
index 4107ecd1e..8a10c094c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -59,8 +59,11 @@ src/exchange-tools/taler-exchange-keyup
src/exchange-tools/taler-exchange-wire
src/exchangedb/perf-exchangedb
src/benchmark/taler-exchange-benchmark
-src/benchmark/test_benchmark_home/.local/share/taler/exchange/live-keys/
-src/benchmark/test_benchmark_home/.local/share/taler/exchange/wirefees/
+src/benchmark/auditor.in
+src/benchmark/exchange_benchmark_home/.local/share/taler/exchange/live-keys/*
+src/benchmark/exchange_benchmark_home/.local/share/taler/auditors/
+src/benchmark/exchange_benchmark_home/.local/share/taler/auditor/
+src/benchmark/exchange_benchmark_home/.local/share/taler/exchange/wirefees/*
src/json/test_json
src/wire-plugins/test_ebics_wireformat
src/wire-plugins/test_wire_plugin
diff --git a/src/benchmark/example.conf b/src/benchmark/benchmark.conf
index fba749fcb..4acffd8fd 100644
--- a/src/benchmark/example.conf
+++ b/src/benchmark/benchmark.conf
@@ -1,42 +1,57 @@
-[taler]
-# Must be EUR, as refresh CMDs have hardcoded currency.
-currency = EUR
+# This file is in the public domain.
+#
[paths]
-# Apparently ignored by the bank.
-taler_run = $HOME/run
-taler_test_home = /tmp/taler_test_home
+# Persistant data storage for the testcase
+# This value is a default for `taler_config_home'
+taler_test_home = exchange_benchmark_home/
-[exchange]
-base_url = http://localhost:18080/
-serve = tcp
-port = 18080
+[taler]
+# Currency supported by the exchange (can only be one)
+currency = EUR
-# NOTE: this is the only value that cannot be
-# generated on the fly, so it must be set beforehand.
-master_public_key = VN3AZMENQAW2AWGY8SV7W9KF2ZG44GR904ADEWKT7K98FWBD0QWG
-master_priv_file = ${TALER_RUN}/exchange/priv
-db = postgres
+[exchange]
+# how long is one signkey valid?
+signkey_duration = 4 weeks
+# how long are the signatures with the signkey valid?
+legal_duration = 2 years
+# how long do we provide to clients denomination and signing keys
+# ahead of time?
+lookahead_provide = 4 weeks 1 day
+# HTTP port the exchange listens to
+port = 8081
+# Master public key used to sign the exchange's various keys
+master_public_key = 98NJW3CQHZQGQXTY3K85K531XKPAPAVV4Q5V8PYYRR00NJGZWNVG
+# How to access our database
+DB = postgres
+# Base URL of the exchange. Must be set to a URL where the
+# exchange (or the twister) is actually listening.
+base_url = "http://localhost:8081/"
+# Keep it short so the test runs fast.
lookahead_sign = 12 h
-[exchangedb]
-wirefee_base_dir = ${TALER_TEST_HOME}/exchange/wirefees/
-auditor_base_dir = ${TALER_TEST_HOME}/auditor/sigs/
-
[exchangedb-postgres]
-config = postgres:///talercheck
+config = "postgres:///talercheck"
-[account-1]
-url = payto://x-taler-bank/localhost:8080/2
-wire_response = ${TALER_TEST_HOME}/exchange/account-benchmark-2.json
+[account-2]
+# What is the bank account (with the "Taler Bank" demo system)?
+URL = "payto://x-taler-bank/localhost:8082/2"
+# This is the response we give out for the /wire request. It provides
+# wallets with the bank information for transfers to the exchange.
+wire_response = ${TALER_CONFIG_HOME}/account-2.json
+# Which wire plugin should we use to access the account?
plugin = taler_bank
-taler_bank_auth_method = basic
-username = Exchange
-password = x
-enable_debit = yes
-enable_credit = yes
+# Authentication information for basic authentication
+taler_bank_auth_method = "basic"
+username = user
+password = pass
+
+enable_debit = YES
+enable_credit = YES
[fees-x-taler-bank]
+# Fees for the forseeable future...
+# If you see this after 2017, update to match the next 10 years...
wire-fee-2018 = EUR:0.01
wire-fee-2019 = EUR:0.01
wire-fee-2020 = EUR:0.01
@@ -47,6 +62,7 @@ wire-fee-2024 = EUR:0.01
wire-fee-2025 = EUR:0.01
wire-fee-2026 = EUR:0.01
wire-fee-2027 = EUR:0.01
+
closing-fee-2018 = EUR:0.01
closing-fee-2019 = EUR:0.01
closing-fee-2020 = EUR:0.01
@@ -58,6 +74,8 @@ closing-fee-2025 = EUR:0.01
closing-fee-2026 = EUR:0.01
closing-fee-2027 = EUR:0.01
+# Sections starting with "coin_" specify which denominations
+# the exchange should support (and their respective fee structure)
[coin_eur_ct_1]
value = EUR:0.01
duration_overlap = 5 minutes
diff --git a/src/benchmark/exchange_benchmark_home/.config/taler/account-2.json b/src/benchmark/exchange_benchmark_home/.config/taler/account-2.json
new file mode 100644
index 000000000..9cc111ab7
--- /dev/null
+++ b/src/benchmark/exchange_benchmark_home/.config/taler/account-2.json
@@ -0,0 +1,5 @@
+{
+ "url": "payto://x-taler-bank/localhost:8082/2",
+ "salt": "3XRYW2ST30TZBCEZMVSQ7GR0SJKJRN8DS4FE6N9QC7A80CC24VRGATJKY6EDK1YZ2B58FF3M6M1V32V4DHRWFWHDV79PVV5B8AWE8YR",
+ "master_sig": "RBMASGA36N44QGMCZ3QJQF1RYDH23TGXYW7J0W2GSZE2GKAQ3RXM5AJTS9RQ5PPNDE7C9CMYN4874J4RV49023HBDH66SPFM2N7VJ18"
+} \ No newline at end of file
diff --git a/src/benchmark/exchange_benchmark_home/.local/share/taler/exchange/offline-keys/master.priv b/src/benchmark/exchange_benchmark_home/.local/share/taler/exchange/offline-keys/master.priv
new file mode 100644
index 000000000..394926938
--- /dev/null
+++ b/src/benchmark/exchange_benchmark_home/.local/share/taler/exchange/offline-keys/master.priv
@@ -0,0 +1 @@
+p^-33XX!\0qmU_ \ No newline at end of file
diff --git a/src/benchmark/taler-exchange-benchmark.c b/src/benchmark/taler-exchange-benchmark.c
index 96a9a7485..40526af33 100644
--- a/src/benchmark/taler-exchange-benchmark.c
+++ b/src/benchmark/taler-exchange-benchmark.c
@@ -320,6 +320,10 @@ int
main (int argc,
char *const *argv)
{
+
+ unsetenv ("XDG_DATA_HOME");
+ unsetenv ("XDG_CONFIG_HOME");
+
struct GNUNET_OS_Process *compute_wire_response;
struct GNUNET_CONFIGURATION_Handle *cfg;
struct GNUNET_GETOPT_CommandLineOption options[] = {
@@ -360,7 +364,7 @@ main (int argc,
GNUNET_GETOPT_OPTION_END
};
-
+
if (GNUNET_SYSERR == (result = GNUNET_GETOPT_run
("taler-exchange-benchmark",
options,
@@ -430,6 +434,7 @@ main (int argc,
(compute_wire_response);
GNUNET_assert
+ /* Takes care of dropping all tables. */
(GNUNET_OK == TALER_TESTING_prepare_exchange
(cfg_filename,
&exchange_url)); // never used, we do all via handle.