test_namestore_delete.sh 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #!/bin/bash
  2. CONFIGURATION="test_namestore_api.conf"
  3. trap "gnunet-arm -e -c $CONFIGURATION" SIGINT
  4. LOCATION=$(which gnunet-config)
  5. if [ -z $LOCATION ]
  6. then
  7. LOCATION="gnunet-config"
  8. fi
  9. $LOCATION --version 1> /dev/null
  10. if test $? != 0
  11. then
  12. echo "GNUnet command line tools cannot be found, check environmental variables PATH and GNUNET_PREFIX"
  13. exit 77
  14. fi
  15. rm -rf `$LOCATION -c $CONFIGURATION -s PATHS -o GNUNET_HOME`
  16. TEST_DOMAIN_PLUS="www.gnu"
  17. TEST_DOMAIN_DNS="www3.gnu"
  18. TEST_IP_PLUS="127.0.0.1"
  19. TEST_IP_DNS="131.159.74.67"
  20. TEST_RECORD_CNAME_SERVER="server"
  21. TEST_RECORD_CNAME_PLUS="server.+"
  22. TEST_RECORD_CNAME_DNS="gnunet.org"
  23. TEST_RECORD_NAME_SERVER="server"
  24. TEST_RECORD_NAME_PLUS="www"
  25. TEST_RECORD_NAME_DNS="www3"
  26. which timeout &> /dev/null && DO_TIMEOUT="timeout 5"
  27. function start_peer
  28. {
  29. gnunet-arm -s -c $CONFIGURATION
  30. gnunet-identity -C testego -c $CONFIGURATION
  31. }
  32. function stop_peer
  33. {
  34. gnunet-identity -D testego -c $CONFIGURATION
  35. gnunet-arm -e -c $CONFIGURATION
  36. }
  37. start_peer
  38. # Create a public record
  39. gnunet-namestore -p -z testego -a -n $TEST_RECORD_NAME_DNS -t A -V $TEST_IP_PLUS -e never -c $CONFIGURATION
  40. # Delete record
  41. gnunet-namestore -p -z testego -d -n $TEST_RECORD_NAME_DNS -t A -V $TEST_IP_PLUS -e never -c $CONFIGURATION
  42. # List all records
  43. OUTPUT=`gnunet-namestore -p -z testego -D`
  44. FOUND_IP=false
  45. FOUND_NAME=false
  46. for LINE in $OUTPUT ;
  47. do
  48. if echo "$LINE" | grep -q "$TEST_RECORD_NAME_DNS"; then
  49. FOUND_NAME=true;
  50. fi
  51. if echo "$LINE" | grep -q "$TEST_IP_PLUS"; then
  52. FOUND_IP=true;
  53. fi
  54. done
  55. stop_peer
  56. if [ $FOUND_NAME = false -a $FOUND_IP != false ]
  57. then
  58. echo "PASS: Delete name in namestore"
  59. exit 0
  60. elif [ $FOUND_NAME = true ]
  61. then
  62. echo "FAIL: Delete name in namestore: name returned"
  63. exit 1
  64. elif [ $FOUND_IP = true ]
  65. then
  66. echo "FAIL: Delete name in namestore: IP returned"
  67. exit 1
  68. fi