commit 4bb5f20: [Test] Multiple conditions

Andrew Lewis nerf at judo.za.org
Thu Nov 5 10:42:06 UTC 2020


Author: Andrew Lewis
Date: 2020-11-03 09:11:24 +0200
URL: https://github.com/rspamd/rspamd/commit/4bb5f20e1f6e2826664744f717d0d317cf97c444 (refs/pull/3538/head)

[Test] Multiple conditions

---
 test/functional/cases/101_lua.robot |  8 ++++++++
 test/functional/lua/conditions.lua  | 22 ++++++++++++++++++++++
 2 files changed, 30 insertions(+)

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)


More information about the Commits mailing list