check_sendsms.sh
上传用户:gzpyjq
上传日期:2013-01-31
资源大小:1852k
文件大小:4k
源码类别:

手机WAP编程

开发平台:

WINDOWS

  1. #!/bin/sh
  2. #
  3. # Use `test/fakesmsc' to test sendsms in smsbox.
  4. set -e
  5. #set -x
  6. times=10
  7. interval=0
  8. loglevel=0
  9. sendsmsport=13013
  10. global_sender=13013 
  11. username=tester
  12. password=foobar
  13. url="http://localhost:$sendsmsport/cgi-bin/sendsms?from=123&to=234&
  14. text=test&username=$username&password=$password"
  15. gw/bearerbox -v $loglevel gw/smskannel.conf > check_sendsms_bb.log 2>&1 &
  16. bbpid=$!
  17. sleep 2
  18. test/fakesmsc -i $interval -m $times '123 234 text nop' 
  19.     > check_sendsms_smsc.log 2>&1 &
  20. sleep 1
  21. gw/smsbox -v $loglevel gw/smskannel.conf > check_sendsms_sms.log 2>&1 &
  22. sleep 2
  23. # All cgivars are OK
  24. url="http://localhost:$sendsmsport/cgi-bin/sendsms?from=123&to=234&
  25. text=test&username=$username&password=$password"
  26. i=0
  27. while [ $i -lt $times ]
  28. do
  29.     test/test_http $url >> check_sendsms.log 2>&1
  30.     i=`expr $i + 1`
  31. done
  32. sleep 5
  33. if grep 'WARNING:|ERROR:|PANIC:' check_sendsms*.log >/dev/null ||
  34.    [ $times -ne `grep -c 'Got message .*: <123 234 text test>' 
  35.     check_sendsms_smsc.log` ]
  36. then
  37. echo check_sendsms.sh failed with non-empty fields 1>&2
  38. echo See check_sendsms*.log for info 1>&2
  39. exit 1
  40. fi
  41. # Empty fields: message. This is OK, we must get a canned reply
  42. url="http://localhost:$sendsmsport/cgi-bin/sendsms?from=123&to=234&
  43. text=&username=$username&password=$password"
  44. test/test_http $url >> check_sendsms.log 2>&1
  45. if grep 'WARNING:|ERROR:|PANIC:' check_sendsms*.log >/dev/null ||
  46.    [ 1 -ne `grep -c '<123 234 text <Empty reply from service provider>' 
  47.        check_sendsms_smsc.log` ]
  48. then
  49. echo check_sendsms.sh failed with empty message 1>&2
  50. echo See check_sendsms*.log for info 1>&2
  51. exit 1
  52. fi
  53. #From. This is OK, too: now global-sender replaces from field
  54. url="http://localhost:$sendsmsport/cgi-bin/sendsms?from=&to=234&
  55. text=test&username=$username&password=$password"
  56. test/test_http $url >> check_sendsms.log 2>&1
  57. if grep 'WARNING:|ERROR:|PANIC:' check_sendsms*.log >/dev/null ||
  58.    [ 1 -ne `grep -c '<'$global_sender' 234 text test>' check_sendsms_smsc.log` ]
  59. then
  60. echo check_sendsms.sh failed with empty from field 1>&2
  61. echo See check_sendsms*.log for info 1>&2
  62. exit 1
  63. fi
  64. #To. Now smsbox must report an error.
  65. url="http://localhost:$sendsmsport/cgi-bin/sendsms?from=123&to=&
  66. text=&username=$username&password=$password"
  67. test/test_http $url >> check_sendsms.log 2>&1
  68. if grep 'WARNING:|ERROR:|PANIC:' check_sendsms*.log >/dev/null ||
  69.    [ 1 -ne `grep -c 'got empty to cgi variable' check_sendsms_sms.log` ]
  70. then
  71. echo check_sendsms.sh failed with empty to field 1>&2
  72. echo See check_sendsms*.log for info 1>&2
  73. exit 1
  74. fi
  75. #Username. This is an authentication error.
  76. url="http://localhost:$sendsmsport/cgi-bin/sendsms?from=123&to=234&
  77. text=&username=&password=$password"
  78. test/test_http $url >> check_sendsms.log 2>&1
  79. if grep 'WARNING:|ERROR:|PANIC:' check_sendsms*.log >/dev/null ||
  80.    [ 1 -ne `grep -c '<Authorization failed for sendsms>' 
  81.        check_sendsms_sms.log` ]
  82. then
  83. echo check_sendsms.sh failed with empty username 1>&2
  84. echo See check_sendsms*.log for info 1>&2
  85. exit 1
  86. fi
  87. #Password. Ditto.
  88. url="http://localhost:$sendsmsport/cgi-bin/sendsms?from=123&to=234&
  89. text=&username=$username&password="
  90. if grep 'WARNING:|ERROR:|PANIC:' check_sendsms*.log >/dev/null ||
  91.    [ 1 -ne `grep -c '<Authorization failed for sendsms>' 
  92.        check_sendsms_sms.log` ]
  93. then
  94. echo check_sendsms.sh failed with empty password 1>&2
  95. echo See check_sendsms*.log for info 1>&2
  96. exit 1
  97. fi
  98. kill -INT $bbpid
  99. wait
  100. # Do we panic when going down ?
  101. if grep 'WARNING:|ERROR:|PANIC:' check_sendsms*.log >/dev/null
  102. then
  103. echo check_sendsms.sh failed when going down 1>&2
  104. echo See check_sendsms*.log for info 1>&2
  105. exit 1
  106. fi
  107. rm check_sendsms*.log
  108. exit 0