You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

220_http.robot 2.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. *** Settings ***
  2. Test Setup Http Setup
  3. Test Teardown Http Teardown
  4. Library Process
  5. Library ${TESTDIR}/lib/rspamd.py
  6. Resource ${TESTDIR}/lib/rspamd.robot
  7. Variables ${TESTDIR}/lib/vars.py
  8. *** Variables ***
  9. # ${CONFIG} ${TESTDIR}/configs/http.conf
  10. ${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
  11. ${CONFIG} ${TESTDIR}/configs/lua_test.conf
  12. ${MESSAGE} ${TESTDIR}/messages/spam_message.eml
  13. ${RSPAMD_SCOPE} Test
  14. *** Test Cases ***
  15. Simple HTTP request
  16. Check url /request get HTTP_DNS_200 HTTP_200 HTTP_CORO_DNS_200 HTTP_CORO_200 method_get hello world HTTP_CORO_200 (0.00)[hello world]
  17. Check url /request post HTTP_DNS_200 HTTP_200 HTTP_CORO_DNS_200 HTTP_CORO_200 method_post hello post HTTP_CORO_DNS_200 (0.00)[hello post]
  18. *** Test Cases ***
  19. HTTP request 403
  20. Check url /error_403 get HTTP_DNS_403 HTTP_403 HTTP_CORO_DNS_403 HTTP_CORO_403 method_get
  21. Check url /error_403 post HTTP_DNS_403 HTTP_403 HTTP_CORO_DNS_403 HTTP_CORO_403 method_post
  22. *** Test Cases ***
  23. HTTP timeout
  24. Check url /timeout get HTTP_ERROR HTTP_ERROR HTTP_CORO_DNS_ERROR HTTP_CORO_ERROR method_get IO timeout
  25. Check url /timeout post HTTP_DNS_ERROR HTTP_ERROR HTTP_CORO_DNS_ERROR HTTP_CORO_ERROR method_post IO timeout
  26. *** Test Cases ***
  27. HTTP empty response
  28. Check url /empty get HTTP_ERROR HTTP_ERROR HTTP_CORO_DNS_ERROR HTTP_CORO_ERROR method_get IO read error: unexpected EOF
  29. Check url /empty post HTTP_DNS_ERROR HTTP_ERROR HTTP_CORO_DNS_ERROR HTTP_CORO_ERROR method_post IO read error: unexpected EOF
  30. SSL Large HTTP request
  31. ${result} = Scan Message With Rspamc ${MESSAGE}
  32. Check Rspamc ${result} HTTP_SSL_LARGE
  33. *** Keywords ***
  34. Lua Setup
  35. [Arguments] ${LUA_SCRIPT}
  36. Set Suite Variable ${LUA_SCRIPT}
  37. Generic Setup
  38. Http Setup
  39. Run Dummy Http
  40. Run Dummy Https
  41. Lua Setup ${TESTDIR}/lua/http.lua
  42. Http Teardown
  43. ${http_pid} = Get File /tmp/dummy_http.pid
  44. Shutdown Process With Children ${http_pid}
  45. ${https_pid} = Get File /tmp/dummy_https.pid
  46. Shutdown Process With Children ${https_pid}
  47. Normal Teardown
  48. Run Dummy Http
  49. ${result} = Start Process ${TESTDIR}/util/dummy_http.py
  50. Wait Until Created /tmp/dummy_http.pid
  51. Run Dummy Https
  52. ${result} = Start Process ${TESTDIR}/util/dummy_https.py ${TESTDIR}/util/server.pem
  53. Wait Until Created /tmp/dummy_https.pid
  54. Check url
  55. [Arguments] ${url} ${method} @{expect_results}
  56. ${result} = Scan Message With Rspamc --header=url:${url} --header=method:${method} ${MESSAGE}
  57. FOR ${expect} IN @{expect_results}
  58. Check Rspamc ${result} ${expect}
  59. END