diff options
-rw-r--r-- | test/functional/cases/001_merged/101_lua.robot | 46 | ||||
-rw-r--r-- | test/functional/configs/merged-local.conf | 39 | ||||
-rw-r--r-- | test/functional/configs/merged.conf | 1 | ||||
-rw-r--r-- | test/functional/lua/deps.lua | 2 | ||||
-rw-r--r-- | test/functional/lua/limits.lua | 22 |
5 files changed, 108 insertions, 2 deletions
diff --git a/test/functional/cases/001_merged/101_lua.robot b/test/functional/cases/001_merged/101_lua.robot index 2cfc03677..51d5b4b23 100644 --- a/test/functional/cases/001_merged/101_lua.robot +++ b/test/functional/cases/001_merged/101_lua.robot @@ -52,4 +52,48 @@ External Maps Simple Task Inject Url Scan File ${URL_ICS} Settings={symbols_enabled = [TEST_INJECT_URL]} - Expect Symbol TEST_INJECT_URL
\ No newline at end of file + Expect Symbol TEST_INJECT_URL + +Group Score Positive + Scan File ${MESSAGE} Settings={symbols_enabled = [GR_POSITIVE1, GR_POSITIVE2, GR_POSITIVE4, GR_POSITIVE8, GR_POSITIVE16]} + Expect Symbol With Score GR_POSITIVE1 1 + Expect Symbol With Score GR_POSITIVE2 2 + Expect Symbol With Score GR_POSITIVE4 4 + Expect Symbol With Score GR_POSITIVE8 3 + Expect Symbol With Score GR_POSITIVE16 0 + +Group Score Negative + Scan File ${MESSAGE} Settings={symbols_enabled = [GR_NEGATIVE1, GR_NEGATIVE2, GR_NEGATIVE4, GR_NEGATIVE8]} + Expect Symbol With Score GR_NEGATIVE1 -1 + Expect Symbol With Score GR_NEGATIVE2 -2 + Expect Symbol With Score GR_NEGATIVE4 -4 + Expect Symbol With Score GR_NEGATIVE8 -3 + +Group Score Mix 1 + Scan File ${MESSAGE} Settings={symbols_enabled = [GR_POSITIVE1, GR_POSITIVE2, GR_POSITIVE4, GR_POSITIVE8, GR_NEGATIVE1, GR_NEGATIVE2, GR_NEGATIVE4, GR_NEGATIVE8]} + Expect Symbol With Score GR_POSITIVE1 1 + Expect Symbol With Score GR_POSITIVE2 2 + Expect Symbol With Score GR_POSITIVE4 4 + Expect Symbol With Score GR_POSITIVE8 3 + Expect Symbol With Score GR_NEGATIVE1 -1 + Expect Symbol With Score GR_NEGATIVE2 -2 + Expect Symbol With Score GR_NEGATIVE4 -4 + Expect Symbol With Score GR_NEGATIVE8 -8 + +Group Score Mix 2 + Scan File ${MESSAGE} Settings={symbols_enabled = [GR_POSITIVE1, GR_POSITIVE2, GR_POSITIVE4, GR_POSITIVE8, GR_NEGATIVE16]} + Expect Symbol With Score GR_POSITIVE1 1 + Expect Symbol With Score GR_POSITIVE2 2 + Expect Symbol With Score GR_POSITIVE4 4 + Expect Symbol With Score GR_POSITIVE8 3 + Expect Symbol With Score GR_NEGATIVE16 -16 + +Group Score Mix 3 + Scan File ${MESSAGE} Settings={symbols_enabled = [GR_POSITIVE1, GR_NEGATIVE16]} + Expect Symbol With Score GR_POSITIVE1 1 + Expect Symbol With Score GR_NEGATIVE16 -11 + +Group Score Mix 4 + Scan File ${MESSAGE} Settings={symbols_enabled = [GR_POSITIVE16, GR_NEGATIVE16]} + Expect Symbol With Score GR_POSITIVE16 10 + Expect Symbol With Score GR_NEGATIVE16 -16
\ No newline at end of file diff --git a/test/functional/configs/merged-local.conf b/test/functional/configs/merged-local.conf index 2d914b075..2aef274c2 100644 --- a/test/functional/configs/merged-local.conf +++ b/test/functional/configs/merged-local.conf @@ -965,6 +965,45 @@ symbols { } } +group "test" { + max_score = 10; + min_score = -10; + + symbols = { + "GR_POSITIVE1" = { + score = 1.0; + }, + "GR_POSITIVE2" = { + score = 2.0; + }, + "GR_POSITIVE4" = { + score = 4.0; + }, + "GR_POSITIVE8" = { + score = 8.0; + }, + "GR_POSITIVE16" = { + score = 16.0; + }, + + "GR_NEGATIVE1" = { + score = -1.0; + }, + "GR_NEGATIVE2" = { + score = -2.0; + }, + "GR_NEGATIVE4" = { + score = -4.0; + }, + "GR_NEGATIVE8" = { + score = -8.0; + }, + "GR_NEGATIVE16" = { + score = -16.0; + }, + } +} + worker "controller" { bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_CONTROLLER =}"; keypair { diff --git a/test/functional/configs/merged.conf b/test/functional/configs/merged.conf index 0ee224ceb..06a34308d 100644 --- a/test/functional/configs/merged.conf +++ b/test/functional/configs/merged.conf @@ -11,6 +11,7 @@ lua = "{= env.TESTDIR =}/lua/recipients.lua" lua = "{= env.TESTDIR =}/lua/remove_result.lua" lua = "{= env.TESTDIR =}/lua/tlds.lua" lua = "{= env.TESTDIR =}/lua/inject_url.lua" +lua = "{= env.TESTDIR =}/lua/limits.lua" # 104_get_from lua = "{= env.TESTDIR =}/lua/get_from.lua" diff --git a/test/functional/lua/deps.lua b/test/functional/lua/deps.lua index 6171db699..b78d3abb7 100644 --- a/test/functional/lua/deps.lua +++ b/test/functional/lua/deps.lua @@ -24,7 +24,7 @@ rspamd_config:register_virtual_symbol('TOP', 1.0, id) rspamd_config:register_symbol('DEP1', 1.0, cb_dep1) rspamd_config:register_dependency('DEP1', 'TOP') -for i = 2,10 do +for i = 2, 10 do rspamd_config:register_symbol('DEP' .. tostring(i), 1.0, cb_gen(i - 1)) rspamd_config:register_dependency('DEP' .. tostring(i), 'DEP' .. tostring(i - 1)) end diff --git a/test/functional/lua/limits.lua b/test/functional/lua/limits.lua new file mode 100644 index 000000000..52fb47fb9 --- /dev/null +++ b/test/functional/lua/limits.lua @@ -0,0 +1,22 @@ +local true_cb_gen = function() + return function() + return true + end +end + +local test_weights = { 1, 2, 4, 8, 16 } +for _, i in ipairs(test_weights) do + rspamd_config:register_symbol('GR_POSITIVE' .. tostring(i), 1.0, true_cb_gen()) + + if i > 1 then + rspamd_config:register_dependency('GR_POSITIVE' .. tostring(i), 'GR_POSITIVE' .. tostring(i / 2)) + end + + rspamd_config:register_symbol('GR_NEGATIVE' .. tostring(i), 1.0, true_cb_gen()) + + if i > 1 then + rspamd_config:register_dependency('GR_NEGATIVE' .. tostring(i), 'GR_NEGATIVE' .. tostring(i / 2)) + end +end + +rspamd_config:register_dependency('GR_NEGATIVE1', 'GR_POSITIVE16')
\ No newline at end of file |