diff options
Diffstat (limited to 'src/identity/test_plugin_identity_rest.sh')
-rwxr-xr-x | src/identity/test_plugin_identity_rest.sh | 252 |
1 files changed, 252 insertions, 0 deletions
diff --git a/src/identity/test_plugin_identity_rest.sh b/src/identity/test_plugin_identity_rest.sh new file mode 100755 index 000000000..d43f4206b --- /dev/null +++ b/src/identity/test_plugin_identity_rest.sh | |||
@@ -0,0 +1,252 @@ | |||
1 | #!/usr/bin/bash | ||
2 | |||
3 | #First, start gnunet-arm and the rest-service. Make sure, no identity exists | ||
4 | |||
5 | link_to_api="http://localhost:7776/identity" | ||
6 | wrong_link="http://localhost:7776/idenmmmy" | ||
7 | |||
8 | #Test GET (multiple identities) for error when no identity exists | ||
9 | |||
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")" | ||
13 | if [ "" == "$cache" ] | ||
14 | then | ||
15 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for GET request when missing identity\n" | ||
16 | else | ||
17 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for GET request when missing identity\n" | ||
18 | fi | ||
19 | |||
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")" | ||
23 | if [ "" == "$cache" ] | ||
24 | then | ||
25 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Error for good POST request\n" | ||
26 | else | ||
27 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Success for good POST request\n" | ||
28 | fi | ||
29 | |||
30 | cache="$(curl -v -X "POST" "$link_to_api" --data "{\"name\":\"Test\"}" 2>&1 | grep "HTTP/1.1 409")" | ||
31 | if [ "" == "$cache" ] | ||
32 | then | ||
33 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for duplicate name POST request\n" | ||
34 | else | ||
35 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for duplicate name POST request\n" | ||
36 | fi | ||
37 | |||
38 | cache="$(curl -v -X "POST" "$link_to_api" 2>&1 | grep "error")" | ||
39 | if [ "" == "$cache" ] | ||
40 | then | ||
41 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for no data POST request\n" | ||
42 | else | ||
43 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for no data POST request\n" | ||
44 | fi | ||
45 | |||
46 | cache="$(curl -v -X "POST" "$link_to_api" --data "wrong" 2>&1 | grep "error")" | ||
47 | if [ "" == "$cache" ] | ||
48 | then | ||
49 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong data POST request\n" | ||
50 | else | ||
51 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong data POST request\n" | ||
52 | fi | ||
53 | |||
54 | cache="$(curl -v -X "POST" "$link_to_api" --data "[{}]" 2>&1 | grep "error")" | ||
55 | if [ "" == "$cache" ] | ||
56 | then | ||
57 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for json array input POST request\n" | ||
58 | else | ||
59 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for json array input POST request\n" | ||
60 | fi | ||
61 | |||
62 | cache="$(curl -v -X "POST" "$link_to_api" --data "{\"name\":\"Test\",\"other\":\"Test\"}" 2>&1 | grep "error")" | ||
63 | if [ "" == "$cache" ] | ||
64 | then | ||
65 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for multi element json POST request\n" | ||
66 | else | ||
67 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for multi element json POST request\n" | ||
68 | fi | ||
69 | |||
70 | cache="$(curl -v -X "POST" "$link_to_api" --data "{\"nam\":\"Test\"}" 2>&1 | grep "error")" | ||
71 | if [ "" == "$cache" ] | ||
72 | then | ||
73 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong json POST request\n" | ||
74 | else | ||
75 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong json POST request\n" | ||
76 | fi | ||
77 | |||
78 | cache="$(curl -v -X "POST" "$link_to_api" --data "{\"name\":123}" 2>&1 | grep "error")" | ||
79 | if [ "" == "$cache" ] | ||
80 | then | ||
81 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong json type POST request\n" | ||
82 | else | ||
83 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong json type POST request\n" | ||
84 | fi | ||
85 | |||
86 | cache="$(curl -v -X "POST" "$link_to_api" --data "{\"name\":""}" 2>&1 | grep "error")" | ||
87 | if [ "" == "$cache" ] | ||
88 | then | ||
89 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for no name POST request\n" | ||
90 | else | ||
91 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for no name POST request\n" | ||
92 | fi | ||
93 | |||
94 | |||
95 | #Test GET (multiple identities) for success and error json | ||
96 | cache="$(curl --silent "$link_to_api" | grep "error")" | ||
97 | if [ "" == "$cache" ] | ||
98 | then | ||
99 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Success for good GET request (multiple identities)\n" | ||
100 | else | ||
101 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Error for good GET request (multiple identities)\n" | ||
102 | fi | ||
103 | |||
104 | |||
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" ] | ||
109 | then | ||
110 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Success for good GET request (one identity)\n" | ||
111 | else | ||
112 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Error for good GET request (one identity)\n" | ||
113 | fi | ||
114 | |||
115 | |||
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" ] | ||
120 | then | ||
121 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Success for good DELETE request\n" | ||
122 | else | ||
123 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Error for good DELETE request\n" | ||
124 | fi | ||
125 | |||
126 | curl --silent -X "POST" "$link_to_api" --data "{\"name\":\"Test\"}" | ||
127 | id="$(gnunet-identity -d | grep "Test - " | sed "s/Test - //g")" | ||
128 | |||
129 | cache="$(curl -v -X "DELETE" "${link_to_api}/df1" 2>&1 | grep "HTTP/1.1 404")" | ||
130 | if [ "" == "$cache" ] | ||
131 | then | ||
132 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong DELETE request\n" | ||
133 | else | ||
134 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong DELETE request\n" | ||
135 | fi | ||
136 | |||
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" ] | ||
140 | then | ||
141 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Error for good PUT request\n" | ||
142 | else | ||
143 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Success for good PUT request\n" | ||
144 | fi | ||
145 | |||
146 | cache="$(curl -v -X "PUT" "${link_to_api}/${id}1" --data "{\"newname\":\"NewNewTest\"}" 2>&1 | grep "HTTP/1.1 404")" | ||
147 | if [ "" == "$cache" ] | ||
148 | then | ||
149 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong identity PUT request\n" | ||
150 | else | ||
151 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong identity PUT request\n" | ||
152 | fi | ||
153 | |||
154 | cache="$(curl -v -X "PUT" "$link_to_api/$id" --data "{\"newname\":\"NewTest\"}" 2>&1 | grep "error")" | ||
155 | if [ "" == "$cache" ] | ||
156 | then | ||
157 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for duplicate name PUT request\n" | ||
158 | else | ||
159 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for duplicate name PUT request\n" | ||
160 | fi | ||
161 | |||
162 | cache="$(curl -v -X "PUT" "$link_to_api/$id" 2>&1 | grep "error")" | ||
163 | if [ "" == "$cache" ] | ||
164 | then | ||
165 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for no data PUT request\n" | ||
166 | else | ||
167 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for no data PUT request\n" | ||
168 | fi | ||
169 | |||
170 | cache="$(curl -v -X "PUT" "$link_to_api/$id" --data "wrong" 2>&1 | grep "error")" | ||
171 | if [ "" == "$cache" ] | ||
172 | then | ||
173 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong data PUT request\n" | ||
174 | else | ||
175 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong data PUT request\n" | ||
176 | fi | ||
177 | |||
178 | cache="$(curl -v -X "PUT" "$link_to_api/$id" --data "[{}]" 2>&1 | grep "error")" | ||
179 | if [ "" == "$cache" ] | ||
180 | then | ||
181 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for json array input PUT request\n" | ||
182 | else | ||
183 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for json array input PUT request\n" | ||
184 | fi | ||
185 | |||
186 | cache="$(curl -v -X "PUT" "$link_to_api/$id" --data "{\"newname\":\"Test\",\"other\":\"Test\"}" 2>&1 | grep "error")" | ||
187 | if [ "" == "$cache" ] | ||
188 | then | ||
189 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for multi element json PUT request\n" | ||
190 | else | ||
191 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for multi element json PUT request\n" | ||
192 | fi | ||
193 | |||
194 | cache="$(curl -v -X "PUT" "$link_to_api/$id" --data "{\"newnam\":\"Test\"}" 2>&1 | grep "error")" | ||
195 | if [ "" == "$cache" ] | ||
196 | then | ||
197 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong json PUT request\n" | ||
198 | else | ||
199 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong json PUT request\n" | ||
200 | fi | ||
201 | |||
202 | cache="$(curl -v -X "PUT" "$link_to_api/$id" --data "{\"newname\":123}" 2>&1 | grep "error")" | ||
203 | if [ "" == "$cache" ] | ||
204 | then | ||
205 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong json type PUT request\n" | ||
206 | else | ||
207 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong json type PUT request\n" | ||
208 | fi | ||
209 | |||
210 | cache="$(curl -v -X "PUT" "$link_to_api/$id" --data "{\"newname\":""}" 2>&1 | grep "error")" | ||
211 | if [ "" == "$cache" ] | ||
212 | then | ||
213 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for no name PUT request\n" | ||
214 | else | ||
215 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for no name PUT request\n" | ||
216 | fi | ||
217 | #TODO Missing subsystem test | ||
218 | |||
219 | #Missing OPTIONS success - nothing can really go wrong here | ||
220 | |||
221 | #Test wrong url | ||
222 | cache="$(curl -v "$wrong_link" 2>&1 | grep "HTTP/1.1 404")" | ||
223 | if [ "" == "$cache" ] | ||
224 | then | ||
225 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong url GET request \n" | ||
226 | else | ||
227 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong url GET request \n" | ||
228 | fi | ||
229 | |||
230 | cache="$(curl -X "PUT" -v "$wrong_link/$id" --data "{\"newname\":\"Testing\"}" 2>&1 | grep "HTTP/1.1 404")" | ||
231 | if [ "" == "$cache" ] | ||
232 | then | ||
233 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong url GET request \n" | ||
234 | else | ||
235 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong url GET request \n" | ||
236 | fi | ||
237 | |||
238 | cache="$(curl -X "POST" -v "$wrong_link/$id" --data "{\"name\":\"Test\"}" 2>&1 | grep "HTTP/1.1 404")" | ||
239 | if [ "" == "$cache" ] | ||
240 | then | ||
241 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong url POST request \n" | ||
242 | else | ||
243 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong url POST request \n" | ||
244 | fi | ||
245 | |||
246 | cache="$(curl -X "DELETE" -v "${wrong_link}/$id" 2>&1 | grep "HTTP/1.1 404")" | ||
247 | if [ "" == "$cache" ] | ||
248 | then | ||
249 | echo -n -e "[\033[0;31m FAILURE\033[0m ] Success for wrong url DELETE request \n" | ||
250 | else | ||
251 | echo -n -e "[\033[0;32m SUCCESS\033[0m ] Error for wrong url DELETE request \n" | ||
252 | fi | ||