Add test for refund and tip, fix cli testing gen-*-uri

This commit is contained in:
Torsten Grote 2020-05-08 10:13:52 -03:00
parent 06aa5abcc7
commit 122574fe05
No known key found for this signature in database
GPG Key ID: 3E5F77D92CF891FF
4 changed files with 63 additions and 5 deletions

View File

@ -36,6 +36,9 @@ FORCE_AUDIT = YES
[instance-default]
KEYFILE = ${TALER_DATA_HOME}/merchant/default.priv
NAME = Merchant Inc.
TIP_EXCHANGE = http://localhost:8081/
# TODO necessary to specify a different key here?
TIP_RESERVE_PRIV_FILENAME = ${TALER_DATA_HOME}/merchant/default.priv
[auditor]
DB = postgres

24
integrationtests/test-refund.sh Executable file
View File

@ -0,0 +1,24 @@
#!/bin/bash
# Script to check that the wallet can handle refund URIs and actually process the refund
source "common.sh"
normal_start_and_wait "refund"
echo "Withdraw TESTKUDOS"
taler-wallet-cli --wallet-db="$WALLET_DB" --no-throttle testing withdraw -e "$EXCHANGE_URL" -b "$BANK_URL" -a "TESTKUDOS:10" >>"$LOG" 2>>"$LOG"
echo -n "Balance after withdrawal: "
taler-wallet-cli --wallet-db="$WALLET_DB" balance 2>>"$LOG"
REFUND_URI=$(taler-wallet-cli --wallet-db="$WALLET_DB" --no-throttle testing gen-refund-uri \
-m "$MERCHANT_URL" -k sandbox \
-s "first refund" -a "TESTKUDOS:8" -r "TESTKUDOS:2" 2>>"$LOG" | grep -E -m 1 -o "taler://refund.*insecure=1")
echo -n "Balance after payment: "
taler-wallet-cli --wallet-db="$WALLET_DB" balance 2>>"$LOG"
echo "Handling refund: $REFUND_URI"
taler-wallet-cli --wallet-db="$WALLET_DB" --no-throttle handle-uri "$REFUND_URI" 2>"$LOG"
taler-wallet-cli --wallet-db="$WALLET_DB" run-until-done 2>>"$LOG" >>"$LOG"
echo -n "Balance after first refund: "
taler-wallet-cli --wallet-db="$WALLET_DB" balance 2>>"$LOG"
# TODO how to test second refund for same purchase?
echo "SUCCESS"
exit 0

19
integrationtests/test-tip.sh Executable file
View File

@ -0,0 +1,19 @@
#!/bin/bash
# Script to check that the wallet can handle tip URIs and actually process the tips
source "common.sh"
normal_start_and_wait "tip"
# TODO fund exchange tipping reserve: 404 tipping reserve unknown at exchange
TIP_URI=$(taler-wallet-cli --wallet-db="$WALLET_DB" --no-throttle testing gen-tip-uri \
-m "$MERCHANT_URL" -k sandbox -a "TESTKUDOS:5" 2>>"$LOG" | grep -E -m 1 -o "taler://tip.*insecure=1")
echo -n "Balance after tip: "
taler-wallet-cli --wallet-db="$WALLET_DB" balance 2>>"$LOG"
echo "Handling tip: $TIP_URI"
taler-wallet-cli --wallet-db="$WALLET_DB" --no-throttle handle-uri "$TIP_URI" 2>"$LOG"
taler-wallet-cli --wallet-db="$WALLET_DB" run-until-done 2>>"$LOG" >>"$LOG"
echo -n "Balance after first tip: "
taler-wallet-cli --wallet-db="$WALLET_DB" balance 2>>"$LOG"
echo "SUCCESS"
exit 0

View File

@ -623,12 +623,18 @@ testCli
.requiredOption("amount", ["-a", "--amount"], clk.STRING, {
default: "TESTKUDOS:10",
})
.maybeOption("merchant", ["-m", "--merchant"], clk.STRING, {
default: "https://backend.test.taler.net/",
})
.maybeOption("merchantApiKey", ["-k", "--merchant-api-key"], clk.STRING, {
default: "sandbox",
})
.action(async (args) => {
const merchantBackend = new MerchantBackendConnection(
"https://backend.test.taler.net/",
"sandbox",
args.genTipUri.merchant ?? "https://backend.test.taler.net/",
args.genTipUri.merchantApiKey ?? "sandbox",
);
const tipUri = await merchantBackend.authorizeTip("TESTKUDOS:10", "test");
const tipUri = await merchantBackend.authorizeTip(args.genTipUri.amount, "test");
console.log(tipUri);
});
@ -662,11 +668,17 @@ testCli
.requiredOption("summary", ["-s", "--summary"], clk.STRING, {
default: "Test Payment (for refund)",
})
.maybeOption("merchant", ["-m", "--merchant"], clk.STRING, {
default: "https://backend.test.taler.net/",
})
.maybeOption("merchantApiKey", ["-k", "--merchant-api-key"], clk.STRING, {
default: "sandbox",
})
.action(async (args) => {
const cmdArgs = args.genRefundUri;
const merchantBackend = new MerchantBackendConnection(
"https://backend.test.taler.net/",
"sandbox",
cmdArgs.merchant ?? "https://backend.test.taler.net/",
cmdArgs.merchantApiKey ?? "sandbox",
);
const orderResp = await merchantBackend.createOrder(
cmdArgs.amount,