3 #First, start gnunet-arm and the rest-service. Make sure, no identity exists
5 link_to_api="http://localhost:7776/identity"
6 wrong_link="http://localhost:7776/idenmmmy"
8 #Test GET (multiple identities) for error when no identity exists
10 echo "No test for subsystem available"
11 echo "The next test case can be ignored if you have already added identities"
12 cache="$(curl --silent "$link_to_api" | grep "error")"
15 echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for GET request when missing identity\n"
17 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for GET request when missing identity\n"
20 #Test POST success code, error response code and error json
21 echo "The next test case can be ignored if you have already added an identity with the name Test"
22 cache="$(curl -v -X "POST" "$link_to_api" --data "{\"name\":\"Test\"}" 2>&1 | grep "HTTP/1.1 201")"
25 echo -n -e "[\033[0;31m FAILURE\033[0m ] Error for good POST request\n"
27 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Success for good POST request\n"
30 cache="$(curl -v -X "POST" "$link_to_api" --data "{\"name\":\"Test\"}" 2>&1 | grep "HTTP/1.1 409")"
33 echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for duplicate name POST request\n"
35 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for duplicate name POST request\n"
38 cache="$(curl -v -X "POST" "$link_to_api" 2>&1 | grep "error")"
41 echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for no data POST request\n"
43 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for no data POST request\n"
46 cache="$(curl -v -X "POST" "$link_to_api" --data "wrong" 2>&1 | grep "error")"
49 echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong data POST request\n"
51 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong data POST request\n"
54 cache="$(curl -v -X "POST" "$link_to_api" --data "[{}]" 2>&1 | grep "error")"
57 echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for json array input POST request\n"
59 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for json array input POST request\n"
62 cache="$(curl -v -X "POST" "$link_to_api" --data "{\"name\":\"Test\",\"other\":\"Test\"}" 2>&1 | grep "error")"
65 echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for multi element json POST request\n"
67 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for multi element json POST request\n"
70 cache="$(curl -v -X "POST" "$link_to_api" --data "{\"nam\":\"Test\"}" 2>&1 | grep "error")"
73 echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong json POST request\n"
75 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong json POST request\n"
78 cache="$(curl -v -X "POST" "$link_to_api" --data "{\"name\":123}" 2>&1 | grep "error")"
81 echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong json type POST request\n"
83 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong json type POST request\n"
86 cache="$(curl -v -X "POST" "$link_to_api" --data "{\"name\":""}" 2>&1 | grep "error")"
89 echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for no name POST request\n"
91 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for no name POST request\n"
95 #Test GET (multiple identities) for success and error json
96 cache="$(curl --silent "$link_to_api" | grep "error")"
99 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Success for good GET request (multiple identities)\n"
101 echo -n -e "[\033[0;31m FAILURE\033[0m ] Error for good GET request (multiple identities)\n"
105 id="$(gnunet-identity -d | grep "Test - " | sed "s/Test - //g")"
106 #Test GET (one identity) for success and error json
107 cache="$(curl --silent "${link_to_api}/$id" | grep "error")"
108 if [ "" == "$cache" ]
110 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Success for good GET request (one identity)\n"
112 echo -n -e "[\033[0;31m FAILURE\033[0m ] Error for good GET request (one identity)\n"
116 #Test DELETE success code, error response code and error json
117 echo "Next tests for DELETE will probably fail when POST fails"
118 cache="$(curl -v -X "DELETE" "${link_to_api}/$id" 2>&1 | grep "HTTP/1.1 404")"
119 if [ "" == "$cache" ]
121 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Success for good DELETE request\n"
123 echo -n -e "[\033[0;31m FAILURE\033[0m ] Error for good DELETE request\n"
126 curl --silent -X "POST" "$link_to_api" --data "{\"name\":\"Test\"}"
127 id="$(gnunet-identity -d | grep "Test - " | sed "s/Test - //g")"
129 cache="$(curl -v -X "DELETE" "${link_to_api}/df1" 2>&1 | grep "HTTP/1.1 404")"
130 if [ "" == "$cache" ]
132 echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong DELETE request\n"
134 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong DELETE request\n"
137 #Test PUT success code, error response codes and error json
138 cache="$(curl -v -X "PUT" "${link_to_api}/$id" --data "{\"newname\":\"NewTest\"}" 2>&1 | grep "HTTP/1.1 204")"
139 if [ "" == "$cache" ]
141 echo -n -e "[\033[0;31m FAILURE\033[0m ] Error for good PUT request\n"
143 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Success for good PUT request\n"
146 cache="$(curl -v -X "PUT" "${link_to_api}/${id}1" --data "{\"newname\":\"NewNewTest\"}" 2>&1 | grep "HTTP/1.1 404")"
147 if [ "" == "$cache" ]
149 echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong identity PUT request\n"
151 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong identity PUT request\n"
154 cache="$(curl -v -X "PUT" "$link_to_api/$id" --data "{\"newname\":\"NewTest\"}" 2>&1 | grep "error")"
155 if [ "" == "$cache" ]
157 echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for duplicate name PUT request\n"
159 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for duplicate name PUT request\n"
162 cache="$(curl -v -X "PUT" "$link_to_api/$id" 2>&1 | grep "error")"
163 if [ "" == "$cache" ]
165 echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for no data PUT request\n"
167 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for no data PUT request\n"
170 cache="$(curl -v -X "PUT" "$link_to_api/$id" --data "wrong" 2>&1 | grep "error")"
171 if [ "" == "$cache" ]
173 echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong data PUT request\n"
175 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong data PUT request\n"
178 cache="$(curl -v -X "PUT" "$link_to_api/$id" --data "[{}]" 2>&1 | grep "error")"
179 if [ "" == "$cache" ]
181 echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for json array input PUT request\n"
183 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for json array input PUT request\n"
186 cache="$(curl -v -X "PUT" "$link_to_api/$id" --data "{\"newname\":\"Test\",\"other\":\"Test\"}" 2>&1 | grep "error")"
187 if [ "" == "$cache" ]
189 echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for multi element json PUT request\n"
191 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for multi element json PUT request\n"
194 cache="$(curl -v -X "PUT" "$link_to_api/$id" --data "{\"newnam\":\"Test\"}" 2>&1 | grep "error")"
195 if [ "" == "$cache" ]
197 echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong json PUT request\n"
199 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong json PUT request\n"
202 cache="$(curl -v -X "PUT" "$link_to_api/$id" --data "{\"newname\":123}" 2>&1 | grep "error")"
203 if [ "" == "$cache" ]
205 echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong json type PUT request\n"
207 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong json type PUT request\n"
210 cache="$(curl -v -X "PUT" "$link_to_api/$id" --data "{\"newname\":""}" 2>&1 | grep "error")"
211 if [ "" == "$cache" ]
213 echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for no name PUT request\n"
215 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for no name PUT request\n"
217 #TODO Missing subsystem test
219 #Missing OPTIONS success - nothing can really go wrong here
222 cache="$(curl -v "$wrong_link" 2>&1 | grep "HTTP/1.1 404")"
223 if [ "" == "$cache" ]
225 echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong url GET request \n"
227 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong url GET request \n"
230 cache="$(curl -X "PUT" -v "$wrong_link/$id" --data "{\"newname\":\"Testing\"}" 2>&1 | grep "HTTP/1.1 404")"
231 if [ "" == "$cache" ]
233 echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong url GET request \n"
235 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong url GET request \n"
238 cache="$(curl -X "POST" -v "$wrong_link/$id" --data "{\"name\":\"Test\"}" 2>&1 | grep "HTTP/1.1 404")"
239 if [ "" == "$cache" ]
241 echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong url POST request \n"
243 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong url POST request \n"
246 cache="$(curl -X "DELETE" -v "${wrong_link}/$id" 2>&1 | grep "HTTP/1.1 404")"
247 if [ "" == "$cache" ]
249 echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong url DELETE request \n"
251 echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong url DELETE request \n"