test_plugin_rest_namestore.sh 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. #!/usr/bin/bash
  2. #First, start gnunet-arm and the rest-service.
  3. #Exit 0 means success, exit 1 means failed test
  4. namestore_link="http://localhost:7776/namestore"
  5. wrong_link="http://localhost:7776/namestoreandmore"
  6. curl_get () {
  7. #$1 is link
  8. #$2 is grep
  9. cache="$(curl -v "$1" 2>&1 | grep "$2")"
  10. echo $cache
  11. if [ "" == "$cache" ]
  12. then
  13. exit 1
  14. fi
  15. }
  16. curl_post () {
  17. #$1 is link
  18. #$2 is data
  19. #$3 is grep
  20. cache="$(curl -v -X "POST" "$1" --data "$2" 2>&1 | grep "$3")"
  21. echo $cache
  22. if [ "" == "$cache" ]
  23. then
  24. exit 1
  25. fi
  26. }
  27. curl_delete () {
  28. #$1 is link
  29. #$2 is grep
  30. cache="$(curl -v -X "DELETE" "$1" 2>&1 | grep "$2")"
  31. echo $cache
  32. if [ "" == "$cache" ]
  33. then
  34. exit 1
  35. fi
  36. }
  37. # curl_put () {
  38. # #$1 is link
  39. # #$2 is data
  40. # #$3 is grep
  41. # cache="$(curl -v -X "PUT" "$1" --data "$2" 2>&1 | grep "$3")"
  42. # #echo $cache
  43. # if [ "" == "$cache" ]
  44. # then
  45. # exit 1
  46. # fi
  47. # }
  48. #Test subsystem default identity
  49. #Test GET
  50. gnunet-identity -D "test_plugin_rest_namestore"
  51. gnunet-identity -C "test_plugin_rest_namestore"
  52. test="$(gnunet-namestore -D -z "test_plugin_rest_namestore")"
  53. name="test_plugin_rest_namestore"
  54. public="$(gnunet-identity -d | grep "test_plugin_rest_namestore" | awk 'NR==1{print $3}')"
  55. if [ "" == "$test" ]
  56. then
  57. #if no entries for test_plugin_rest_namestore
  58. curl_get "${namestore_link}/$name" "error"
  59. curl_get "${namestore_link}/" "error"
  60. curl_get "${namestore_link}/$public" "error"
  61. else
  62. #if entries exists (that should not be possible)
  63. curl_get "${namestore_link}" "HTTP/1.1 200 OK"
  64. curl_get "${namestore_link}/$name" "HTTP/1.1 200 OK"
  65. curl_get "${namestore_link}/" "error"
  66. curl_get "${namestore_link}/$public" "error"
  67. fi
  68. gnunet-namestore -z $name -p -a -n "test_entry" -e "1d" -V "HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG" -t "PKEY"
  69. curl_get "${namestore_link}" "HTTP/1.1 200 OK"
  70. curl_get "${namestore_link}/$name" "HTTP/1.1 200 OK"
  71. curl_get "${namestore_link}/" "error"
  72. curl_get "${namestore_link}/$public" "error"
  73. gnunet-namestore -z $name -d -n "test_entry"
  74. #Test POST with NAME
  75. curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":0,"record_name":"test_entry"}' "HTTP/1.1 204 No Content"
  76. gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
  77. #value
  78. curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRGxxx", "record_type":"PKEY", "expiration_time":"1d","flag":0,"record_name":"test_entry"}' "error"
  79. gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
  80. curl_post "${namestore_link}/$name" '{"value":"", "record_type":"PKEY", "expiration_time":"1d","flag":0,"record_name":"test_entry"}' "error"
  81. gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
  82. curl_post "${namestore_link}/$name" '{"value_missing":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRGxxx", "record_type":"PKEY", "expiration_time":"1d","flag":0,"record_name":"test_entry"}' "error"
  83. gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
  84. #time
  85. curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"0d","flag":0,"record_name":"test_entry"}' "HTTP/1.1 204"
  86. gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
  87. curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"10000d","flag":0,"record_name":"test_entry"}' "HTTP/1.1 204"
  88. gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
  89. curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"now","flag":0,"record_name":"test_entry"}' "error"
  90. gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
  91. curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"","flag":0,"record_name":"test_entry"}' "error"
  92. gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
  93. curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time_missing":"1d","flag":0,"record_name":"test_entry"}' "error"
  94. gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
  95. #flag
  96. curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":0,"record_name":"test_entry"}' "HTTP/1.1 204 No Content"
  97. gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
  98. curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":2,"record_name":"test_entry"}' "HTTP/1.1 204 No Content"
  99. gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
  100. curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":8,"record_name":"test_entry"}' "HTTP/1.1 204 No Content"
  101. gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
  102. curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":16,"record_name":"test_entry"}' "HTTP/1.1 204 No Content"
  103. gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
  104. curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":-1,"record_name":"test_entry"}' "error"
  105. gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
  106. curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":"Test","record_name":"test_entry"}' "error"
  107. gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
  108. curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":,"record_name":"test_entry"}' "error"
  109. gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
  110. curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag_missing":0,"record_name":"test_entry"}' "error"
  111. gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
  112. #record_name
  113. curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":0,"record_name":"test_entry"}' "HTTP/1.1 204 No Content"
  114. curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":0,"record_name":"test_entry"}' "HTTP/1.1 204 No Content"
  115. gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
  116. curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":0,"record_name":""}' "error"
  117. gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
  118. curl_post "${namestore_link}/$name" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":0,"record_name_missing":"test_entry"}' "error"
  119. gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
  120. #wrong zone
  121. curl_post "${namestore_link}/$public" '{"value":"HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG", "record_type":"PKEY", "expiration_time":"1d","flag":0,"record_name":"test_entry"}' "error"
  122. gnunet-namestore -z $name -d -n "test_entry" > /dev/null 2>&1
  123. #Test DELETE
  124. gnunet-namestore -z $name -p -a -n "test_entry" -e "1d" -V "HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG" -t "PKEY"
  125. curl_delete "${namestore_link}/$name?record_name=test_entry" "HTTP/1.1 204"
  126. curl_delete "${namestore_link}/$name?record_name=test_entry" "error"
  127. gnunet-namestore -z $name -p -a -n "test_entry" -e "1d" -V "HVX38H2CB7WJM0WCPWT9CFX6GASMYJVR65RN75SJSSKAYVYXHMRG" -t "PKEY"
  128. curl_delete "${namestore_link}/$public?record_name=test_entry" "error"
  129. #Test default identity
  130. #not possible without defining
  131. exit 0;