aboutsummaryrefslogtreecommitdiff
path: root/src/testing/test_merchant_kyc.sh
blob: e95e7586ae56cc812edcc8d6ed9a0a7392a4d20f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#!/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 a merchant instance before configuring the default instance ..."

STATUS=$(curl -H "Content-Type: application/json" -X POST \
    -H 'Authorization: Bearer secret-token:super_secret' \
    http://localhost:9966/management/instances \
    -d '{"auth":{"method":"external"},"payto_uris":["payto://x-taler-bank/localhost:8082/43","payto://x-taler-bank/localhost:8082/44"],"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_us" : 50000000},"default_pay_delay":{"d_us": 60000000}}' \
    -w "%{http_code}" -s -o /dev/null)

if [ "$STATUS" != "204" ]
then
    echo 'should respond ok, instance created. got:' $STATUS
    exit 1
fi

echo " OK"

echo -n "Check the instance exists ..."

STATUS=$(curl -H "Content-Type: application/json" -X GET \
    http://localhost:9966/instances/default/private/ \
    -w "%{http_code}" -s -o /dev/null)

if [ "$STATUS" != "200" ]
then
    echo 'should respond ok, instance exists. got:' $STATUS
    exit 1
fi

echo " OK"

RANDOM_IMG='data:image/png;base64,abcdefg'

#
# CREATE AN ORDER WITHOUT TOKEN
#

echo -n "Creating order without TOKEN..."
STATUS=$(curl 'http://localhost:9966/instances/default/private/orders' \
    -d '{"create_token":false,"order":{"amount":"TESTKUDOS:7","summary":"3","products":[{"description":"desct","image":"'$RANDOM_IMG'","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`

if [ "$TOKEN" != "null" ]
then
    echo 'token should be null, got:' $TOKEN
    exit 1
fi

echo OK

echo -n "Checking created order without TOKEN..."

STATUS=$(curl http://localhost:9966/orders/$ORDER_ID \
    -w "%{http_code}" -s -o $LAST_RESPONSE)

PAY_URI=`jq -r .taler_pay_uri < $LAST_RESPONSE`

if [ "$PAY_URI" == "null" ]
then
    echo 'should have a payuri. got:' $PAY_URI `cat $LAST_RESPONSE`
    exit 1
fi
echo OK


echo -n "Getting information about kyc ..."

STATUS=$(curl -H "Content-Type: application/json" -X GET \
    http://localhost:9966/instances/default/private/kyc \
    -w "%{http_code}" -s -o /dev/null)

if [ "$STATUS" != "204" ]
then
    echo 'should respond ok, instance created. got:' $STATUS
    exit 1
fi

echo " OK"

exit 0