]> source.dussan.org Git - rspamd.git/commitdiff
[Test] Some tests for settings
authorAndrew Lewis <nerf@judo.za.org>
Wed, 26 Apr 2017 14:35:20 +0000 (16:35 +0200)
committerAndrew Lewis <nerf@judo.za.org>
Wed, 26 Apr 2017 14:35:20 +0000 (16:35 +0200)
test/functional/cases/108_settings.robot [new file with mode: 0644]
test/functional/configs/settings.conf [new file with mode: 0644]
test/functional/lua/settings.lua [new file with mode: 0644]

diff --git a/test/functional/cases/108_settings.robot b/test/functional/cases/108_settings.robot
new file mode 100644 (file)
index 0000000..9a5a92e
--- /dev/null
@@ -0,0 +1,41 @@
+*** Settings ***
+Suite Setup     Settings Setup
+Suite Teardown  Settings Teardown
+Library         ${TESTDIR}/lib/rspamd.py
+Resource        ${TESTDIR}/lib/rspamd.robot
+Variables       ${TESTDIR}/lib/vars.py
+
+*** Variables ***
+${CONFIG}       ${TESTDIR}/configs/plugins.conf
+${LUA_SCRIPT}   ${TESTDIR}/lua/settings.lua
+${MESSAGE}      ${TESTDIR}/messages/spam_message.eml
+${RSPAMD_SCOPE}  Suite
+${URL_TLD}      ${TESTDIR}/../lua/unit/test_tld.dat
+
+*** Test Cases ***
+NO SETTINGS
+  ${result} =  Scan Message With Rspamc  ${MESSAGE}
+  Check Rspamc  ${result}  SIMPLE_TEST
+  Should Contain  ${result.stdout}  SIMPLE_PRE
+  Should Contain  ${result.stdout}  SIMPLE_POST
+
+ENABLE SYMBOL - SIMPLE_TEST
+  ${result} =  Scan Message With Rspamc  ${MESSAGE}  --header  Settings={symbols_enabled = ["SIMPLE_TEST"]}
+  Check Rspamc  ${result}  SIMPLE_TEST
+  Should Not Contain  ${result.stdout}  SIMPLE_PRE
+  Should Not Contain  ${result.stdout}  SIMPLE_POST
+
+ENABLE SYMBOL - SIMPLE_POST
+  ${result} =  Scan Message With Rspamc  ${MESSAGE}  --header  Settings={symbols_enabled = ["SIMPLE_TEST", "SIMPLE_POST"]}
+  Check Rspamc  ${result}  SIMPLE_TEST
+  Should Contain  ${result.stdout}  SIMPLE_POST
+  Should Not Contain  ${result.stdout}  SIMPLE_PRE
+
+*** Keywords ***
+Settings Setup
+  ${PLUGIN_CONFIG} =  Get File  ${TESTDIR}/configs/settings.conf
+  Set Suite Variable  ${PLUGIN_CONFIG}
+  Generic Setup  PLUGIN_CONFIG
+
+Settings Teardown
+  Normal Teardown
diff --git a/test/functional/configs/settings.conf b/test/functional/configs/settings.conf
new file mode 100644 (file)
index 0000000..d6baa95
--- /dev/null
@@ -0,0 +1,3 @@
+lua = ${LUA_SCRIPT};
+
+settings { }
diff --git a/test/functional/lua/settings.lua b/test/functional/lua/settings.lua
new file mode 100644 (file)
index 0000000..0be6f71
--- /dev/null
@@ -0,0 +1,26 @@
+rspamd_config:register_symbol({
+  name = 'SIMPLE_PRE',
+  score = 1.0,
+  priority = 9, -- after settings
+  type = 'prefilter',
+  callback = function()
+    return true, 'Fires always'
+  end
+})
+
+rspamd_config:register_symbol({
+  name = 'SIMPLE_POST',
+  score = 1.0,
+  type = 'postfilter',
+  callback = function()
+    return true, 'Fires always'
+  end
+})
+
+rspamd_config:register_symbol({
+  name = 'SIMPLE_TEST',
+  score = 1.0,
+  callback = function()
+    return true, 'Fires always'
+  end
+})