]> source.dussan.org Git - rspamd.git/commitdiff
[Test] Add tests for IDs propagation
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 20 Aug 2019 16:38:47 +0000 (17:38 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 20 Aug 2019 16:38:47 +0000 (17:38 +0100)
test/functional/cases/108_settings.robot
test/functional/configs/settings.conf
test/functional/lua/settings.lua

index 31d04fa1e5891cefd345cc20747b434bca37ccb7..b7c75af03f9bfa1e5afec7896ef51289fa689eb3 100644 (file)
@@ -110,6 +110,7 @@ SETTINGS ID - VIRTUAL
   Check Rspamc  ${result}  SIMPLE_VIRTUAL
   Should Not Contain  ${result.stdout}  SIMPLE_TEST
   Should Not Contain  ${result.stdout}  SIMPLE_VIRTUAL1
+  Should Not Contain  ${result.stdout}  DEP_REAL
   Should Not Contain  ${result.stdout}  SIMPLE_POST
   Should Not Contain  ${result.stdout}  SIMPLE_PRE
 
@@ -119,6 +120,7 @@ SETTINGS ID - VIRTUAL GROUP
   Should Contain  ${result.stdout}  EXPLICIT_VIRTUAL (10
   Should Not Contain  ${result.stdout}  SIMPLE_TEST
   Should Not Contain  ${result.stdout}  SIMPLE_VIRTUAL1
+  Should Not Contain  ${result.stdout}  DEP_REAL
   Should Not Contain  ${result.stdout}  SIMPLE_POST
   Should Not Contain  ${result.stdout}  SIMPLE_PRE
 
@@ -128,6 +130,7 @@ SETTINGS ID - VIRTUAL FROM
   Should Contain  ${result.stdout}  EXPLICIT_VIRTUAL (10
   Should Not Contain  ${result.stdout}  SIMPLE_TEST
   Should Not Contain  ${result.stdout}  SIMPLE_VIRTUAL1
+  Should Not Contain  ${result.stdout}  DEP_REAL
   Should Not Contain  ${result.stdout}  SIMPLE_POST
   Should Not Contain  ${result.stdout}  SIMPLE_PRE
 
@@ -137,6 +140,7 @@ SETTINGS ID - VIRTUAL USER
   Should Contain  ${result.stdout}  EXPLICIT_VIRTUAL (10
   Should Not Contain  ${result.stdout}  SIMPLE_TEST
   Should Not Contain  ${result.stdout}  SIMPLE_VIRTUAL1
+  Should Not Contain  ${result.stdout}  DEP_REAL
   Should Not Contain  ${result.stdout}  SIMPLE_POST
   Should Not Contain  ${result.stdout}  SIMPLE_PRE
 
@@ -146,6 +150,7 @@ SETTINGS ID - VIRTUAL HOSTNAME
   Should Contain  ${result.stdout}  EXPLICIT_VIRTUAL (10
   Should Not Contain  ${result.stdout}  SIMPLE_TEST
   Should Not Contain  ${result.stdout}  SIMPLE_VIRTUAL1
+  Should Not Contain  ${result.stdout}  DEP_REAL
   Should Not Contain  ${result.stdout}  SIMPLE_POST
   Should Not Contain  ${result.stdout}  SIMPLE_PRE
 
@@ -155,6 +160,7 @@ SETTINGS ID - VIRTUAL SELECTOR
   Should Contain  ${result.stdout}  EXPLICIT_VIRTUAL (10
   Should Not Contain  ${result.stdout}  SIMPLE_TEST
   Should Not Contain  ${result.stdout}  SIMPLE_VIRTUAL1
+  Should Not Contain  ${result.stdout}  DEP_REAL
   Should Not Contain  ${result.stdout}  SIMPLE_POST
   Should Not Contain  ${result.stdout}  SIMPLE_PRE
 
@@ -164,6 +170,7 @@ SETTINGS ID - ANGLED RECIPIENT
   Should Contain  ${result.stdout}  EXPLICIT_VIRTUAL (10
   Should Not Contain  ${result.stdout}  SIMPLE_TEST
   Should Not Contain  ${result.stdout}  SIMPLE_VIRTUAL1
+  Should Not Contain  ${result.stdout}  DEP_REAL
   Should Not Contain  ${result.stdout}  SIMPLE_POST
   Should Not Contain  ${result.stdout}  SIMPLE_PRE
 
@@ -173,6 +180,7 @@ SETTINGS ID - VIRTUAL HEADER MATCH
   Should Contain  ${result.stdout}  EXPLICIT_VIRTUAL (10
   Should Not Contain  ${result.stdout}  SIMPLE_TEST
   Should Not Contain  ${result.stdout}  SIMPLE_VIRTUAL1
+  Should Not Contain  ${result.stdout}  DEP_REAL
   Should Not Contain  ${result.stdout}  SIMPLE_POST
   Should Not Contain  ${result.stdout}  SIMPLE_PRE
 
@@ -181,6 +189,7 @@ SETTINGS ID - VIRTUAL HEADER EXISTS
   Check Rspamc  ${result}  SIMPLE_VIRTUAL (10
   Should Not Contain  ${result.stdout}  SIMPLE_TEST
   Should Not Contain  ${result.stdout}  SIMPLE_VIRTUAL1
+  Should Not Contain  ${result.stdout}  DEP_REAL
   Should Not Contain  ${result.stdout}  SIMPLE_POST
   Should Not Contain  ${result.stdout}  SIMPLE_PRE
 
@@ -189,6 +198,7 @@ SETTINGS ID - VIRTUAL HEADER ABSENT
   Check Rspamc  ${result}  SIMPLE_VIRTUAL (10
   Should Not Contain  ${result.stdout}  SIMPLE_TEST
   Should Not Contain  ${result.stdout}  SIMPLE_VIRTUAL1
+  Should Not Contain  ${result.stdout}  DEP_REAL
   Should Not Contain  ${result.stdout}  SIMPLE_POST
   Should Not Contain  ${result.stdout}  SIMPLE_PRE
 
@@ -197,6 +207,17 @@ SETTINGS ID - VIRTUAL REQUEST HEADER
   Check Rspamc  ${result}  SIMPLE_VIRTUAL (10
   Should Not Contain  ${result.stdout}  SIMPLE_TEST
   Should Not Contain  ${result.stdout}  SIMPLE_VIRTUAL1
+  Should Not Contain  ${result.stdout}  DEP_REAL
+  Should Not Contain  ${result.stdout}  SIMPLE_POST
+  Should Not Contain  ${result.stdout}  SIMPLE_PRE
+
+SETTINGS ID - VIRTUAL DEP
+  ${result} =  Scan Message With Rspamc  ${MESSAGE}  --header  Settings-Id=id_virtual1
+  Check Rspamc  ${result}  EXPLICIT_VIRTUAL1
+  Should Contain  ${result.stdout}  DEP_VIRTUAL
+  Should Contain  ${result.stdout}  DEP_REAL
+  Should Not Contain  ${result.stdout}  SIMPLE_TEST
+  Should Not Contain  ${result.stdout}  SIMPLE_VIRTUAL
   Should Not Contain  ${result.stdout}  SIMPLE_POST
   Should Not Contain  ${result.stdout}  SIMPLE_PRE
 
index 34b7613b8d7c3536eddce270965364788d991411..0ba4de1c6fb7fb22c652d4d767f0d3198b9f26e3 100644 (file)
@@ -20,6 +20,15 @@ settings {
     }
   }
 
+  id_virtual1 {
+    apply {
+      symbols {
+        EXPLICIT_VIRTUAL1 = 10.0
+      }
+       symbols_enabled = ["DEP_REAL"];
+    }
+  }
+
   id_virtual_group {
     user = "test@example.com";
     from = "test2@example.com";
index d0f496c68e6009f4e5e8cb58d4c569f8f775add8..e072af62ccced71ba3ff25318590fbcce559e2fc 100644 (file)
@@ -47,3 +47,21 @@ rspamd_config:register_symbol({
   group = 'vg',
   parent = id,
 })
+
+id = rspamd_config:register_symbol({
+  name = 'DEP_REAL',
+  callback = function(task)
+    task:insert_result('DEP_VIRTUAL', 1.0)
+    return true
+  end,
+  score = 1.0,
+})
+
+rspamd_config:register_symbol({
+  name = 'DEP_VIRTUAL',
+  parent = id,
+  type = 'virtual',
+  score = 1.0,
+})
+
+rspamd_config:register_dependency('DEP_VIRTUAL', 'EXPLICIT_VIRTUAL1')
\ No newline at end of file