logic to create database for auditor test
This commit is contained in:
parent
c17d82e9b4
commit
cd705a4df2
@ -37,3 +37,7 @@ EXTRA_DIST = \
|
||||
test_benchmark_home/.local/share/taler/exchange/offline-keys/master.priv \
|
||||
test_benchmark_home/.config/taler/test.json \
|
||||
test_benchmark_home/.config/taler/sepa.json
|
||||
generate-auditor-basedb.sh \
|
||||
generate-auditor-basedb.conf \
|
||||
generate-auditor-basedb-template.conf \
|
||||
auditor-basedb.sql
|
||||
|
4300
src/benchmark/auditor-basedb.sql
Normal file
4300
src/benchmark/auditor-basedb.sql
Normal file
File diff suppressed because it is too large
Load Diff
1
src/benchmark/generate-auditor-basedb-template.conf
Normal file
1
src/benchmark/generate-auditor-basedb-template.conf
Normal file
@ -0,0 +1 @@
|
||||
@INLINE@ generate-auditor-basedb.conf
|
219
src/benchmark/generate-auditor-basedb.conf
Normal file
219
src/benchmark/generate-auditor-basedb.conf
Normal file
@ -0,0 +1,219 @@
|
||||
[exchange]
|
||||
KEYDIR = ${TALER_DATA_HOME}/exchange/live-keys/
|
||||
REVOCATION_DIR = ${TALER_DATA_HOME}/exchange/revocations/
|
||||
MAX_KEYS_CACHING = forever
|
||||
DB = postgres
|
||||
MASTER_PRIV_FILE = ${TALER_DATA_HOME}/exchange/offline-keys/master.priv
|
||||
SERVE = tcp
|
||||
UNIXPATH = ${TALER_RUNTIME_DIR}/exchange.http
|
||||
UNIXPATH_MODE = 660
|
||||
PORT = 8081
|
||||
BASE_URL = http://localhost:8081/
|
||||
SIGNKEY_DURATION = 4 weeks
|
||||
LEGAL_DURATION = 2 years
|
||||
LOOKAHEAD_SIGN = 32 weeks 1 day
|
||||
LOOKAHEAD_PROVIDE = 4 weeks 1 day
|
||||
|
||||
[merchant]
|
||||
SERVE = tcp
|
||||
PORT = 9966
|
||||
UNIXPATH = ${TALER_RUNTIME_DIR}/merchant.http
|
||||
UNIXPATH_MODE = 660
|
||||
DEFAULT_WIRE_FEE_AMORTIZATION = 1
|
||||
DB = postgres
|
||||
WIREFORMAT = default
|
||||
WIRE_TRANSFER_DELAY = 3 week
|
||||
DEFAULT_PAY_DEADLINE = 1 day
|
||||
DEFAULT_MAX_DEPOSIT_FEE = TESTKUDOS:0.1
|
||||
KEYFILE = ${TALER_DATA_HOME}/merchant/merchant.priv
|
||||
DEFAULT_MAX_WIRE_FEE = TESTKUDOS:0.10
|
||||
|
||||
[instance-default]
|
||||
KEYFILE = ${TALER_DATA_HOME}/merchant/default.priv
|
||||
NAME = Merchant Inc.
|
||||
|
||||
[auditor]
|
||||
DB = postgres
|
||||
AUDITOR_PRIV_FILE = ${TALER_DATA_HOME}/auditor/offline-keys/auditor.priv
|
||||
SERVE = tcp
|
||||
UNIXPATH = ${TALER_RUNTIME_DIR}/exchange.http
|
||||
UNIXPATH_MODE = 660
|
||||
PORT = 8082
|
||||
|
||||
[PATHS]
|
||||
TALER_HOME = ${PWD}/generate_auditordb_home/
|
||||
TALER_DATA_HOME = ${XDG_DATA_HOME:-$TALER_HOME/.local/share}/taler/
|
||||
TALER_CONFIG_HOME = ${XDG_CONFIG_HOME:-$TALER_HOME/.config}/taler/
|
||||
TALER_CACHE_HOME = ${XDG_CACHE_HOME:-$TALER_HOME/.cache}/taler/
|
||||
TALER_RUNTIME_DIR = ${TMPDIR:-${TMP:-/tmp}}/taler-system-runtime/
|
||||
DEFAULTCONFIG = /home/grothoff/research/taler/exchange/src/benchmark/generate-auditor-basedb.conf
|
||||
|
||||
[bank]
|
||||
DATABASE = postgres:///talerbank
|
||||
MAX_DEBT = KUDOS:50.0
|
||||
MAX_DEBT_BANK = KUDOS:0.0
|
||||
|
||||
[exchangedb]
|
||||
AUDITOR_BASE_DIR = ${TALER_DATA_HOME}/auditors/
|
||||
WIREFEE_BASE_DIR = ${TALER_DATA_HOME}/exchange/wirefees/
|
||||
IDLE_RESERVE_EXPIRATION_TIME = 4 weeks
|
||||
LEGAL_RESERVE_EXPIRATION_TIME = 7 years
|
||||
|
||||
[exchange_keys]
|
||||
signkey_duration = 4 weeks
|
||||
legal_duration = 2 years
|
||||
lookahead_sign = 32 weeks 1 day
|
||||
lookahead_provide = 4 weeks 1 day
|
||||
|
||||
[taler]
|
||||
CURRENCY = TESTKUDOS
|
||||
|
||||
[account-1]
|
||||
WIRE_RESPONSE = ${TALER_DATA_HOME}/exchange/account-1.json
|
||||
url = payto://x-taler-bank/bank.test.taler.net/2
|
||||
plugin = taler_bank
|
||||
enable_debit = yes
|
||||
enable_credit = yes
|
||||
TALER_BANK_AUTH_METHOD = basic
|
||||
USERNAME = Exchange
|
||||
PASSWORD = x
|
||||
|
||||
[account-merchant]
|
||||
URL = payto://x-taler-bank/bank.test.taler.net:8082/3
|
||||
WIRE_RESPONSE = ${TALER_CONFIG_HOME}/merchant/account-3.json
|
||||
PLUGIN = taler_bank
|
||||
TALER_BANK_AUTH_METHOD = basic
|
||||
USERNAME = user
|
||||
PASSWORD = pass
|
||||
HONOR_default = YES
|
||||
ACTIVE_default = YES
|
||||
|
||||
[fees-x-taler-bank]
|
||||
wire-fee-2019 = TESTKUDOS:0.01
|
||||
closing-fee-2019 = TESTKUDOS:0.01
|
||||
wire-fee-2020 = TESTKUDOS:0.01
|
||||
closing-fee-2020 = TESTKUDOS:0.01
|
||||
wire-fee-2021 = TESTKUDOS:0.01
|
||||
closing-fee-2021 = TESTKUDOS:0.01
|
||||
wire-fee-2022 = TESTKUDOS:0.01
|
||||
closing-fee-2022 = TESTKUDOS:0.01
|
||||
|
||||
[merchant-instance-wireformat-default]
|
||||
TEST_RESPONSE_FILE = ${TALER_CONFIG_HOME}/merchant/wire/tutorial.json
|
||||
|
||||
[exchange-default]
|
||||
BASE_URL = http://localhost:8081/
|
||||
CURRENCY = TESTKUDOS
|
||||
|
||||
[payments-generator]
|
||||
currency = TESTKUDOS
|
||||
instance = default
|
||||
bank = http://localhost:8082/
|
||||
merchant = http://localhost:9966/
|
||||
exchange_admin = http://localhost:18080/
|
||||
exchange-admin = http://localhost:18080/
|
||||
exchange = http://localhost:8081/
|
||||
|
||||
[coin_kudos_ct_1]
|
||||
value = TESTKUDOS:0.01
|
||||
duration_overlap = 5 minutes
|
||||
duration_withdraw = 7 days
|
||||
duration_spend = 2 years
|
||||
duration_legal = 3 years
|
||||
fee_withdraw = TESTKUDOS:0.00
|
||||
fee_deposit = TESTKUDOS:0.00
|
||||
fee_refresh = TESTKUDOS:0.01
|
||||
fee_refund = TESTKUDOS:0.01
|
||||
rsa_keysize = 1024
|
||||
|
||||
[coin_kudos_ct_10]
|
||||
value = TESTKUDOS:0.10
|
||||
duration_overlap = 5 minutes
|
||||
duration_withdraw = 7 days
|
||||
duration_spend = 2 years
|
||||
duration_legal = 3 years
|
||||
fee_withdraw = TESTKUDOS:0.01
|
||||
fee_deposit = TESTKUDOS:0.01
|
||||
fee_refresh = TESTKUDOS:0.03
|
||||
fee_refund = TESTKUDOS:0.01
|
||||
rsa_keysize = 1024
|
||||
|
||||
[coin_kudos_1]
|
||||
value = TESTKUDOS:1
|
||||
duration_overlap = 5 minutes
|
||||
duration_withdraw = 7 days
|
||||
duration_spend = 2 years
|
||||
duration_legal = 3 years
|
||||
fee_withdraw = TESTKUDOS:0.00
|
||||
fee_deposit = TESTKUDOS:0.00
|
||||
fee_refresh = TESTKUDOS:0.00
|
||||
fee_refund = TESTKUDOS:0.00
|
||||
rsa_keysize = 1024
|
||||
|
||||
[coin_kudos_2]
|
||||
value = TESTKUDOS:2
|
||||
duration_overlap = 5 minutes
|
||||
duration_withdraw = 7 days
|
||||
duration_spend = 2 years
|
||||
duration_legal = 3 years
|
||||
fee_withdraw = TESTKUDOS:0.00
|
||||
fee_deposit = TESTKUDOS:0.00
|
||||
fee_refresh = TESTKUDOS:0.00
|
||||
fee_refund = TESTKUDOS:0.00
|
||||
rsa_keysize = 1024
|
||||
|
||||
[coin_kudos_4]
|
||||
value = TESTKUDOS:4
|
||||
duration_overlap = 5 minutes
|
||||
duration_withdraw = 7 days
|
||||
duration_spend = 2 years
|
||||
duration_legal = 3 years
|
||||
fee_withdraw = TESTKUDOS:0.00
|
||||
fee_deposit = TESTKUDOS:0.00
|
||||
fee_refresh = TESTKUDOS:0.00
|
||||
fee_refund = TESTKUDOS:0.00
|
||||
rsa_keysize = 1024
|
||||
|
||||
[coin_kudos_5]
|
||||
value = TESTKUDOS:5
|
||||
duration_overlap = 5 minutes
|
||||
duration_withdraw = 7 days
|
||||
duration_spend = 2 years
|
||||
duration_legal = 3 years
|
||||
fee_withdraw = TESTKUDOS:0.01
|
||||
fee_deposit = TESTKUDOS:0.01
|
||||
fee_refresh = TESTKUDOS:0.03
|
||||
fee_refund = TESTKUDOS:0.01
|
||||
rsa_keysize = 1024
|
||||
|
||||
[coin_kudos_8]
|
||||
value = TESTKUDOS:8
|
||||
duration_overlap = 5 minutes
|
||||
duration_withdraw = 7 days
|
||||
duration_spend = 2 years
|
||||
duration_legal = 3 years
|
||||
fee_withdraw = TESTKUDOS:0.00
|
||||
fee_deposit = TESTKUDOS:0.00
|
||||
fee_refresh = TESTKUDOS:0.00
|
||||
fee_refund = TESTKUDOS:0.00
|
||||
rsa_keysize = 1024
|
||||
|
||||
[coin_kudos_10]
|
||||
value = TESTKUDOS:10
|
||||
duration_overlap = 5 minutes
|
||||
duration_withdraw = 7 days
|
||||
duration_spend = 2 years
|
||||
duration_legal = 3 years
|
||||
fee_withdraw = TESTKUDOS:0.01
|
||||
fee_deposit = TESTKUDOS:0.01
|
||||
fee_refresh = TESTKUDOS:0.03
|
||||
fee_refund = TESTKUDOS:0.01
|
||||
rsa_keysize = 1024
|
||||
|
||||
[benchmark]
|
||||
BANK_DETAILS = bank_details.json
|
||||
MERCHANT_DETAILS = merchant_details.json
|
||||
|
||||
[arm]
|
||||
CONFIG = /home/grothoff/research/taler/exchange/src/benchmark/generate-auditor-basedb.conf
|
||||
|
88
src/benchmark/generate-auditor-basedb.sh
Executable file
88
src/benchmark/generate-auditor-basedb.sh
Executable file
@ -0,0 +1,88 @@
|
||||
#!/bin/bash
|
||||
# Script to generate the basic database for auditor
|
||||
# testing from a 'correct' interaction between exchange,
|
||||
# wallet and merchant. Creates 'auditor-basedb.sql'.
|
||||
#
|
||||
# Currently must be run online as it interacts with
|
||||
# bank.test.taler.net; also requires the wallet CLI
|
||||
# to be installed and in the path. Furthermore, the
|
||||
# user running this script must be Postgres superuser
|
||||
# and be allowed to create/drop databases.
|
||||
#
|
||||
set -eu
|
||||
|
||||
# Configuation file will be edited, so we create one
|
||||
# from the template.
|
||||
CONF=generate-auditor-basedb-prod.conf
|
||||
cp generate-auditor-basedb-template.conf $CONF
|
||||
|
||||
# Name of the Postgres database we will use for the script.
|
||||
# Will be dropped, do NOT use anything that might be used
|
||||
# elsewhere
|
||||
TARGET_DB=taler-auditor-basedb
|
||||
|
||||
# Clean up
|
||||
DATA_DIR=`taler-config -f -c $CONF -s PATHS -o TALER_HOME`
|
||||
rm -rf $DATA_DIR || true
|
||||
|
||||
# reset database
|
||||
dropdb $TARGET_DB || true
|
||||
createdb $TARGET_DB
|
||||
|
||||
# obtain key configuration data
|
||||
MASTER_PRIV_FILE=`taler-config -f -c $CONF -s EXCHANGE -o MASTER_PRIV_FILE`
|
||||
MASTER_PRIV_DIR=`dirname $MASTER_PRIV_FILE`
|
||||
mkdir -p $MASTER_PRIV_DIR
|
||||
gnunet-ecc -g1 $MASTER_PRIV_FILE > /dev/null
|
||||
MASTER_PUB=`gnunet-ecc -p $MASTER_PRIV_FILE`
|
||||
EXCHANGE_URL=`taler-config -c $CONF -s EXCHANGE -o BASE_URL`
|
||||
MERCHANT_PORT=`taler-config -c $CONF -s MERCHANT -o PORT`
|
||||
MERCHANT_URL=http://localhost:${MERCHANT_PORT}/
|
||||
AUDITOR_URL=http://localhost:8888/
|
||||
|
||||
# patch configuration
|
||||
taler-config -c $CONF -s EXCHANGE -o MASTER_PUBLIC_KEY -V $MASTER_PUB
|
||||
taler-config -c $CONF -s EXCHANGE-DEFAULT -o MASTER_KEY -V $MASTER_PUB
|
||||
taler-config -c $CONF -s exchangedb-postgres -o CONFIG -V postgres:///$TARGET_DB
|
||||
taler-config -c $CONF -s auditordb-postgres -o CONFIG -V postgres:///$TARGET_DB
|
||||
taler-config -c $CONF -s merchantdb-postgres -o CONFIG -V postgres:///$TARGET_DB
|
||||
|
||||
# setup exchange
|
||||
echo "Setting up exchange"
|
||||
taler-exchange-dbinit -c $CONF
|
||||
taler-exchange-wire -c $CONF
|
||||
taler-exchange-keyup -c $CONF -o e2a.dat
|
||||
|
||||
# setup auditor
|
||||
echo "Setting up auditor"
|
||||
taler-auditor-dbinit -c $CONF
|
||||
taler-auditor-exchange -c $CONF -m $MASTER_PUB -u $EXCHANGE_URL
|
||||
taler-auditor-sign -c $CONF -u $AUDITOR_URL -r e2a.dat -o a2e.dat -m $MASTER_PUB
|
||||
|
||||
# Check we have network
|
||||
echo "Testing network"
|
||||
ping -c1 bank.test.taler.net
|
||||
|
||||
# Launch services
|
||||
echo "Launching services"
|
||||
taler-exchange-httpd -c $CONF &
|
||||
taler-merchant-httpd -c $CONF &
|
||||
taler-exchange-wirewatch -c $CONF &
|
||||
|
||||
# run wallet CLI
|
||||
echo "Running wallet"
|
||||
taler-wallet-cli integrationtest -e $EXCHANGE_URL -m $MERCHANT_URL
|
||||
|
||||
echo "Shutting down services"
|
||||
kill `jobs -p`
|
||||
|
||||
# Dump database
|
||||
echo "Dumping database"
|
||||
pg_dump $TARGET_DB > auditor-basedb.sql
|
||||
|
||||
# clean up
|
||||
echo "Final clean up"
|
||||
dropdb $TARGET_DB
|
||||
rm -f e2a.dat a2e.dat
|
||||
rm -rf $DATA_DIR || true
|
||||
rm $CONF
|
Loading…
Reference in New Issue
Block a user