aboutsummaryrefslogtreecommitdiff
path: root/src/testing/test_merchant_instance_response.sh
blob: eaf3dc0288aaa9aaa7ab0f7ea7c85cba423eb5ab (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
111
112
113
114
115
116
117
118
119
120
121
122
123
#!/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 OPTIONS \
    http://localhost:9966/instances/default/private/products \
    -w "%{http_code}" -s -o /dev/null)

if [ "$STATUS" != "204" ]
then
    echo 'options should return 204 when default instance doest not exist yet. got:' $STATUS
    exit 1
fi

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

if [ "$STATUS" != "404" ]
then
    echo 'backend should respond 404 when the default instance is not yet created. got:' $STATUS
    exit 1
fi

STATUS=$(curl -H "Content-Type: application/json" -X POST \
    -H 'Authorization: Bearer secret-token:super_secret' \
    http://localhost:9966/private/instances \
    -d '{"auth":{"method":"token","token":"secret-token:other_secret"},"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

bash

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

if [ "$STATUS" != "401" ]
then
    echo 'should respond unauthorized without the token for the list of product when the default instance was created. got:' $STATUS
    exit 1
fi

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

if [ "$STATUS" != "200" ]
then
    echo 'should respond ok for the list of product when the default instance was created. got:' $STATUS
    exit 1
fi

STATUS=$(curl -H "Content-Type: application/json" -X POST \
    -H 'Authorization: Bearer secret-token:other_secret' \
    http://localhost:9966/instances/default/private/auth \
    -d '{"method":"token","token":"secret-token:zxc"}' \
    -w "%{http_code}" -s -o /dev/null)

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


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


if [ "$STATUS" != "401" ]
then
    echo 'should respond unauthorized without the token, when purging the instance. got:' $STATUS
    exit 1
fi

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

if [ "$STATUS" != "401" ]
then
    echo 'should respond unauthorized using old token, when purging the instance. got:' $STATUS
    exit 1
fi

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

if [ "$STATUS" != "204" ]
then
    echo 'should respond unauthorized without the token, when purging the instance. got:' $STATUS
    exit 1
fi

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

if [ "$STATUS" != "404" ]
then
    echo 'should respond not found when trying to list the product and the default instance was deleted. got:' $STATUS
    exit 1
fi

echo "OK"

exit 0