]> source.dussan.org Git - rspamd.git/commitdiff
[Test] Multiple conditions 3538/head
authorAndrew Lewis <nerf@judo.za.org>
Tue, 3 Nov 2020 07:11:24 +0000 (09:11 +0200)
committerAndrew Lewis <nerf@judo.za.org>
Tue, 3 Nov 2020 07:17:10 +0000 (09:17 +0200)
test/functional/cases/101_lua.robot
test/functional/lua/conditions.lua [new file with mode: 0644]

index 6e40c730069d41e80adcce4cb0b9731bea0c4387..215ecd0865d859b877f2b2282c53ec52231744f7 100644 (file)
@@ -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 (file)
index 0000000..2baa04b
--- /dev/null
@@ -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)