aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--test/functional/cases/101_lua.robot8
-rw-r--r--test/functional/lua/conditions.lua22
2 files changed, 30 insertions, 0 deletions
diff --git a/test/functional/cases/101_lua.robot b/test/functional/cases/101_lua.robot
index 6e40c7300..215ecd086 100644
--- a/test/functional/cases/101_lua.robot
+++ b/test/functional/cases/101_lua.robot
@@ -61,6 +61,14 @@ Option Order
Expect Symbol With Exact Options OPTION_ORDER one two three 4 5 a
Expect Symbol With Exact Options TBL_OPTION_ORDER one two three 4 5 a
+Rule conditions
+ [Setup] Lua Replace Setup ${TESTDIR}/lua/conditions.lua
+ [Teardown] Lua Replace Teardown
+ Scan File ${MESSAGE}
+ Expect Symbol With Option ANY_A hello3
+ Expect Symbol With Option ANY_A hello1
+ Expect Symbol With Option ANY_A hello2
+
*** Keywords ***
Lua Setup
[Arguments] ${LUA_SCRIPT}
diff --git a/test/functional/lua/conditions.lua b/test/functional/lua/conditions.lua
new file mode 100644
index 000000000..2baa04bfe
--- /dev/null
+++ b/test/functional/lua/conditions.lua
@@ -0,0 +1,22 @@
+local logger = require 'rspamd_logger'
+
+rspamd_config:register_symbol({
+ name = 'ANY_A',
+ score = -1.0,
+ group = "any",
+ callback = function()
+ return true, 'hello3'
+ end
+})
+
+rspamd_config:add_condition('ANY_A', function(task)
+ logger.infox(task, 'hello from condition1')
+ task:insert_result('ANY_A', 1.0, 'hello1')
+ return true
+end)
+
+rspamd_config:add_condition('ANY_A', function(task)
+ logger.infox(task, 'hello from condition2')
+ task:insert_result('ANY_A', 1.0, 'hello2')
+ return true
+end)