summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2022-07-21 10:01:18 -0300
committerSebastian <sebasjm@gmail.com>2022-07-21 10:01:18 -0300
commitde56e2ee27253b4eeb21c8047433316df3eb4286 (patch)
treec6b26a72863820345fd09b3132ab49361f06e7fb /src
parent86cb0826f0f48770752aec7f2fc755e4614f2d60 (diff)
downloadmerchant-de56e2ee27253b4eeb21c8047433316df3eb4286.tar.gz
merchant-de56e2ee27253b4eeb21c8047433316df3eb4286.tar.bz2
merchant-de56e2ee27253b4eeb21c8047433316df3eb4286.zip
testing merchant restart with new token after updating the default token in the database
Diffstat (limited to 'src')
-rwxr-xr-xsrc/testing/test_merchant_instance_auth.sh89
1 files changed, 89 insertions, 0 deletions
diff --git a/src/testing/test_merchant_instance_auth.sh b/src/testing/test_merchant_instance_auth.sh
new file mode 100755
index 00000000..45724e89
--- /dev/null
+++ 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