3 #First, start gnunet-arm and the rest-service. Make sure, no identity exists
4 #Exit 0 means success, exit 1 means failed test
6 #No test for subsystem available
8 link_to_api="http://localhost:7776/identity"
9 wrong_link="http://localhost:7776/idenmmmy"
10 wrong_link2="http://localhost:7776/identityandmore"
12 #Test GET (multiple identities) for error when no identity exists
13 #The next test case can be ignored if you have already added identities
14 cache="$(curl --silent "$link_to_api" | grep "error")"
20 #Test POST success code, error response code and error json
21 #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")"
28 cache="$(curl -v -X "POST" "$link_to_api" --data "{\"name\":\"Test\"}" 2>&1 | grep "HTTP/1.1 409")"
34 cache="$(curl -v -X "POST" "$link_to_api" 2>&1 | grep "error")"
40 cache="$(curl -v -X "POST" "$link_to_api" --data "wrong" 2>&1 | grep "error")"
46 cache="$(curl -v -X "POST" "$link_to_api" --data "[{}]" 2>&1 | grep "error")"
52 cache="$(curl -v -X "POST" "$link_to_api" --data "{\"name\":\"Test\",\"other\":\"Test\"}" 2>&1 | grep "error")"
58 cache="$(curl -v -X "POST" "$link_to_api" --data "{\"nam\":\"Test\"}" 2>&1 | grep "error")"
64 cache="$(curl -v -X "POST" "$link_to_api" --data "{\"name\":123}" 2>&1 | grep "error")"
70 cache="$(curl -v -X "POST" "$link_to_api" --data "{\"name\":""}" 2>&1 | grep "error")"
77 #Test GET (multiple identities) for success and error json
78 cache="$(curl --silent "$link_to_api" | grep "error")"
85 id="$(gnunet-identity -d | grep "Test - " | sed "s/Test - //g")"
86 #Test GET (one identity) for success and error json
87 cache="$(curl --silent "${link_to_api}?pubkey=$id" | grep "error")"
94 #Test DELETE success code, error response code and error json
95 #echo "Next tests for DELETE will probably fail when POST fails"
96 cache="$(curl -v -X "DELETE" "${link_to_api}?pubkey=$id" 2>&1 | grep "HTTP/1.1 404")"
102 curl --silent -X "POST" "$link_to_api" --data "{\"name\":\"Test\"}"
103 id="$(gnunet-identity -d | grep "Test - " | sed "s/Test - //g")"
105 cache="$(curl -v -X "DELETE" "${link_to_api}?pubkey=df1" 2>&1 | grep "HTTP/1.1 404")"
106 if [ "" == "$cache" ]
111 cache="$(curl -v -X "DELETE" "${link_to_api}?pubke=$id" 2>&1 | grep "error")"
112 if [ "" == "$cache" ]
117 #Test PUT success code, error response codes and error json
118 cache="$(curl -v -X "PUT" "${link_to_api}" --data "{\"newname\":\"NewTest\",\"pubkey\":\"${id}\"}" 2>&1 | grep "HTTP/1.1 204")"
119 if [ "" == "$cache" ]
124 cache="$(curl -v -X "PUT" "${link_to_api}" --data "{\"newname\":\"NewNewTest\",\"pubkey\":\"${id}1\"}" 2>&1 | grep "HTTP/1.1 404")"
125 if [ "" == "$cache" ]
130 # feature: you can rename your identity with its own name.
131 # cache="$(curl -v -X "PUT" "$link_to_api" --data "{\"newname\":\"NewTest\",\"pubkey\":\"${id}\"}" 2>&1 | grep "error")"
132 # if [ "" == "$cache" ]
138 cache="$(curl -v -X "PUT" "$link_to_api" 2>&1 | grep "error")"
139 if [ "" == "$cache" ]
144 cache="$(curl -v -X "PUT" "$link_to_api" --data "wrong" 2>&1 | grep "error")"
145 if [ "" == "$cache" ]
150 cache="$(curl -v -X "PUT" "$link_to_api" --data "[{}]" 2>&1 | grep "error")"
151 if [ "" == "$cache" ]
156 cache="$(curl -v -X "PUT" "$link_to_api" --data "{\"newname\":\"Test\",\"other\":\"Test\",\"pubkey\":\"${id}\"}" 2>&1 | grep "error")"
157 if [ "" == "$cache" ]
162 cache="$(curl -v -X "PUT" "$link_to_api" --data "{\"newnam\":\"Test\",\"pubkey\":\"${id}\"}" 2>&1 | grep "error")"
163 if [ "" == "$cache" ]
168 cache="$(curl -v -X "PUT" "$link_to_api" --data "{\"newname\":\"Test\",\"pubke\":\"${id}\"}" 2>&1 | grep "error")"
169 if [ "" == "$cache" ]
174 cache="$(curl -v -X "PUT" "$link_to_api" --data "{\"newname\":123,\"pubkey\":\"${id}\"}" 2>&1 | grep "error")"
175 if [ "" == "$cache" ]
180 cache="$(curl -v -X "PUT" "$link_to_api" --data "{\"newname\":"",\"pubkey\":\"${id}\"}" 2>&1 | grep "error")"
181 if [ "" == "$cache" ]
185 #TODO Missing subsystem test
187 #Missing OPTIONS success - nothing can really go wrong here
190 cache="$(curl -v "$wrong_link" 2>&1 | grep "HTTP/1.1 404")"
191 if [ "" == "$cache" ]
196 cache="$(curl -X "PUT" -v "$wrong_link" --data "{\"newname\":\"Testing\",\"pubkey\":\"${id}\"}" 2>&1 | grep "HTTP/1.1 404")"
197 if [ "" == "$cache" ]
202 cache="$(curl -X "POST" -v "$wrong_link?pubkey=$id" --data "{\"name\":\"Test\"}" 2>&1 | grep "HTTP/1.1 404")"
203 if [ "" == "$cache" ]
208 cache="$(curl -X "DELETE" -v "${wrong_link}?pubkey=$id" 2>&1 | grep "HTTP/1.1 404")"
209 if [ "" == "$cache" ]
214 gnunet-identity -D NewTest