]> source.dussan.org Git - rspamd.git/commitdiff
[Test] Test for regexps in {sa_body} and urls with newlines 2492/head
authorMikhail Galanin <mgalanin@mimecast.com>
Tue, 18 Sep 2018 09:41:21 +0000 (10:41 +0100)
committerMikhail Galanin <mgalanin@mimecast.com>
Tue, 18 Sep 2018 09:41:21 +0000 (10:41 +0100)
test/functional/cases/260_regex.robot [new file with mode: 0644]
test/functional/lua/regex_test.lua [new file with mode: 0644]
test/functional/messages/newlines.eml [new file with mode: 0644]

diff --git a/test/functional/cases/260_regex.robot b/test/functional/cases/260_regex.robot
new file mode 100644 (file)
index 0000000..24bdca3
--- /dev/null
@@ -0,0 +1,37 @@
+*** Settings ***
+Test Setup      Regex Setup
+Test Teardown   Regex Teardown
+Library         ${TESTDIR}/lib/rspamd.py
+Resource        ${TESTDIR}/lib/rspamd.robot
+Variables       ${TESTDIR}/lib/vars.py
+
+*** Variables ***
+${CONFIG}       ${TESTDIR}/configs/plugins.conf
+${MESSAGE}      ${TESTDIR}/messages/newlines.eml
+${UTF_MESSAGE}  ${TESTDIR}/messages/utf.eml
+${URL_TLD}      ${TESTDIR}/../lua/unit/test_tld.dat
+${RSPAMD_SCOPE}  Test
+
+
+*** Test Cases ***
+Newlines 
+  ${result} =  Scan Message With Rspamc  ${MESSAGE}
+  Check Rspamc  ${result}  SA_BODY_WORD
+  Check Rspamc  ${result}  SA_BODY_WORD_WITH_SPACE
+  Check Rspamc  ${result}  SA_BODY_WORD_WITH_NEWLINE  inverse=true
+  Check Rspamc  ${result}  SA_BODY_WORD_WITH_SPACE_BOUNDARIES
+  Check Rspamc  ${result}  SA_BODY_WORD_WITH_SPACE_BOUNDARIES_2
+  Check Rspamc  ${result}  SA_BODY_WORD_WITH_SPACE_BOUNDARIES_3
+  Check Rspamc  ${result}  https://google.com/maps/
+  Check Rspamc  ${result}  https://www.google.com/search?q\=hello world&oq\=hello world&aqs\=chrome..69i57j0l5.3045j0j7&sourceid\=chrome&ie\=UTF-8
+  Check Rspamc  ${result}  https://github.com/google/sanitizers/wiki/AddressSanitizer
+
+
+*** Keywords ***
+Regex Setup
+  ${PLUGIN_CONFIG} =  Get File  ${TESTDIR}/configs/regexp.conf
+  Set Suite Variable  ${PLUGIN_CONFIG}
+  Generic Setup  PLUGIN_CONFIG
+
+Regex Teardown
+  Normal Teardown
diff --git a/test/functional/lua/regex_test.lua b/test/functional/lua/regex_test.lua
new file mode 100644 (file)
index 0000000..01f0e22
--- /dev/null
@@ -0,0 +1,12 @@
+local function get_urls(task)
+  local urls = task:get_urls()
+  for _, u in ipairs(urls) do
+    task:insert_result('FOUND_URL', 1.0, tostring(u))
+  end
+end
+
+rspamd_config:register_symbol({
+  name = 'SIMPLE',
+  score = 1.0,
+  callback = get_urls
+})
diff --git a/test/functional/messages/newlines.eml b/test/functional/messages/newlines.eml
new file mode 100644 (file)
index 0000000..090d180
--- /dev/null
@@ -0,0 +1,13 @@
+Content-Type: text/plain
+
+this is the word separated with newline:
+hello
+world
+
+this is the url separated with newline: <https://github.com/google/sanitizers/wi
+ki/AddressSanitizer>
+<https://www.google.com/search?q=hello+world&oq=hello+world&aqs=chro
+me..69i57j0l5.3045j0j7&sourceid=chrome&ie=UTF-8>
+<https://google.com
+/maps/> click here
+