merchant

Merchant backend to process payments, run by merchants
Log | Files | Refs | Submodules | README | LICENSE

commit de56e2ee27253b4eeb21c8047433316df3eb4286
parent 86cb0826f0f48770752aec7f2fc755e4614f2d60
Author: Sebastian <sebasjm@gmail.com>
Date:   Thu, 21 Jul 2022 10:01:18 -0300

testing merchant restart with new token after updating the default token in the database

Diffstat:
Asrc/testing/test_merchant_instance_auth.sh | 89+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 89 insertions(+), 0 deletions(-)

diff --git a/src/testing/test_merchant_instance_auth.sh b/src/testing/test_merchant_instance_auth.sh @@ -0,0 +1,89 @@ +#!/bin/bash +# This file is part of TALER +# Copyright (C) 2014-2021 Taler Systems SA +# +# 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/> +# + +. initialize_taler_system.sh + + +echo -n "Configuring default instance ..." + +STATUS=$(curl -H "Content-Type: application/json" -X POST \ + http://localhost:9966/management/instances \ + -d '{"auth":{"method":"token","token":"new_value"},"payto_uris":["payto://x-taler-bank/localhost/43"],"id":"default","name":"default","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1", "default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_ms" : 3600000},"default_pay_delay":{"d_ms": 3600000}}' \ + -w "%{http_code}" -s -o /dev/null) + +if [ "$STATUS" != "204" ] +then + echo 'should respond ok, instance created. got:' $STATUS + exit 1 +fi + +echo " OK" + + +kill $MERCHANT_HTTPD_PID + +NEW_SECRET=different_value + +taler-merchant-httpd -a $NEW_SECRET -c $CONF -L DEBUG 2> taler-merchant-httpd.log & +MERCHANT_HTTPD_PID=$! +#taler-merchant-httpd -c $CONF -L DEBUG 2> taler-merchant-httpd.log & + +echo -n "Waiting for the merchant..." +# Wait for merchant to be available (usually the slowest) +for n in `seq 1 5` +do + echo -n "." + sleep 1 + OK=0 + # merchant + wget --waitretry=0 --timeout=1 http://localhost:9966/ -o /dev/null -O /dev/null >/dev/null || continue + OK=1 + break +done + +echo -n "Creating order to test auth is ok..." +STATUS=$(curl -v -H "Content-Type: application/json" -X POST \ + 'http://localhost:9966/instances/default/private/orders' \ + -H 'Authorization: Bearer secret-token:'$NEW_SECRET \ + -d '{"order":{"amount":"TESTKUDOS:1","summary":"payme"},"inventory_products":[{"product_id":"2","quantity":1}]}' \ + -w "%{http_code}" -s -o $LAST_RESPONSE) + +if [ "$STATUS" != "200" ] +then + echo 'should response ok, order created. got:' $STATUS #`cat $LAST_RESPONSE` + exit 1 +fi + +ORDER_ID=`jq -e -r .order_id < $LAST_RESPONSE` +TOKEN=`jq -e -r .token < $LAST_RESPONSE` + +STATUS=$(curl "http://localhost:9966/instances/default/private/orders/${ORDER_ID}" \ + -w "%{http_code}" -s -o $LAST_RESPONSE) + +if [ "$STATUS" != "200" ] +then + echo 'should response ok, getting order info before claming it. got:' $STATUS `cat $LAST_RESPONSE` + exit 1 +fi + +PAY_URL=`jq -e -r .taler_pay_uri < $LAST_RESPONSE` + +echo OK order $ORDER_ID with $TOKEN can be paid using $PAY_URL + +exit 0