[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-merchant] branch master updated: test order creation
From: |
gnunet |
Subject: |
[taler-merchant] branch master updated: test order creation |
Date: |
Wed, 14 Apr 2021 00:02:34 +0200 |
This is an automated email from the git hooks/post-receive script.
sebasjm pushed a commit to branch master
in repository merchant.
The following commit(s) were added to refs/heads/master by this push:
new c015c0ed test order creation
c015c0ed is described below
commit c015c0ed43a4b928997e6872587a182d49c62113
Author: Sebastian <sebasjm@gmail.com>
AuthorDate: Tue Apr 13 19:02:21 2021 -0300
test order creation
---
src/testing/initialize_taler_system.sh | 3 +-
src/testing/test_merchant_order_creation.sh | 114 ++++++++++++++++++++++++++++
2 files changed, 116 insertions(+), 1 deletion(-)
diff --git a/src/testing/initialize_taler_system.sh
b/src/testing/initialize_taler_system.sh
index 73b4b918..21f1e208 100755
--- a/src/testing/initialize_taler_system.sh
+++ b/src/testing/initialize_taler_system.sh
@@ -26,7 +26,7 @@ function cleanup()
do
kill $n 2> /dev/null || true
done
- rm -rf $CONF $WALLET_DB $TMP_DIR
+ rm -rf $CONF $WALLET_DB $TMP_DIR $LAST_RESPONSE
wait
}
@@ -37,6 +37,7 @@ cp test_template.conf $CONF
TMP_DIR=`mktemp -d keys-tmp-XXXXXX`
WALLET_DB=`mktemp test_walletXXXXXX.json`
+LAST_RESPONSE=`mktemp test_responseXXXXXX.conf`
# Install cleanup handler (except for kill -9)
trap cleanup EXIT
diff --git a/src/testing/test_merchant_order_creation.sh
b/src/testing/test_merchant_order_creation.sh
new file mode 100755
index 00000000..ddf949aa
--- /dev/null
+++ b/src/testing/test_merchant_order_creation.sh
@@ -0,0 +1,114 @@
+#!/bin/bash
+# This file is in the public domain.
+
+. initialize_taler_system.sh
+
+echo -n "Configuring merchant instance ..."
+STATUS=$(curl -H "Content-Type: application/json" -X POST \
+ -H 'Authorization: Bearer secret-token:super_secret' \
+ http://localhost:9966/private/instances \
+ -d
'{"auth":{"method":"external"},"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
+
+
+STATUS=$(curl 'http://localhost:9966/instances/default/private/products' \
+ -d '{"product_id":"2","description":"product with id 2 and price
:15","price":"TESTKUDOS:15","total_stock":2,"description_i18n":{},"unit":"","image":{},"taxes":[],"address":{},"next_restock":{"t_ms":"never"}}'
\
+ -w "%{http_code}" -s -o /dev/null)
+
+if [ "$STATUS" != "204" ]
+then
+ echo 'should respond ok, product created. got:' $STATUS
+ exit 1
+fi
+echo OK
+
+echo -n "Creating order with non-inventory products..."
+
+STATUS=$(curl 'http://localhost:9966/instances/default/private/orders' \
+ -d
'{"order":{"amount":"TESTKUDOS:7","summary":"3","products":[{"description":"desct","image":"","price":"TESTKUDOS:1","taxes":[],"unit":"u","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 -r .order_id < $LAST_RESPONSE`
+TOKEN=`jq -r .token < $LAST_RESPONSE`
+
+STATUS=$(curl http://localhost:9966/orders/$ORDER_ID/claim \
+ -d '{"nonce":"","token":"'$TOKEN'"}' \
+ -w "%{http_code}" -s -o $LAST_RESPONSE)
+
+if [ "$STATUS" != "200" ]
+then
+ echo 'should response ok, order claimed. got:' $STATUS `cat $LAST_RESPONSE`
+ exit 1
+fi
+
+QUANTITY=`jq -r .contract_terms.products[0].quantity < $LAST_RESPONSE`
+
+if [ "$QUANTITY" != "1" ]
+then
+ echo 'should get quantity 1. got:' $QUANTITY # `jq
.contract_terms.products[0] < $LAST_RESPONSE`
+ exit 1
+fi
+echo OK
+
+set -x
+echo "Creating order with inventory products..."
+STATUS=$(curl 'http://localhost:9966/instances/default/private/orders' \
+ -d
'{"order":{"amount":"TESTKUDOS:7","summary":"3"},"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/orders/$ORDER_ID/claim \
+ -d '{"nonce":"","token":"'$TOKEN'"}' \
+ -w "%{http_code}" -s -o $LAST_RESPONSE)
+
+if [ "$STATUS" != "200" ]
+then
+ echo 'should response ok, order claimed. got:' $STATUS `cat $LAST_RESPONSE`
+ exit 1
+fi
+
+QUANTITY=`jq -r .contract_terms.products[0].quantity < $LAST_RESPONSE`
+
+if [ "$QUANTITY" != "1" ]
+then
+ echo 'should get quantity 1. got:' $QUANTITY #`jq
.contract_terms.products[0] < $LAST_RESPONSE`
+ exit 1
+fi
+
+echo "OK"
+
+
+STATUS=$(curl 'http://localhost:9966/instances/default/private/products' \
+ -d '{"product_id":"1","description":"product with id 1 and price
:15","price":"USD:15","total_stock":1,"description_i18n":{},"unit":"","image":{},"taxes":[],"address":{},"next_restock":{"t_ms":"never"}}'
\
+ -w "%{http_code}" -s -o /dev/null)
+
+if [ "$STATUS" != "409" ]
+then
+# "code": 30,
+# "hint": "The currencies involved in the operation do not match.",
+ echo 'should respond conflict, product price is in another currency. got:'
$STATUS
+ exit 1
+fi
+
+exit 0
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-merchant] branch master updated: test order creation,
gnunet <=