aboutsummaryrefslogtreecommitdiff
path: root/src/identity/test_plugin_identity_rest.sh
blob: d43f4206b2e0a9e5210ea120ced4fe7c95af3b73 (plain) (blame)
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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
#!/usr/bin/bash

#First, start gnunet-arm and the rest-service. Make sure, no identity exists

link_to_api="http://localhost:7776/identity"
wrong_link="http://localhost:7776/idenmmmy"

#Test GET (multiple identities) for error when no identity exists

echo "No test for subsystem available"
echo "The next test case can be ignored if you have already added identities"
cache="$(curl --silent "$link_to_api" | grep "error")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for GET request when missing identity\n"
else
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for GET request when missing identity\n"
fi

#Test POST success code, error response code and error json
echo "The next test case can be ignored if you have already added an identity with the name Test"
cache="$(curl -v -X "POST" "$link_to_api" --data "{\"name\":\"Test\"}" 2>&1 | grep "HTTP/1.1 201")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Error for good POST request\n"
else
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Success for good POST request\n"
fi

cache="$(curl -v -X "POST" "$link_to_api" --data "{\"name\":\"Test\"}" 2>&1 | grep "HTTP/1.1 409")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for duplicate name POST request\n"
else
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for duplicate name POST request\n"
fi

cache="$(curl -v -X "POST" "$link_to_api" 2>&1 | grep "error")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for no data POST request\n"
else
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for no data POST request\n"
fi

cache="$(curl -v -X "POST" "$link_to_api" --data "wrong" 2>&1 | grep "error")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong data POST request\n"
else
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong data POST request\n"
fi

cache="$(curl -v -X "POST" "$link_to_api" --data "[{}]" 2>&1 | grep "error")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for json array input POST request\n"
else
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for json array input POST request\n"
fi

cache="$(curl -v -X "POST" "$link_to_api" --data "{\"name\":\"Test\",\"other\":\"Test\"}" 2>&1 | grep "error")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for multi element json POST request\n"
else
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for multi element json POST request\n"
fi

cache="$(curl -v -X "POST" "$link_to_api" --data "{\"nam\":\"Test\"}" 2>&1 | grep "error")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong json POST request\n"
else
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong json POST request\n"
fi

cache="$(curl -v -X "POST" "$link_to_api" --data "{\"name\":123}" 2>&1 | grep "error")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong json type POST request\n"
else
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong json type POST request\n"
fi

cache="$(curl -v -X "POST" "$link_to_api" --data "{\"name\":""}" 2>&1 | grep "error")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for no name POST request\n"
else
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for no name POST request\n"
fi


#Test GET (multiple identities) for success and error json
cache="$(curl --silent "$link_to_api" | grep "error")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Success for good GET request (multiple identities)\n"
else
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Error for good GET request (multiple identities)\n"
fi


id="$(gnunet-identity -d | grep "Test - " | sed  "s/Test - //g")"
#Test GET (one identity) for success and error json
cache="$(curl --silent "${link_to_api}/$id" | grep "error")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Success for good GET request (one identity)\n"
else
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Error for good GET request (one identity)\n"
fi


#Test DELETE success code, error response code and error json
echo "Next tests for DELETE will probably fail when POST fails"
cache="$(curl -v -X "DELETE" "${link_to_api}/$id" 2>&1 | grep "HTTP/1.1 404")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Success for good DELETE request\n"
else
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Error for good DELETE request\n"
fi

curl --silent -X "POST" "$link_to_api" --data "{\"name\":\"Test\"}"
id="$(gnunet-identity -d | grep "Test - " | sed  "s/Test - //g")"

cache="$(curl -v -X "DELETE" "${link_to_api}/df1" 2>&1 | grep "HTTP/1.1 404")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong DELETE request\n"
else
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong DELETE request\n"
fi

#Test PUT success code, error response codes and error json
cache="$(curl -v -X "PUT" "${link_to_api}/$id" --data "{\"newname\":\"NewTest\"}" 2>&1 | grep "HTTP/1.1 204")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Error for good PUT request\n"
else
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Success for good PUT request\n"
fi

cache="$(curl -v -X "PUT" "${link_to_api}/${id}1" --data "{\"newname\":\"NewNewTest\"}" 2>&1 | grep "HTTP/1.1 404")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong identity PUT request\n"
else
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong identity PUT request\n"
fi

cache="$(curl -v -X "PUT" "$link_to_api/$id" --data "{\"newname\":\"NewTest\"}" 2>&1 | grep "error")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for duplicate name PUT request\n"
else
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for duplicate name PUT request\n"
fi

cache="$(curl -v -X "PUT" "$link_to_api/$id" 2>&1 | grep "error")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for no data PUT request\n"
else
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for no data PUT request\n"
fi

cache="$(curl -v -X "PUT" "$link_to_api/$id" --data "wrong" 2>&1 | grep "error")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong data PUT request\n"
else
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong data PUT request\n"
fi

cache="$(curl -v -X "PUT" "$link_to_api/$id" --data "[{}]" 2>&1 | grep "error")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for json array input PUT request\n"
else
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for json array input PUT request\n"
fi

cache="$(curl -v -X "PUT" "$link_to_api/$id" --data "{\"newname\":\"Test\",\"other\":\"Test\"}" 2>&1 | grep "error")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for multi element json PUT request\n"
else
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for multi element json PUT request\n"
fi

cache="$(curl -v -X "PUT" "$link_to_api/$id" --data "{\"newnam\":\"Test\"}" 2>&1 | grep "error")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong json PUT request\n"
else
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong json PUT request\n"
fi

cache="$(curl -v -X "PUT" "$link_to_api/$id" --data "{\"newname\":123}" 2>&1 | grep "error")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong json type PUT request\n"
else
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong json type PUT request\n"
fi

cache="$(curl -v -X "PUT" "$link_to_api/$id" --data "{\"newname\":""}" 2>&1 | grep "error")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for no name PUT request\n"
else
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for no name PUT request\n"
fi
#TODO Missing subsystem test

#Missing OPTIONS success - nothing can really go wrong here

#Test wrong url
cache="$(curl -v "$wrong_link" 2>&1 | grep "HTTP/1.1 404")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong url GET request \n"
else
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong url GET request \n"
fi

cache="$(curl -X "PUT" -v "$wrong_link/$id" --data "{\"newname\":\"Testing\"}" 2>&1 | grep "HTTP/1.1 404")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong url GET request \n"
else
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong url GET request \n"
fi

cache="$(curl -X "POST" -v "$wrong_link/$id" --data "{\"name\":\"Test\"}" 2>&1 | grep "HTTP/1.1 404")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong url POST request \n"
else
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong url POST request \n"
fi

cache="$(curl -X "DELETE" -v "${wrong_link}/$id" 2>&1 | grep "HTTP/1.1 404")"
if [ "" == "$cache" ]
then
    echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong url DELETE request \n"
else
    echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong url DELETE request \n"
fi