aboutsummaryrefslogtreecommitdiff
path: root/src/namestore/test_plugin_rest_namestore.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/namestore/test_plugin_rest_namestore.sh')
-rwxr-xr-xsrc/namestore/test_plugin_rest_namestore.sh195
1 files changed, 92 insertions, 103 deletions
diff --git a/src/namestore/test_plugin_rest_namestore.sh b/src/namestore/test_plugin_rest_namestore.sh
index 532c7caae..f3a4b7c49 100755
--- a/src/namestore/test_plugin_rest_namestore.sh
+++ b/src/namestore/test_plugin_rest_namestore.sh
@@ -1,44 +1,65 @@
1#!/usr/bin/bash 1#!/bin/sh
2trap "gnunet-arm -e -c test_gns_lookup.conf" SIGINT
2 3
3#First, start gnunet-arm and the rest-service. 4LOCATION=$(which gnunet-config)
4#Exit 0 means success, exit 1 means failed test 5if [ -z $LOCATION ]
6then
7 LOCATION="gnunet-config"
8fi
9$LOCATION --version 1> /dev/null
10if test $? != 0
11then
12 echo "GNUnet command line tools cannot be found, check environmental variables PATH and GNUNET_PREFIX"
13 exit 77
14fi
15
16rm -rf `gnunet-config -c test_namestore_api.conf -f -s paths -o GNUNET_TEST_HOME`
5 17
6namestore_link="http://localhost:7776/namestore" 18namestore_link="http://localhost:7776/namestore"
7wrong_link="http://localhost:7776/namestoreandmore" 19wrong_link="http://localhost:7776/namestoreandmore"
8 20
9 21
10curl_get () { 22curl_get () {
11 #$1 is link 23 #$1 is link
12 #$2 is grep 24 #$2 is grep
13 cache="$(curl -v "$1" 2>&1 | grep "$2")" 25 resp=$(curl -v "$1" 2>&1)
14 echo $cache 26 cache="$(echo $resp | grep "$2")"
15 if [ "" == "$cache" ] 27 #echo $cache
16 then 28 if [ "" == "$cache" ]
17 exit 1 29 then
18 fi 30 echo "Error in get response: $resp, expected $2"
31 gnunet-arm -e -c test_namestore_api.conf
32 exit 1
33 fi
19} 34}
20 35
21curl_post () { 36curl_post () {
22 #$1 is link 37 #$1 is link
23 #$2 is data 38 #$2 is data
24 #$3 is grep 39 #$3 is grep
25 cache="$(curl -v -X "POST" "$1" --data "$2" 2>&1 | grep "$3")" 40 resp=$(curl -v -X "POST" "$1" --data "$2" 2>&1)
26 echo $cache 41 cache="$(echo $resp | grep "$3")"
27 if [ "" == "$cache" ] 42 #echo $cache
28 then 43 if [ "" == "$cache" ]
29 exit 1 44 then
30 fi 45 echo "Error in post response: $resp ($2), expected $3"
46 gnunet-arm -e -c test_namestore_api.conf
47 exit 1
48 fi
31} 49}
32 50
33curl_delete () { 51curl_delete () {
34 #$1 is link 52 #$1 is link
35 #$2 is grep 53 #$2 is grep
36 cache="$(curl -v -X "DELETE" "$1" 2>&1 | grep "$2")" 54 resp=$(curl -v -X "DELETE" "$1" 2>&1)
37 echo $cache 55 cache="$(echo $resp | grep "$2")"
38 if [ "" == "$cache" ] 56 #echo $cache
39 then 57 if [ "" == "$cache" ]
40 exit 1 58 then
41 fi 59 echo "Error in delete response: $resp, expected $2"
60 gnunet-arm -e -c test_namestore_api.conf
61 exit 1
62 fi
42} 63}
43 64
44# curl_put () { 65# curl_put () {
@@ -55,93 +76,61 @@ curl_delete () {
55 76
56#Test subsystem default identity 77#Test subsystem default identity
57 78
79TEST_ID="test"
80gnunet-arm -s -c test_namestore_api.conf
81gnunet-arm -i rest -c test_namestore_api.conf
58#Test GET 82#Test GET
59gnunet-identity -D "test_plugin_rest_namestore" 83gnunet-identity -C $TEST_ID -c test_namestore_api.conf
60gnunet-identity -C "test_plugin_rest_namestore" 84test="$(gnunet-namestore -D -z $TEST_ID -c test_namestore_api.conf)"
61test="$(gnunet-namestore -D -z "test_plugin_rest_namestore")" 85name=$TEST_ID
62name="test_plugin_rest_namestore" 86public="$(gnunet-identity -d -c test_namestore_api.conf | grep $TEST_ID | awk 'NR==1{print $3}')"
63public="$(gnunet-identity -d | grep "test_plugin_rest_namestore" | awk 'NR==1{print $3}')" 87gnunet-namestore -z $name -p -a -n "test_entry" -e "1d" -V "HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG" -t "PKEY" -c test_namestore_api.conf
64if [ "" == "$test" ]
65then
66 #if no entries for test_plugin_rest_namestore
67 curl_get "${namestore_link}/$name" "error"
68 curl_get "${namestore_link}/" "error"
69 curl_get "${namestore_link}/$public" "error"
70else
71 #if entries exists (that should not be possible)
72 curl_get "${namestore_link}" "HTTP/1.1 200 OK"
73 curl_get "${namestore_link}/$name" "HTTP/1.1 200 OK"
74 curl_get "${namestore_link}/" "error"
75 curl_get "${namestore_link}/$public" "error"
76fi
77gnunet-namestore -z $name -p -a -n "test_entry" -e "1d" -V "HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG" -t "PKEY"
78curl_get "${namestore_link}" "HTTP/1.1 200 OK" 88curl_get "${namestore_link}" "HTTP/1.1 200 OK"
79curl_get "${namestore_link}/$name" "HTTP/1.1 200 OK" 89curl_get "${namestore_link}/$name" "HTTP/1.1 200 OK"
80curl_get "${namestore_link}/" "error"
81curl_get "${namestore_link}/$public" "error" 90curl_get "${namestore_link}/$public" "error"
82gnunet-namestore -z $name -d -n "test_entry" 91gnunet-namestore -z $name -d -n "test_entry" -c test_namestore_api.conf
83 92
84#Test POST with NAME 93#Test POST with NAME
85curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":0,"record_name":"test_entry"}' "HTTP/1.1 204 No Content" 94curl_post "${namestore_link}/$name" '{"data": [{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":0}],"record_name":"test_entry"}' "HTTP/1.1 204 No Content"
86gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1 95gnunet-namestore -z $name -d -n "test_entry" -c test_namestore_api.conf > /dev/null 2>&1
87#value 96
88curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRGxxx", "record_type":"PKEY", "expiration_time":"1d","flag":0,"record_name":"test_entry"}' "error" 97# invalid values
89gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1 98curl_post "${namestore_link}/$name" '{"data": [{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRGxxx", "record_type":"PKEY", "expiration_time":"1d","flag":0}],"record_name":"test_entry"}' "error"
90curl_post "${namestore_link}/$name" '{"value":"", "record_type":"PKEY", "expiration_time":"1d","flag":0,"record_name":"test_entry"}' "error" 99gnunet-namestore -z $name -d -n "test_entry" -c test_namestore_api.conf > /dev/null 2>&1
91gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1 100
92curl_post "${namestore_link}/$name" '{"value_missing":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRGxxx", "record_type":"PKEY", "expiration_time":"1d","flag":0,"record_name":"test_entry"}' "error" 101
93gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1 102curl_post "${namestore_link}/$name" '{"data": [{"value":"", "record_type":"PKEY", "expiration_time":"1d","flag":0,"record_name"}]:"test_entry"}' "error"
94#time 103gnunet-namestore -z $name -d -n "test_entry" -c test_namestore_api.conf > /dev/null 2>&1
95curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"0d","flag":0,"record_name":"test_entry"}' "HTTP/1.1 204" 104
96gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1 105curl_post "${namestore_link}/$name" '{"data": [{"record_type":"PKEY", "expiration_time":"1d","flag":0}],"record_name":"test_entry"}' "error"
97curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"10000d","flag":0,"record_name":"test_entry"}' "HTTP/1.1 204" 106gnunet-namestore -z $name -d -n "test_entry" -c test_namestore_api.conf > /dev/null 2>&1
98gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1 107
99curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"now","flag":0,"record_name":"test_entry"}' "error" 108#expirations
100gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1 109curl_post "${namestore_link}/$name" '{"data": [{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"0d","flag":0}],"record_name":"test_entry"}' "HTTP/1.1 204"
101curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"","flag":0,"record_name":"test_entry"}' "error" 110gnunet-namestore -z $name -d -n "test_entry" -c test_namestore_api.conf > /dev/null 2>&1
102gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1 111
103curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time_missing":"1d","flag":0,"record_name":"test_entry"}' "error" 112curl_post "${namestore_link}/$name" '{"data": [{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"10000d","flag":0}],"record_name":"test_entry"}' "HTTP/1.1 204"
104gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1 113gnunet-namestore -z $name -d -n "test_entry" -c test_namestore_api.conf > /dev/null 2>&1
105#flag 114
106curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":0,"record_name":"test_entry"}' "HTTP/1.1 204 No Content" 115curl_post "${namestore_link}/$name" '{"data": [{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"now","flag":0}],"record_name":"test_entry"}' "error"
107gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1 116gnunet-namestore -z $name -d -n "test_entry" -c test_namestore_api.conf > /dev/null 2>&1
108curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":2,"record_name":"test_entry"}' "HTTP/1.1 204 No Content" 117
109gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1 118curl_post "${namestore_link}/$name" '{"data": [{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time_missing":"1d","flag":0}],"record_name":"test_entry"}' "error"
110curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":8,"record_name":"test_entry"}' "HTTP/1.1 204 No Content" 119gnunet-namestore -z $name -d -n "test_entry" -c test_namestore_api.conf > /dev/null 2>&1
111gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1 120
112curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":16,"record_name":"test_entry"}' "HTTP/1.1 204 No Content"
113gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
114curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":-1,"record_name":"test_entry"}' "error"
115gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
116curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":"Test","record_name":"test_entry"}' "error"
117gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
118curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":,"record_name":"test_entry"}' "error"
119gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
120curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag_missing":0,"record_name":"test_entry"}' "error"
121gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
122#record_name 121#record_name
123curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":0,"record_name":"test_entry"}' "HTTP/1.1 204 No Content" 122curl_post "${namestore_link}/$name" '{"data": [{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":0}],"record_name":""}' "error"
124curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":0,"record_name":"test_entry"}' "HTTP/1.1 204 No Content" 123gnunet-namestore -z $name -d -n "test_entry" -c test_namestore_api.conf > /dev/null 2>&1
125gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1 124curl_post "${namestore_link}/$name" '{"data": [{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":0}],"record_name_missing":"test_entry"}' "error"
126curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":0,"record_name":""}' "error" 125gnunet-namestore -z $name -d -n "test_entry" -c test_namestore_api.conf > /dev/null 2>&1
127gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
128curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":0,"record_name_missing":"test_entry"}' "error"
129gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
130
131#wrong zone
132curl_post "${namestore_link}/$public" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":0,"record_name":"test_entry"}' "error"
133gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
134 126
135#Test DELETE 127#Test DELETE
136gnunet-namestore -z $name -p -a -n "test_entry" -e "1d" -V "HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG" -t "PKEY" 128gnunet-namestore -z $name -p -a -n "test_entry" -e "1d" -V "HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG" -t "PKEY" -c test_namestore_api.conf
137curl_delete "${namestore_link}/$name?record_name=test_entry" "HTTP/1.1 204" 129curl_delete "${namestore_link}/$name?record_name=test_entry" "HTTP/1.1 204"
138curl_delete "${namestore_link}/$name?record_name=test_entry" "error" 130curl_delete "${namestore_link}/$name?record_name=test_entry" "error"
139gnunet-namestore -z $name -p -a -n "test_entry" -e "1d" -V "HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG" -t "PKEY" 131gnunet-namestore -z $name -p -a -n "test_entry" -e "1d" -V "HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG" -t "PKEY" -c test_namestore_api.conf
140curl_delete "${namestore_link}/$public?record_name=test_entry" "error" 132curl_delete "${namestore_link}/$public?record_name=test_entry" "error"
141 133
142 134gnunet-arm -e -c test_namestore_api.conf
143#Test default identity
144#not possible without defining
145
146exit 0; 135exit 0;
147 136