3 #First, start gnunet-arm and the rest-service.
4 #Exit 0 means success, exit 1 means failed test
6 identity_link="http://localhost:7776/identity"
7 wrong_link="http://localhost:7776/identityandmore"
13 cache="$(curl -v "$1" 2>&1 | grep "$2")"
25 cache="$(curl -v -X "POST" "$1" --data "$2" 2>&1 | grep "$3")"
36 cache="$(curl -v -X "DELETE" "$1" 2>&1 | grep "$2")"
48 cache="$(curl -v -X "PUT" "$1" --data "$2" 2>&1 | grep "$3")"
57 test="$(gnunet-identity -d)"
58 #if no identity exists
61 curl_get "$identity_link/all" "error"
62 gnunet-identity -C "test_plugin_rest_identity"
63 name="$(gnunet-identity -d | awk 'NR==1{print $1}')"
64 public="$(gnunet-identity -d | awk 'NR==1{print $3}')"
66 curl_get "${identity_link}/name/$name" "$public"
67 curl_get "${identity_link}/name/$public" "error"
68 curl_get "${identity_link}/name/" "error"
70 curl_get "${identity_link}/pubkey/$public" "$name"
71 curl_get "${identity_link}/pubkey/$name" "error"
72 curl_get "${identity_link}/pubkey/" "error"
74 gnunet-identity -D "test_plugin_rest_identity"
76 name="$(gnunet-identity -d | awk 'NR==1{print $1}')"
77 public="$(gnunet-identity -d | awk 'NR==1{print $3}')"
79 curl_get "${identity_link}/name/$name" "$public"
80 curl_get "${identity_link}/name/$public" "error"
81 curl_get "${identity_link}/name/" "error"
83 curl_get "${identity_link}/pubkey/$public" "$name"
84 curl_get "${identity_link}/pubkey/$name" "error"
85 curl_get "${identity_link}/pubkey/" "error"
89 gnunet-identity -D "test_plugin_rest_identity" > /dev/null 2>&1
90 gnunet-identity -D "test_plugin_rest_identity1" > /dev/null 2>&1
92 curl_post "${identity_link}" '{"name":"test_plugin_rest_identity"}' "HTTP/1.1 201 Created"
93 curl_post "${identity_link}" '{"name":"test_plugin_rest_identity"}' "HTTP/1.1 409"
94 curl_post "${identity_link}" '{"name":"Test_plugin_rest_identity"}' "HTTP/1.1 409"
95 curl_post "${identity_link}" '{}' "error"
96 curl_post "${identity_link}" '' "error"
97 curl_post "${identity_link}" '{"name":""}' "error"
98 curl_post "${identity_link}" '{"name":123}' "error"
99 curl_post "${identity_link}" '{"name":[]}' "error"
100 curl_post "${identity_link}" '{"name1":"test_plugin_rest_identity"}' "error"
101 curl_post "${identity_link}" '{"other":""}' "error"
102 curl_post "${identity_link}" '{"name":"test_plugin_rest_identity1", "other":"test_plugin_rest_identity2"}' "error"
105 name="$(gnunet-identity -d | grep "test_plugin_rest_identity" | awk 'NR==1{print $1}')"
106 public="$(gnunet-identity -d | grep "test_plugin_rest_identity" | awk 'NR==1{print $3}')"
108 curl_put "${identity_link}/pubkey/$public" '{"newname":"test_plugin_rest_identity1"}' "HTTP/1.1 204"
109 curl_put "${identity_link}/pubkey/$public" '{"newname":"test_plugin_rest_identity1"}' "HTTP/1.1 409"
110 curl_put "${identity_link}/pubkey/${public}xx" '{"newname":"test_plugin_rest_identity1"}' "HTTP/1.1 404"
111 curl_put "${identity_link}/pubkey/" '{"newname":"test_plugin_rest_identity1"}' "HTTP/1.1 404"
112 curl_put "${identity_link}/pubke" '{"newname":"test_plugin_rest_identity1"}' "error"
113 curl_put "${identity_link}" '{"newname":"test_plugin_rest_identity1","other":"sdfdsf"}' "error"
114 curl_put "${identity_link}/pubkey/$name" '{"newname":"test_plugin_rest_identity1"}' "HTTP/1.1 404"
115 curl_put "${identity_link}/name/test_plugin_rest_identity1" '{"newname":"test_plugin_rest_identity"}' "HTTP/1.1 204"
116 curl_put "${identity_link}/pubkey/$public" '{"newnam":"test_plugin_rest_identity"}' "error"
117 curl_put "${identity_link}/name/test_plugin_rest_identity" '{"newname":"test_plugin_rest_identity1"}' "HTTP/1.1 204"
118 curl_put "${identity_link}/name/test_plugin_rest_identity1" '{"newname":"TEST_plugin_rest_identity1"}' "HTTP/1.1 409"
119 curl_put "${identity_link}/name/test_plugin_rest_identity1" '{"newname":"test_plugin_rest_identity1"}' "HTTP/1.1 409"
120 curl_put "${identity_link}/name/test_plugin_rest_identityxxx" '{"newname":"test_plugin_rest_identity"}' "HTTP/1.1 404"
121 curl_put "${identity_link}/name/test_plugin_rest_identity1" '{"newname":"test_plugin_rest_identity"}' "HTTP/1.1 204"
122 curl_put "${identity_link}/name/test_plugin_rest_identity" '{"newnam":"test_plugin_rest_identityfail"}' "error"
125 curl_put "${identity_link}/subsystem/test_plugin_rest_identity" '{"subsystem":"namestore"}' "HTTP/1.1 204"
126 curl_put "${identity_link}/subsystem/test_plugin_rest_identity" '{"subsystem":"namestore"}' "HTTP/1.1 204"
127 curl_get "${identity_link}/subsystem/namestore" "test_plugin_rest_identity"
128 public="$(gnunet-identity -d | grep "test_plugin_rest_identity" | awk 'NR==1{print $3}')"
129 curl_put "${identity_link}/subsystem/$public" '{"subsystem":"namestore"}' "HTTP/1.1 404"
130 curl_post "${identity_link}" '{"name":"test_plugin_rest_identity1"}' "HTTP/1.1 201 Created"
131 curl_get "${identity_link}/subsystem/test_plugin_rest_identity_no_subsystem" "error"
132 curl_put "${identity_link}/subsystem/test_plugin_rest_identity1" '{"subsystem":"test_plugin_rest_identity_no_subsystem"}' "HTTP/1.1 204"
133 curl_get "${identity_link}/subsystem/test_plugin_rest_identity_no_subsystem" "test_plugin_rest_identity1"
135 curl_put "${identity_link}/subsystem/test_plugin_rest_identity1" '{"subsyste":"test_plugin_rest_identity_no_subsystem"}' "error"
136 curl_put "${identity_link}/subsystem/test_plugin_rest_identity1" '{"subsystem":"test_plugin_rest_identity_no_subsystem"}' "HTTP/1.1 204"
139 curl_delete "${identity_link}/name/test_plugin_rest_identity" "HTTP/1.1 204"
140 curl_get "${identity_link}/name/test_plugin_rest_identity" "error"
141 curl_delete "${identity_link}/name/TEST_plugin_rest_identity1" "HTTP/1.1 204"
142 curl_delete "${identity_link}/name/test_plugin_rest_identity1" "HTTP/1.1 404"
143 curl_get "${identity_link}/name/test_plugin_rest_identity1" "error"
144 curl_delete "${identity_link}/name/test_plugin_rest_identity_not_found" "HTTP/1.1 404"
145 curl_post "${identity_link}" '{"name":"test_plugin_rest_identity1"}' "HTTP/1.1 201 Created"
146 public="$(gnunet-identity -d | grep "test_plugin_rest_identity1" | awk 'NR==1{print $3}')"
147 curl_delete "${identity_link}/pubkey/$public" "HTTP/1.1 204"
148 curl_delete "${identity_link}/pubke/$public" "error"
149 curl_delete "${identity_link}/pubkey/${public}other=232" "HTTP/1.1 404"
152 curl_get "$wrong_link" "HTTP/1.1 404"
153 curl_post "$wrong_link" '{"name":"test_plugin_rest_identity"}' "HTTP/1.1 404"
154 curl_put "$wrong_link/name/test_plugin_rest_identity" '{"newname":"test_plugin_rest_identity1"}' "HTTP/1.1 404"
155 curl_delete "$wrong_link/name/test_plugin_rest_identity1" "HTTP/1.1 404"