aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAndrew Lewis <nerf@judo.za.org>2024-07-30 16:16:28 +0200
committerAndrew Lewis <nerf@judo.za.org>2024-07-30 16:16:28 +0200
commitb23a707b11b5d1aaf12ad61add83699a5324e73e (patch)
tree771df39f28f774b50f4748cf9fbe3f64a5abbfe9 /test
parent2adcd0a6f7318d62871727c866aad5640e552e70 (diff)
downloadrspamd-b23a707b11b5d1aaf12ad61add83699a5324e73e.tar.gz
rspamd-b23a707b11b5d1aaf12ad61add83699a5324e73e.zip
[Test] Add more tests for milter_headers
Diffstat (limited to 'test')
-rw-r--r--test/functional/cases/550_milter_headers.robot21
-rw-r--r--test/functional/configs/milter_headers.conf11
-rw-r--r--test/functional/lib/rspamd.robot22
3 files changed, 52 insertions, 2 deletions
diff --git a/test/functional/cases/550_milter_headers.robot b/test/functional/cases/550_milter_headers.robot
index 737d0b42d..80471b83c 100644
--- a/test/functional/cases/550_milter_headers.robot
+++ b/test/functional/cases/550_milter_headers.robot
@@ -11,10 +11,29 @@ ${MESSAGE} ${RSPAMD_TESTDIR}/messages/zip.eml
${RSPAMD_SCOPE} Suite
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat
${SETTINGS_NOSYMBOLS} {symbols_enabled = []}
-${SETTINGS_TEST} {symbols_enabled = [SIMPLE_TEST]}
+${SETTINGS_TEST} {SIMPLE_TEST = 2.0, symbols_enabled = [SIMPLE_TEST]}
*** Test Cases ***
CHECK HEADERS WITH TEST SYMBOL
Scan File ${MESSAGE} Settings=${SETTINGS_TEST}
+ # Check X-Virus header
Expect Removed Header X-Virus
Expect Added Header X-Virus Fires always
+ # Check My-Spamd-Bar header
+ Expect Added Header My-Spamd-Bar ++
+ Do Not Expect Removed Header My-Spamd-Bar
+ # Check X-Spam-Level header
+ Expect Added Header X-Spam-Level **
+ Expect Removed Header X-Spam-Level
+
+CHECK HEADERS WITHOUT TEST SYMBOL
+ Scan File ${MESSAGE} Settings=${SETTINGS_NOSYMBOLS}
+ # Check X-Virus header
+ Expect Removed Header X-Virus
+ Do Not Expect Added Header X-Virus
+ # Check My-Spamd-Bar header
+ Expect Added Header My-Spamd-Bar /
+ Do Not Expect Removed Header My-Spamd-Bar
+ # Check X-Spam-Level header
+ Do Not Expect Added Header X-Spam-Level
+ Expect Removed Header X-Spam-Level
diff --git a/test/functional/configs/milter_headers.conf b/test/functional/configs/milter_headers.conf
index 0787e9463..947bc28dd 100644
--- a/test/functional/configs/milter_headers.conf
+++ b/test/functional/configs/milter_headers.conf
@@ -4,9 +4,18 @@ lua = "{= env.TESTDIR =}/lua/simple.lua"
milter_headers {
- use = ["x-virus"];
+ use = ["remove-headers", "x-spam-level", "x-spamd-bar", "x-virus"];
routines {
+ remove-headers {
+ headers {
+ "X-Spam-Level" = 0,
+ }
+ }
+ x-spamd-bar {
+ header = "My-Spamd-Bar";
+ remove = null;
+ }
x-virus {
symbols = ["SIMPLE_TEST"];
}
diff --git a/test/functional/lib/rspamd.robot b/test/functional/lib/rspamd.robot
index 917b01298..c45a19908 100644
--- a/test/functional/lib/rspamd.robot
+++ b/test/functional/lib/rspamd.robot
@@ -60,6 +60,28 @@ Check Rspamc Match String
Should Not Contain ${subject} ${str}
END
+Do Not Expect Added Header
+ [Arguments] ${header_name}
+ IF 'milter' not in ${SCAN_RESULT}
+ RETURN
+ END
+ IF 'add_headers' not in ${SCAN_RESULT}[milter]
+ RETURN
+ END
+ Dictionary Should Not Contain Key ${SCAN_RESULT}[milter][add_headers] ${header_name}
+ ... msg=${header_name} was added
+
+Do Not Expect Removed Header
+ [Arguments] ${header_name}
+ IF 'milter' not in ${SCAN_RESULT}
+ RETURN
+ END
+ IF 'remove_headers' not in ${SCAN_RESULT}[milter]
+ RETURN
+ END
+ Dictionary Should Not Contain Key ${SCAN_RESULT}[milter][remove_headers] ${header_name}
+ ... msg=${header_name} was removed
+
Do Not Expect Symbol
[Arguments] ${symbol}
Dictionary Should Not Contain Key ${SCAN_RESULT}[symbols] ${symbol}