[Test] Some tests for settings

This commit is contained in:
Andrew Lewis 2017-04-26 16:35:20 +02:00
parent a31d3cddc4
commit 1ca24ef406
3 changed files with 70 additions and 0 deletions

View File

@ -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

View File

@ -0,0 +1,3 @@
lua = ${LUA_SCRIPT};
settings { }

View File

@ -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
})