aboutsummaryrefslogtreecommitdiffstats
path: root/test/functional
diff options
context:
space:
mode:
authorAndrew Lewis <nerf@judo.za.org>2021-05-04 13:48:37 +0200
committerAndrew Lewis <nerf@judo.za.org>2021-05-04 13:48:37 +0200
commitdb4da2c22d159d1a6450b9447ad90e1795e5c535 (patch)
treee2c05c4e4d0668e02a7a5e2b279c5d76d1403b90 /test/functional
parent6244d64b43baa240d63528849a7a47b3f32eccc3 (diff)
downloadrspamd-db4da2c22d159d1a6450b9447ad90e1795e5c535.tar.gz
rspamd-db4da2c22d159d1a6450b9447ad90e1795e5c535.zip
[Test] Use lupa for templating rspamd configs
Diffstat (limited to 'test/functional')
-rw-r--r--test/functional/cases/100_general.robot2
-rw-r--r--test/functional/cases/101_lua.robot2
-rw-r--r--test/functional/cases/102_multimap.robot6
-rw-r--r--test/functional/cases/103_password.robot2
-rw-r--r--test/functional/cases/104_get_from.robot6
-rw-r--r--test/functional/cases/105_mimetypes.robot6
-rw-r--r--test/functional/cases/106_mid.robot10
-rw-r--r--test/functional/cases/108_settings.robot7
-rw-r--r--test/functional/cases/109_composites.robot10
-rw-r--r--test/functional/cases/110_statistics/lib.robot12
-rw-r--r--test/functional/cases/110_statistics/redis-keyed-siphash.robot7
-rw-r--r--test/functional/cases/110_statistics/redis-keyed-xxhash.robot7
-rw-r--r--test/functional/cases/110_statistics/redis-plain-siphash.robot5
-rw-r--r--test/functional/cases/110_statistics/redis-plain-xxhash.robot5
-rw-r--r--test/functional/cases/114_phishing.robot6
-rw-r--r--test/functional/cases/115_dmarc.robot6
-rw-r--r--test/functional/cases/116_dkim.robot6
-rw-r--r--test/functional/cases/117_spf.robot6
-rw-r--r--test/functional/cases/120_fuzzy/lib.robot44
-rw-r--r--test/functional/cases/121_json/100_preresult.robot2
-rw-r--r--test/functional/cases/121_json/101_simple.robot2
-rw-r--r--test/functional/cases/121_json/lib.robot3
-rw-r--r--test/functional/cases/123_whitelist.robot6
-rw-r--r--test/functional/cases/125_map_reload.robot2
-rw-r--r--test/functional/cases/131_dkim_signing/001_simple.robot15
-rw-r--r--test/functional/cases/131_dkim_signing/002_redis.robot12
-rw-r--r--test/functional/cases/131_dkim_signing/003_eddsa.robot15
-rw-r--r--test/functional/cases/131_dkim_signing/004_invalidate_key.robot6
-rw-r--r--test/functional/cases/131_dkim_signing/005_multiple.robot15
-rw-r--r--test/functional/cases/131_dkim_signing/006_milter.robot8
-rw-r--r--test/functional/cases/131_dkim_signing/007_sign_maps.robot15
-rw-r--r--test/functional/cases/135_spamassassin.robot10
-rw-r--r--test/functional/cases/140_proxy.robot36
-rw-r--r--test/functional/cases/160_antivirus.robot7
-rw-r--r--test/functional/cases/161_p0f.robot7
-rw-r--r--test/functional/cases/162_url_redirector.robot8
-rw-r--r--test/functional/cases/180_milter.robot5
-rw-r--r--test/functional/cases/220_http.robot7
-rw-r--r--test/functional/cases/230_tcp.robot2
-rw-r--r--test/functional/cases/231_tcp_down.robot7
-rw-r--r--test/functional/cases/240_redis.robot17
-rw-r--r--test/functional/cases/241_redis_is_dead.robot21
-rw-r--r--test/functional/cases/250_dns.robot2
-rw-r--r--test/functional/cases/260_regex.robot16
-rw-r--r--test/functional/cases/270_selector.robot8
-rw-r--r--test/functional/cases/280_rules.robot6
-rw-r--r--test/functional/cases/281_fnames.robot17
-rw-r--r--test/functional/cases/290_greylist.robot6
-rw-r--r--test/functional/cases/300_rbl.robot6
-rw-r--r--test/functional/cases/310_udp.robot7
-rw-r--r--test/functional/cases/320_arc_signing/001_simple.robot15
-rw-r--r--test/functional/cases/320_arc_signing/002_redis.robot12
-rw-r--r--test/functional/cases/321_arc_check.robot6
-rw-r--r--test/functional/cases/330_neural/001_autotrain.robot10
-rw-r--r--test/functional/cases/330_neural/002_manualtrain.robot10
-rw-r--r--test/functional/cases/340_surbl.robot6
-rw-r--r--test/functional/cases/350_magic.robot115
-rw-r--r--test/functional/cases/360_force_actions.robot6
-rw-r--r--test/functional/configs/antivirus.conf12
-rw-r--r--test/functional/configs/arc.conf4
-rw-r--r--test/functional/configs/arc_signing/redis.conf4
-rw-r--r--test/functional/configs/arc_signing/simple.conf4
-rw-r--r--test/functional/configs/composites.conf16
-rw-r--r--test/functional/configs/dkim.conf42
-rw-r--r--test/functional/configs/dkim_signing/eddsa.conf4
-rw-r--r--test/functional/configs/dkim_signing/invalidate.conf4
-rw-r--r--test/functional/configs/dkim_signing/milter.conf32
-rw-r--r--test/functional/configs/dkim_signing/multiple.conf6
-rw-r--r--test/functional/configs/dkim_signing/redis.conf4
-rw-r--r--test/functional/configs/dkim_signing/sign_maps.conf4
-rw-r--r--test/functional/configs/dkim_signing/simple.conf4
-rw-r--r--test/functional/configs/dmarc.conf6
-rw-r--r--test/functional/configs/empty.conf0
-rw-r--r--test/functional/configs/force_actions.conf4
-rw-r--r--test/functional/configs/fuzzy-encryption-key.conf2
-rw-r--r--test/functional/configs/fuzzy.conf55
-rw-r--r--test/functional/configs/greylist.conf4
-rw-r--r--test/functional/configs/lua_script.conf14
-rw-r--r--test/functional/configs/lua_test.conf18
-rw-r--r--test/functional/configs/mid.conf6
-rw-r--r--test/functional/configs/milter.conf26
-rw-r--r--test/functional/configs/mime_types.conf6
-rw-r--r--test/functional/configs/multimap.conf48
-rw-r--r--test/functional/configs/neural.conf22
-rw-r--r--test/functional/configs/neural_noauto.conf22
-rw-r--r--test/functional/configs/p0f.conf6
-rw-r--r--test/functional/configs/password.conf26
-rw-r--r--test/functional/configs/phishing.conf6
-rw-r--r--test/functional/configs/plugins.conf21
-rw-r--r--test/functional/configs/proxy.conf16
-rw-r--r--test/functional/configs/rbl.conf4
-rw-r--r--test/functional/configs/redis.conf6
-rw-r--r--test/functional/configs/regexp.conf18
-rw-r--r--test/functional/configs/selector.conf4
-rw-r--r--test/functional/configs/settings.conf4
-rw-r--r--test/functional/configs/spamassassin.conf8
-rw-r--r--test/functional/configs/stats.conf34
-rw-r--r--test/functional/configs/surbl.conf6
-rw-r--r--test/functional/configs/trivial.conf22
-rw-r--r--test/functional/configs/url_redirector.conf6
-rw-r--r--test/functional/configs/whitelist.conf16
-rw-r--r--test/functional/lib/rspamd.robot121
102 files changed, 639 insertions, 689 deletions
diff --git a/test/functional/cases/100_general.robot b/test/functional/cases/100_general.robot
index 0a754a973..d2b3f24f5 100644
--- a/test/functional/cases/100_general.robot
+++ b/test/functional/cases/100_general.robot
@@ -1,5 +1,5 @@
*** Settings ***
-Suite Setup Generic Setup
+Suite Setup New Setup
Suite Teardown Simple Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
diff --git a/test/functional/cases/101_lua.robot b/test/functional/cases/101_lua.robot
index 215ecd086..034ce756f 100644
--- a/test/functional/cases/101_lua.robot
+++ b/test/functional/cases/101_lua.robot
@@ -73,7 +73,7 @@ Rule conditions
Lua Setup
[Arguments] ${LUA_SCRIPT}
Set Test Variable ${LUA_SCRIPT}
- Generic Setup
+ New Setup LUA_SCRIPT=${LUA_SCRIPT} URL_TLD=${URL_TLD}
Lua Replace Setup
[Arguments] ${LUA_SCRIPT_UNESC}
diff --git a/test/functional/cases/102_multimap.robot b/test/functional/cases/102_multimap.robot
index fc93d7565..7ab72c761 100644
--- a/test/functional/cases/102_multimap.robot
+++ b/test/functional/cases/102_multimap.robot
@@ -6,7 +6,7 @@ Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/multimap.conf
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${UTF_MESSAGE} ${TESTDIR}/messages/utf.eml
${REDIS_SCOPE} Suite
@@ -338,10 +338,8 @@ MAP - MULTISYMBOL DISABLED
*** Keywords ***
Multimap Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/multimap.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
Run Redis
+ New Setup REDIS_ADDR=${REDIS_ADDR} REDIS_PORT=${REDIS_PORT} URL_TLD=${URL_TLD}
Multimap Teardown
Normal Teardown
diff --git a/test/functional/cases/103_password.robot b/test/functional/cases/103_password.robot
index c750369bf..090bcaa6a 100644
--- a/test/functional/cases/103_password.robot
+++ b/test/functional/cases/103_password.robot
@@ -52,4 +52,4 @@ Password Setup
[Arguments] ${PASSWORD} ${ENABLE_PASSWORD}=nq2
Set Test Variable ${PASSWORD}
Set Test Variable ${ENABLE_PASSWORD}
- Generic Setup
+ New Setup PASSWORD=${PASSWORD} ENABLE_PASSWORD=${ENABLE_PASSWORD}
diff --git a/test/functional/cases/104_get_from.robot b/test/functional/cases/104_get_from.robot
index c15e0cdba..e1fcbc259 100644
--- a/test/functional/cases/104_get_from.robot
+++ b/test/functional/cases/104_get_from.robot
@@ -1,5 +1,5 @@
*** Settings ***
-Suite Setup Generic Setup
+Suite Setup GetFrom Setup
Suite Teardown Simple Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
@@ -51,3 +51,7 @@ task:get_from('mime') - quoted in the middle of DN (outer spaces)
task:get_from('mime') - quoted in the middle of DN (inner spaces)
Scan File ${TESTDIR}/messages/from/from_quoted_dn_middle_inner.eml
Expect Symbol With Exact Options ${SYMBOL} ${OPTIONS3}
+
+*** Keywords ***
+GetFrom Setup
+ New Setup LUA_SCRIPT=${LUA_SCRIPT}
diff --git a/test/functional/cases/105_mimetypes.robot b/test/functional/cases/105_mimetypes.robot
index a29ffcb6d..219846698 100644
--- a/test/functional/cases/105_mimetypes.robot
+++ b/test/functional/cases/105_mimetypes.robot
@@ -6,7 +6,7 @@ Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/mime_types.conf
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
@@ -67,6 +67,4 @@ Empty text part should not be treat as html
*** Keywords ***
MIMETypes Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/mime_types.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
+ New Setup URL_TLD=${URL_TLD}
diff --git a/test/functional/cases/106_mid.robot b/test/functional/cases/106_mid.robot
index d220abc22..f014940ca 100644
--- a/test/functional/cases/106_mid.robot
+++ b/test/functional/cases/106_mid.robot
@@ -1,12 +1,12 @@
*** Settings ***
-Suite Setup MID Setup
+Suite Setup New Setup
Suite Teardown Normal Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/mid.conf
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
@@ -34,9 +34,3 @@ MID - missing Message-ID allowed
Expect Symbol With Score MISSING_MID_ALLOWED 1.00
Do Not Expect Symbol MISSING_MID
Do Not Expect Symbol INVALID_MSGID
-
-*** Keywords ***
-MID Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/mid.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
diff --git a/test/functional/cases/108_settings.robot b/test/functional/cases/108_settings.robot
index 6e02e57a3..3409c84ff 100644
--- a/test/functional/cases/108_settings.robot
+++ b/test/functional/cases/108_settings.robot
@@ -6,7 +6,7 @@ Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/settings.conf
${LUA_SCRIPT} ${TESTDIR}/lua/settings.lua
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${MESSAGE_PRIORITY} ${TESTDIR}/messages/priority.eml
@@ -255,9 +255,8 @@ PRIORITY
Settings Setup
Copy File ${TESTDIR}/data/bayes.spam.sqlite3 /tmp/bayes.spam.sqlite3
Copy File ${TESTDIR}/data/bayes.ham.sqlite3 /tmp/bayes.ham.sqlite3
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/settings.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
+ New Setup LUA_SCRIPT=${LUA_SCRIPT}
Settings Teardown
Normal Teardown
+ Remove Files /tmp/bayes.spam.sqlite3 /tmp/bayes.ham.sqlite3
diff --git a/test/functional/cases/109_composites.robot b/test/functional/cases/109_composites.robot
index 3aeb009ed..8c93642dc 100644
--- a/test/functional/cases/109_composites.robot
+++ b/test/functional/cases/109_composites.robot
@@ -1,5 +1,5 @@
*** Settings ***
-Suite Setup Generic Setup
+Suite Setup Composites Setup
Suite Teardown Simple Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
@@ -66,7 +66,7 @@ Composites - Opts RE Hit
Do Not Expect Symbol SYMOPTS3
Composites - Opts RE Hit 2
- Scan File ${MESSAGE} opts=foo/,sym2
+ Scan File ${MESSAGE} opts=sym2,foo/
Expect Symbol With Score SYMOPTS3 6.00
Do Not Expect Symbol SYMOPTS2
Do Not Expect Symbol SYMOPTS1
@@ -75,4 +75,8 @@ Composites - Opts RE Hit 3
Scan File ${MESSAGE} opts=example.com->app.link
Expect Symbol With Score SYMOPTS4 6.00
Do Not Expect Symbol SYMOPTS2
- Do Not Expect Symbol SYMOPTS1 \ No newline at end of file
+ Do Not Expect Symbol SYMOPTS1
+
+*** Keywords ***
+Composites Setup
+ New Setup LUA_SCRIPT=${LUA_SCRIPT}
diff --git a/test/functional/cases/110_statistics/lib.robot b/test/functional/cases/110_statistics/lib.robot
index 9dd313cd3..808580a11 100644
--- a/test/functional/cases/110_statistics/lib.robot
+++ b/test/functional/cases/110_statistics/lib.robot
@@ -8,10 +8,11 @@ ${CONFIG} ${TESTDIR}/configs/stats.conf
${MESSAGE_SPAM} ${TESTDIR}/messages/spam_message.eml
${MESSAGE_HAM} ${TESTDIR}/messages/ham.eml
${REDIS_SCOPE} Suite
-${REDIS_SERVER} ${EMPTY}
+${REDIS_SERVER} null
${RSPAMD_SCOPE} Suite
-${STATS_HASH} ${EMPTY}
-${STATS_KEY} ${EMPTY}
+${STATS_BACKEND} redis
+${STATS_HASH} null
+${STATS_KEY} null
*** Keywords ***
Broken Learn Test
@@ -46,11 +47,8 @@ Relearn Test
Do Not Expect Symbol BAYES_SPAM
Redis Statistics Setup
- ${tmpdir} = Make Temporary Directory
- Set Suite Variable ${TMPDIR} ${tmpdir}
Run Redis
- Generic Setup TMPDIR=${tmpdir}
+ New Setup STATS_BACKEND=${STATS_BACKEND} STATS_HASH=${STATS_HASH} STATS_KEY=${STATS_KEY} REDIS_SERVER=${REDIS_SERVER}
Redis Statistics Teardown
Normal Teardown
- Shutdown Process With Children ${REDIS_PID}
diff --git a/test/functional/cases/110_statistics/redis-keyed-siphash.robot b/test/functional/cases/110_statistics/redis-keyed-siphash.robot
index 09d369d54..cc4320102 100644
--- a/test/functional/cases/110_statistics/redis-keyed-siphash.robot
+++ b/test/functional/cases/110_statistics/redis-keyed-siphash.robot
@@ -4,10 +4,9 @@ Suite Teardown Redis Statistics Teardown
Resource lib.robot
*** Variables ***
-${REDIS_SERVER} servers = "${REDIS_ADDR}:${REDIS_PORT}"
-${STATS_BACKEND} redis
-${STATS_HASH} hash = "siphash";
-${STATS_KEY} key = "${KEY_PVT1}";
+${REDIS_SERVER} ${REDIS_ADDR}:${REDIS_PORT}
+${STATS_HASH} siphash
+${STATS_KEY} ${KEY_PVT1}
*** Test Cases ***
Learn
diff --git a/test/functional/cases/110_statistics/redis-keyed-xxhash.robot b/test/functional/cases/110_statistics/redis-keyed-xxhash.robot
index e95b4cebc..ba550df20 100644
--- a/test/functional/cases/110_statistics/redis-keyed-xxhash.robot
+++ b/test/functional/cases/110_statistics/redis-keyed-xxhash.robot
@@ -4,10 +4,9 @@ Suite Teardown Redis Statistics Teardown
Resource lib.robot
*** Variables ***
-${REDIS_SERVER} servers = "${REDIS_ADDR}:${REDIS_PORT}"
-${STATS_BACKEND} redis
-${STATS_HASH} hash = "xxhash";
-${STATS_KEY} key = "${KEY_PVT1}";
+${REDIS_SERVER} ${REDIS_ADDR}:${REDIS_PORT}
+${STATS_HASH} xxhash
+${STATS_KEY} ${KEY_PVT1}
*** Test Cases ***
Learn
diff --git a/test/functional/cases/110_statistics/redis-plain-siphash.robot b/test/functional/cases/110_statistics/redis-plain-siphash.robot
index deb0c9559..10e28a26b 100644
--- a/test/functional/cases/110_statistics/redis-plain-siphash.robot
+++ b/test/functional/cases/110_statistics/redis-plain-siphash.robot
@@ -4,9 +4,8 @@ Suite Teardown Redis Statistics Teardown
Resource lib.robot
*** Variables ***
-${REDIS_SERVER} servers = "${REDIS_ADDR}:${REDIS_PORT}"
-${STATS_BACKEND} redis
-${STATS_HASH} hash = "siphash";
+${REDIS_SERVER} ${REDIS_ADDR}:${REDIS_PORT}
+${STATS_HASH} siphash
*** Test Cases ***
Learn
diff --git a/test/functional/cases/110_statistics/redis-plain-xxhash.robot b/test/functional/cases/110_statistics/redis-plain-xxhash.robot
index 379f39767..47533d9be 100644
--- a/test/functional/cases/110_statistics/redis-plain-xxhash.robot
+++ b/test/functional/cases/110_statistics/redis-plain-xxhash.robot
@@ -4,9 +4,8 @@ Suite Teardown Redis Statistics Teardown
Resource lib.robot
*** Variables ***
-${REDIS_SERVER} servers = "${REDIS_ADDR}:${REDIS_PORT}"
-${STATS_BACKEND} redis
-${STATS_HASH} hash = "xxhash";
+${REDIS_SERVER} ${REDIS_ADDR}:${REDIS_PORT}
+${STATS_HASH} xxhash
*** Test Cases ***
Learn
diff --git a/test/functional/cases/114_phishing.robot b/test/functional/cases/114_phishing.robot
index 67e6f9aca..d0c5cab78 100644
--- a/test/functional/cases/114_phishing.robot
+++ b/test/functional/cases/114_phishing.robot
@@ -6,7 +6,7 @@ Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/phishing.conf
${MESSAGE1} ${TESTDIR}/messages/phishing1.eml
${MESSAGE2} ${TESTDIR}/messages/phishing2.eml
${MESSAGE3} ${TESTDIR}/messages/phishing3.eml
@@ -28,6 +28,4 @@ TEST PHISHING STRICT TWO
*** Keywords ***
Phishing Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/phishing.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
+ New Setup URL_TLD=${URL_TLD}
diff --git a/test/functional/cases/115_dmarc.robot b/test/functional/cases/115_dmarc.robot
index 120e4461c..4b3fe92da 100644
--- a/test/functional/cases/115_dmarc.robot
+++ b/test/functional/cases/115_dmarc.robot
@@ -6,7 +6,7 @@ Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/dmarc.conf
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../../contrib/publicsuffix/effective_tld_names.dat
@@ -89,6 +89,4 @@ DMARC PCT ZERO SP QUARANTINE
*** Keywords ***
DMARC Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/dmarc.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
+ New Setup URL_TLD=${URL_TLD}
diff --git a/test/functional/cases/116_dkim.robot b/test/functional/cases/116_dkim.robot
index 45f5ad314..f1a906569 100644
--- a/test/functional/cases/116_dkim.robot
+++ b/test/functional/cases/116_dkim.robot
@@ -6,7 +6,7 @@ Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/dkim.conf
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../../contrib/publicsuffix/effective_tld_names.dat
@@ -54,6 +54,4 @@ DKIM Verify ED25519 REJECT
*** Keywords ***
DKIM Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/dkim.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
+ New Setup
diff --git a/test/functional/cases/117_spf.robot b/test/functional/cases/117_spf.robot
index 245c9c593..210efd42a 100644
--- a/test/functional/cases/117_spf.robot
+++ b/test/functional/cases/117_spf.robot
@@ -6,7 +6,7 @@ Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/dmarc.conf
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../../contrib/publicsuffix/effective_tld_names.dat
@@ -138,6 +138,4 @@ SPF UPPERCASE
*** Keywords ***
SPF Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/dmarc.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
+ New Setup URL_TLD=${URL_TLD}
diff --git a/test/functional/cases/120_fuzzy/lib.robot b/test/functional/cases/120_fuzzy/lib.robot
index ca6143253..6af0245d2 100644
--- a/test/functional/cases/120_fuzzy/lib.robot
+++ b/test/functional/cases/120_fuzzy/lib.robot
@@ -11,6 +11,11 @@ ${FLAG1_NUMBER} 50
${FLAG1_SYMBOL} R_TEST_FUZZY_DENIED
${FLAG2_NUMBER} 51
${FLAG2_SYMBOL} R_TEST_FUZZY_WHITE
+${FUZZY_ENCRYPTED_ONLY} false
+${FUZZY_ENCRYPTION_KEY} null
+${FUZZY_KEY} null
+${FUZZY_INCLUDE} ${TESTDIR}/configs/empty.conf
+${FUZZY_SHINGLES_KEY} null
@{MESSAGES} ${TESTDIR}/messages/spam_message.eml ${TESTDIR}/messages/zip.eml
@{MESSAGES_SKIP} ${TESTDIR}/messages/priority.eml
@{RANDOM_MESSAGES} ${TESTDIR}/messages/bad_message.eml ${TESTDIR}/messages/zip-doublebad.eml
@@ -86,34 +91,41 @@ Fuzzy Overwrite Test
Fuzzy Setup Encrypted
[Arguments] ${algorithm}
- ${worker_settings} = Set Variable "keypair": {"pubkey": "${KEY_PUB1}", "privkey": "${KEY_PVT1}"}; "encrypted_only": true;
- ${check_settings} = Set Variable encryption_key = "${KEY_PUB1}";
- Fuzzy Setup Generic ${algorithm} ${worker_settings} ${check_settings}
+ Set Suite Variable ${FUZZY_ALGORITHM} ${algorithm}
+ Set Suite Variable ${FUZZY_ENCRYPTED_ONLY} true
+ Set Suite Variable ${FUZZY_ENCRYPTION_KEY} ${KEY_PUB1}
+ Set Suite Variable ${FUZZY_INCLUDE} ${TESTDIR}/configs/fuzzy-encryption-key.conf
+ Fuzzy Setup Generic
Fuzzy Setup Encrypted Keyed
[Arguments] ${algorithm}
- ${worker_settings} = Set Variable "keypair": {"pubkey": "${KEY_PUB1}", "privkey": "${KEY_PVT1}"}; "encrypted_only": true;
- ${check_settings} = Set Variable fuzzy_key = "mYN888sydwLTfE32g2hN"; fuzzy_shingles_key = "hXUCgul9yYY3Zlk1QIT2"; encryption_key = "${KEY_PUB1}";
- Fuzzy Setup Generic ${algorithm} ${worker_settings} ${check_settings}
+ Set Suite Variable ${FUZZY_ALGORITHM} ${algorithm}
+ Set Suite Variable ${FUZZY_ENCRYPTED_ONLY} true
+ Set Suite Variable ${FUZZY_ENCRYPTION_KEY} ${KEY_PUB1}
+
+ Set Suite Variable ${FUZZY_KEY} mYN888sydwLTfE32g2hN
+ Set Suite Variable ${FUZZY_SHINGLES_KEY} hXUCgul9yYY3Zlk1QIT2
+ Fuzzy Setup Generic
Fuzzy Setup Plain
[Arguments] ${algorithm}
- Fuzzy Setup Generic ${algorithm} ${EMPTY} ${EMPTY}
+ Set Suite Variable ${FUZZY_ALGORITHM} ${algorithm}
+ Fuzzy Setup Generic
Fuzzy Setup Keyed
[Arguments] ${algorithm}
- ${check_settings} = Set Variable fuzzy_key = "mYN888sydwLTfE32g2hN"; fuzzy_shingles_key = "hXUCgul9yYY3Zlk1QIT2";
- Fuzzy Setup Generic ${algorithm} ${EMPTY} ${check_settings}
+ Set Suite Variable ${FUZZY_ALGORITHM} ${algorithm}
+ Set Suite Variable ${FUZZY_KEY} mYN888sydwLTfE32g2hN
+ Set Suite Variable ${FUZZY_SHINGLES_KEY} hXUCgul9yYY3Zlk1QIT2
+ Fuzzy Setup Generic
Fuzzy Setup Generic
- [Arguments] ${algorithm} ${worker_settings} ${check_settings} &{kwargs}
- ${worker_settings} = Set Variable backend \= "redis"; ${worker_settings}
- ${tmpdir} = Make Temporary Directory
- Set Suite Variable ${TMPDIR} ${tmpdir}
- Set Suite Variable ${SETTINGS_FUZZY_WORKER} ${worker_settings}
- Set Suite Variable ${SETTINGS_FUZZY_CHECK} ${check_settings}
Run Redis
- Generic Setup TMPDIR=${TMPDIR}
+ Generic Setup FUZZY_ALGORITHM=${FUZZY_ALGORITHM} FUZZY_ENCRYPTED_ONLY=${FUZZY_ENCRYPTED_ONLY}
+ ... FUZZY_KEY=${FUZZY_KEY} FUZZY_SHINGLES_KEY=${FUZZY_SHINGLES_KEY}
+ ... FUZZY_ENCRYPTION_KEY=${FUZZY_ENCRYPTION_KEY} FLAG1_NUMBER=${FLAG1_NUMBER}
+ ... FLAG2_NUMBER=${FLAG2_NUMBER} FUZZY_BACKEND=redis PORT_FUZZY=${PORT_FUZZY}
+ ... FUZZY_INCLUDE=${FUZZY_INCLUDE}
Fuzzy Setup Plain Fasthash
Fuzzy Setup Plain fasthash
diff --git a/test/functional/cases/121_json/100_preresult.robot b/test/functional/cases/121_json/100_preresult.robot
index aa25c0272..5122ae117 100644
--- a/test/functional/cases/121_json/100_preresult.robot
+++ b/test/functional/cases/121_json/100_preresult.robot
@@ -1,5 +1,5 @@
*** Settings ***
-Suite Setup Generic Setup
+Suite Setup JSON Setup
Suite Teardown Simple Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource lib.robot
diff --git a/test/functional/cases/121_json/101_simple.robot b/test/functional/cases/121_json/101_simple.robot
index da5aa0f19..1c548ebe5 100644
--- a/test/functional/cases/121_json/101_simple.robot
+++ b/test/functional/cases/121_json/101_simple.robot
@@ -1,5 +1,5 @@
*** Settings ***
-Suite Setup Generic Setup
+Suite Setup JSON Setup
Suite Teardown Simple Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource lib.robot
diff --git a/test/functional/cases/121_json/lib.robot b/test/functional/cases/121_json/lib.robot
index 4d87485dc..b1ec0ac18 100644
--- a/test/functional/cases/121_json/lib.robot
+++ b/test/functional/cases/121_json/lib.robot
@@ -2,6 +2,9 @@
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
*** Keywords ***
+JSON Setup
+ New Setup LUA_SCRIPT=${LUA_SCRIPT} URL_TLD=${URL_TLD}
+
Stat Test
@{result} = HTTP GET ${LOCAL_ADDR} ${PORT_CONTROLLER} /stat
Check JSON ${result}[1]
diff --git a/test/functional/cases/123_whitelist.robot b/test/functional/cases/123_whitelist.robot
index 6482793a3..675178774 100644
--- a/test/functional/cases/123_whitelist.robot
+++ b/test/functional/cases/123_whitelist.robot
@@ -6,7 +6,7 @@ Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/whitelist.conf
${M_DMARC_OK} ${TESTDIR}/messages/dmarc/pass_none.eml
${M_DMARC_BAD} ${TESTDIR}/messages/dmarc/fail_none.eml
@@ -79,6 +79,4 @@ VALID SPF and NO DKIM
*** Keywords ***
Whitelist Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/whitelist.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
+ New Setup
diff --git a/test/functional/cases/125_map_reload.robot b/test/functional/cases/125_map_reload.robot
index be7e0a722..33ca264b5 100644
--- a/test/functional/cases/125_map_reload.robot
+++ b/test/functional/cases/125_map_reload.robot
@@ -39,7 +39,7 @@ Map Reload Setup
${lua} = Replace Variables ${lua}
Create File ${LUA_SCRIPT} ${lua}
Create File ${MAP_FILE} ${MAP1}
- Generic Setup
+ New Setup LUA_SCRIPT=${LUA_SCRIPT} URL_TLD=${URL_TLD}
Map Reload Teardown
Remove File ${MAP_FILE}
diff --git a/test/functional/cases/131_dkim_signing/001_simple.robot b/test/functional/cases/131_dkim_signing/001_simple.robot
index 2bcd53f36..6185ec2e4 100644
--- a/test/functional/cases/131_dkim_signing/001_simple.robot
+++ b/test/functional/cases/131_dkim_signing/001_simple.robot
@@ -1,12 +1,12 @@
*** Settings ***
-Suite Setup DKIM Signing Setup
-Suite Teardown DKIM Signing Teardown
+Suite Setup New Setup
+Suite Teardown Normal Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/dkim_signing/simple.conf
${MESSAGE} ${TESTDIR}/messages/dmarc/fail_none.eml
${MESSAGE_FAIL} ${TESTDIR}/messages/dmarc/fail_none1.eml
${REDIS_SCOPE} Suite
@@ -33,12 +33,3 @@ TEST NOT SIGNED - USERNAME WRONG PUBKEY
${result} = Scan Message With Rspamc ${MESSAGE_FAIL} -u bob@invalid.za.org
Check Rspamc ${result} DKIM-Signature: inverse=1
Should Not Contain ${result.stdout} DKIM_SIGNED
-
-*** Keywords ***
-DKIM Signing Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/dkim_signing/simple.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
-
-DKIM Signing Teardown
- Normal Teardown
diff --git a/test/functional/cases/131_dkim_signing/002_redis.robot b/test/functional/cases/131_dkim_signing/002_redis.robot
index e87749a0a..45611c2bc 100644
--- a/test/functional/cases/131_dkim_signing/002_redis.robot
+++ b/test/functional/cases/131_dkim_signing/002_redis.robot
@@ -1,12 +1,12 @@
*** Settings ***
Suite Setup DKIM Signing Setup
-Suite Teardown DKIM Signing Teardown
+Suite Teardown Normal Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/dkim_signing/redis.conf
${MESSAGE} ${TESTDIR}/messages/dmarc/fail_none.eml
${REDIS_SCOPE} Suite
${RSPAMD_SCOPE} Suite
@@ -25,14 +25,8 @@ TEST NOT SIGNED - USERNAME WRONG DOMAIN
*** Keywords ***
DKIM Signing Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/dkim_signing/redis.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
Run Redis
Redis HSET TEST_DKIM_SELECTORS cacophony.za.org dkim
${key} = Get File ${TESTDIR}/configs/dkim.key
Redis HSET TEST_DKIM_KEYS dkim.cacophony.za.org ${key}
-
-DKIM Signing Teardown
- Normal Teardown
- Shutdown Process With Children ${REDIS_PID}
+ New Setup
diff --git a/test/functional/cases/131_dkim_signing/003_eddsa.robot b/test/functional/cases/131_dkim_signing/003_eddsa.robot
index ea2fe03be..37c01893d 100644
--- a/test/functional/cases/131_dkim_signing/003_eddsa.robot
+++ b/test/functional/cases/131_dkim_signing/003_eddsa.robot
@@ -1,12 +1,12 @@
*** Settings ***
-Suite Setup DKIM Signing Setup
-Suite Teardown DKIM Signing Teardown
+Suite Setup New Setup
+Suite Teardown Normal Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/dkim_signing/eddsa.conf
${MESSAGE} ${TESTDIR}/messages/dmarc/fail_none.eml
${MESSAGE_FAIL} ${TESTDIR}/messages/dmarc/fail_none1.eml
${REDIS_SCOPE} Suite
@@ -28,12 +28,3 @@ TEST NOT SIGNED - USERNAME WRONG PUBKEY
${result} = Scan Message With Rspamc ${MESSAGE_FAIL} -u bob@invalid.za.org
Check Rspamc ${result} DKIM-Signature: inverse=1
Should Not Contain ${result.stdout} DKIM_SIGNED
-
-*** Keywords ***
-DKIM Signing Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/dkim_signing/eddsa.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
-
-DKIM Signing Teardown
- Normal Teardown
diff --git a/test/functional/cases/131_dkim_signing/004_invalidate_key.robot b/test/functional/cases/131_dkim_signing/004_invalidate_key.robot
index 2cf34e305..812a77e00 100644
--- a/test/functional/cases/131_dkim_signing/004_invalidate_key.robot
+++ b/test/functional/cases/131_dkim_signing/004_invalidate_key.robot
@@ -7,7 +7,7 @@ Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/dkim_signing/invalidate.conf
${MESSAGE} ${TESTDIR}/messages/dmarc/fail_none.eml
${REDIS_SCOPE} Suite
${RSPAMD_SCOPE} Suite
@@ -36,9 +36,7 @@ Key Invalidation Setup
${key_dir} Make Temporary Directory
Set Suite Variable ${KEY_DIR} ${key_dir}
Copy File ${TESTDIR}/configs/dkim-eddsa.key ${KEY_DIR}/dkim-eddsa.key
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/dkim_signing/invalidate.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
+ New Setup
Delete Key
Remove File ${KEY_DIR}/dkim-eddsa.key
diff --git a/test/functional/cases/131_dkim_signing/005_multiple.robot b/test/functional/cases/131_dkim_signing/005_multiple.robot
index 72222f460..2d35380a3 100644
--- a/test/functional/cases/131_dkim_signing/005_multiple.robot
+++ b/test/functional/cases/131_dkim_signing/005_multiple.robot
@@ -1,12 +1,12 @@
*** Settings ***
-Suite Setup DKIM Signing Setup
-Suite Teardown DKIM Signing Teardown
+Suite Setup New Setup
+Suite Teardown Normal Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/dkim_signing/multiple.conf
${MESSAGE} ${TESTDIR}/messages/dmarc/fail_none.eml
${MESSAGE_FAIL} ${TESTDIR}/messages/dmarc/fail_none1.eml
${REDIS_SCOPE} Suite
@@ -18,12 +18,3 @@ TEST DOUBLE SIGNED
${result} = Scan Message With Rspamc ${MESSAGE} -u bob@cacophony.za.org
Check Rspamc ${result} (?s)DKIM-Signature.+DKIM-Signature re=1
Should Contain ${result.stdout} DKIM_SIGNED
-
-*** Keywords ***
-DKIM Signing Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/dkim_signing/multiple.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
-
-DKIM Signing Teardown
- Normal Teardown
diff --git a/test/functional/cases/131_dkim_signing/006_milter.robot b/test/functional/cases/131_dkim_signing/006_milter.robot
index cd48a62b7..9e327b116 100644
--- a/test/functional/cases/131_dkim_signing/006_milter.robot
+++ b/test/functional/cases/131_dkim_signing/006_milter.robot
@@ -1,5 +1,5 @@
*** Settings ***
-Suite Setup DKIM Milter Setup
+Suite Setup New Setup
Suite Teardown Generic Teardown
Library Process
Library ${TESTDIR}/lib/rspamd.py
@@ -7,8 +7,9 @@ Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
+${CONFIG} ${TESTDIR}/configs/dkim_signing/milter.conf
${RSPAMD_SCOPE} Suite
-${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
+${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
*** Test Cases ***
SINGLE SIGNATURE
@@ -18,9 +19,6 @@ MULTIPLE SIGNATURES
Milter Test dkim_many.lua
*** Keywords ***
-DKIM Milter Setup
- Generic Setup CONFIG=${TESTDIR}/configs/dkim_signing/milter.conf
-
Milter Test
[Arguments] ${mtlua}
${result} = Run Process miltertest -Dport\=${PORT_PROXY} -Dhost\=${LOCAL_ADDR} -s ${TESTDIR}/lua/miltertest/${mtlua}
diff --git a/test/functional/cases/131_dkim_signing/007_sign_maps.robot b/test/functional/cases/131_dkim_signing/007_sign_maps.robot
index 69d4c9a92..13dfb077e 100644
--- a/test/functional/cases/131_dkim_signing/007_sign_maps.robot
+++ b/test/functional/cases/131_dkim_signing/007_sign_maps.robot
@@ -1,12 +1,12 @@
*** Settings ***
-Suite Setup DKIM Signing Setup
-Suite Teardown DKIM Signing Teardown
+Suite Setup New Setup
+Suite Teardown Normal Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/dkim_signing/sign_maps.conf
${MESSAGE} ${TESTDIR}/messages/dmarc/fail_none.eml
${MESSAGE_FAIL} ${TESTDIR}/messages/dmarc/fail_none1.eml
${REDIS_SCOPE} Suite
@@ -23,12 +23,3 @@ TEST NOT SIGNED - FROM WRONG DOMAIN
${result} = Scan Message With Rspamc ${MESSAGE_FAIL} -u bob@cacophony.za.org
Check Rspamc ${result} DKIM-Signature: inverse=1
Should Not Contain ${result.stdout} DKIM_SIGNED
-
-*** Keywords ***
-DKIM Signing Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/dkim_signing/sign_maps.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
-
-DKIM Signing Teardown
- Normal Teardown
diff --git a/test/functional/cases/135_spamassassin.robot b/test/functional/cases/135_spamassassin.robot
index d8d075b00..09fdb1bcb 100644
--- a/test/functional/cases/135_spamassassin.robot
+++ b/test/functional/cases/135_spamassassin.robot
@@ -1,12 +1,12 @@
*** Settings ***
-Suite Setup SpamAssassin Setup
+Suite Setup New Setup
Suite Teardown Simple Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/spamassassin.conf
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
@@ -32,9 +32,3 @@ WLBL BLACKLIST
Expect Symbol USER_IN_BLACKLIST_TO
Do Not Expect Symbol USER_IN_WHITELIST_TO
Do Not Expect Symbol USER_IN_WHITELIST
-
-*** Keywords ***
-SpamAssassin Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/spamassassin.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
diff --git a/test/functional/cases/140_proxy.robot b/test/functional/cases/140_proxy.robot
index 39b3faf87..bd6a23b68 100644
--- a/test/functional/cases/140_proxy.robot
+++ b/test/functional/cases/140_proxy.robot
@@ -6,9 +6,10 @@ Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${LUA_SCRIPT} ${TESTDIR}/lua/simple.lua
-${MESSAGE} ${TESTDIR}/messages/spam_message.eml
-${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
+${LUA_SCRIPT} ${TESTDIR}/lua/simple.lua
+${MESSAGE} ${TESTDIR}/messages/spam_message.eml
+${RSPAMD_SCOPE} Suite
+${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
*** Test Cases ***
HTTP PROTOCOL
@@ -26,15 +27,24 @@ RSPAMC Legacy Protocol
*** Keywords ***
Proxy Setup
- &{d} = Run Rspamd CONFIG=${TESTDIR}/configs/lua_test.conf
- Set Suite Variable ${SLAVE_PID} ${d}[RSPAMD_PID]
- Set Suite Variable ${SLAVE_TMPDIR} ${d}[TMPDIR]
- &{d} = Run Rspamd CONFIG=${TESTDIR}/configs/proxy.conf
- Set Suite Variable ${PROXY_PID} ${d}[RSPAMD_PID]
- Set Suite Variable ${PROXY_TMPDIR} ${d}[TMPDIR]
+ # Run slave & copy variables
+ Set Suite Variable ${CONFIG} ${TESTDIR}/configs/lua_test.conf
+ New Setup LUA_SCRIPT=${LUA_SCRIPT} URL_TLD=${URL_TLD}
+ Set Suite Variable ${SLAVE_PID} ${RSPAMD_PID}
+ Set Suite Variable ${SLAVE_TMPDIR} ${TMPDIR}
+
+ # Run proxy & copy variables
+ Set Suite Variable ${CONFIG} ${TESTDIR}/configs/proxy.conf
+ New Setup
+ Set Suite Variable ${PROXY_PID} ${RSPAMD_PID}
+ Set Suite Variable ${PROXY_TMPDIR} ${TMPDIR}
Proxy Teardown
- Shutdown Process With Children ${PROXY_PID}
- Shutdown Process With Children ${SLAVE_PID}
- Cleanup Temporary Directory ${PROXY_TMPDIR}
- Cleanup Temporary Directory ${SLAVE_TMPDIR}
+ # Restore variables & run normal teardown
+ Set Suite Variable ${RSPAMD_PID} ${PROXY_PID}
+ Set Suite Variable ${TMPDIR} ${PROXY_TMPDIR}
+ Normal Teardown
+ # Do it again for slave
+ Set Suite Variable ${RSPAMD_PID} ${SLAVE_PID}
+ Set Suite Variable ${TMPDIR} ${SLAVE_TMPDIR}
+ Normal Teardown
diff --git a/test/functional/cases/160_antivirus.robot b/test/functional/cases/160_antivirus.robot
index 8ad9d2bce..2aab36538 100644
--- a/test/functional/cases/160_antivirus.robot
+++ b/test/functional/cases/160_antivirus.robot
@@ -7,7 +7,7 @@ Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/antivirus.conf
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${MESSAGE2} ${TESTDIR}/messages/freemail.eml
${REDIS_SCOPE} Suite
@@ -95,9 +95,8 @@ AVAST CACHE MISS
*** Keywords ***
Antivirus Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/antivirus.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
+ New Setup PORT_CLAM=${PORT_CLAM} PORT_FPROT=${PORT_FPROT} PORT_AVAST=${PORT_AVAST}
+ ... PORT_FPROT2_DUPLICATE=${PORT_FPROT2_DUPLICATE}
Run Redis
Antivirus Teardown
diff --git a/test/functional/cases/161_p0f.robot b/test/functional/cases/161_p0f.robot
index f3d7e7d8e..1c8c07d58 100644
--- a/test/functional/cases/161_p0f.robot
+++ b/test/functional/cases/161_p0f.robot
@@ -7,7 +7,7 @@ Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/p0f.conf
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${MESSAGE2} ${TESTDIR}/messages/freemail.eml
${REDIS_SCOPE} Suite
@@ -80,14 +80,11 @@ p0f BAD RESPONSE
*** Keywords ***
p0f Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/p0f.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
+ New Setup P0F_SOCKET=${P0F_SOCKET} URL_TLD=${URL_TLD}
Run Redis
p0f Teardown
Normal Teardown
- Shutdown Process With Children ${REDIS_PID}
Shutdown p0f
Terminate All Processes kill=True
diff --git a/test/functional/cases/162_url_redirector.robot b/test/functional/cases/162_url_redirector.robot
index dd812b21e..afc7a8315 100644
--- a/test/functional/cases/162_url_redirector.robot
+++ b/test/functional/cases/162_url_redirector.robot
@@ -7,7 +7,7 @@ Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/url_redirector.conf
${MESSAGE} ${TESTDIR}/messages/redir.eml
${REDIS_SCOPE} Suite
${RSPAMD_SCOPE} Suite
@@ -31,16 +31,12 @@ Urlredirector Setup
Set Suite Variable ${REDIS_TMPDIR} ${TMPDIR}
Run Redis
Run Dummy Http
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/url_redirector.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
+ New Setup URL_TLD=${URL_TLD}
Urlredirector Teardown
Normal Teardown
- Shutdown Process With Children ${REDIS_PID}
#Stop Dummy Http
Terminate All Processes kill=True
- Cleanup Temporary Directory ${REDIS_TMPDIR}
Stop Dummy Http
${http_pid} = Get File /tmp/dummy_http.pid
diff --git a/test/functional/cases/180_milter.robot b/test/functional/cases/180_milter.robot
index ddbbf9799..4f1d6ea2b 100644
--- a/test/functional/cases/180_milter.robot
+++ b/test/functional/cases/180_milter.robot
@@ -7,8 +7,9 @@ Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
+${CONFIG} ${TESTDIR}/configs/milter.conf
${RSPAMD_SCOPE} Suite
-${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
+${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
*** Test Cases ***
ACCEPT
@@ -28,7 +29,7 @@ COMBINED TEST
*** Keywords ***
Milter Setup
- Generic Setup CONFIG=${TESTDIR}/configs/milter.conf
+ New Setup URL_TLD=${URL_TLD}
Milter Test
[Arguments] ${mtlua}
diff --git a/test/functional/cases/220_http.robot b/test/functional/cases/220_http.robot
index d6573a3eb..c8f7bf99b 100644
--- a/test/functional/cases/220_http.robot
+++ b/test/functional/cases/220_http.robot
@@ -40,15 +40,10 @@ SSL Large HTTP request
Expect Symbol HTTP_SSL_LARGE
*** Keywords ***
-Lua Setup
- [Arguments] ${LUA_SCRIPT}
- Set Suite Variable ${LUA_SCRIPT}
- Generic Setup
-
Http Setup
Run Dummy Http
Run Dummy Https
- Lua Setup ${TESTDIR}/lua/http.lua
+ New Setup LUA_SCRIPT=${TESTDIR}/lua/http.lua URL_TLD=${URL_TLD}
Http Teardown
${http_pid} = Get File /tmp/dummy_http.pid
diff --git a/test/functional/cases/230_tcp.robot b/test/functional/cases/230_tcp.robot
index 3d9aba126..d08a4c8e0 100644
--- a/test/functional/cases/230_tcp.robot
+++ b/test/functional/cases/230_tcp.robot
@@ -52,7 +52,7 @@ Lua Setup
Servers Setup
Run Dummy Http
Run Dummy Ssl
- Lua Setup ${TESTDIR}/lua/tcp.lua
+ New Setup LUA_SCRIPT=${TESTDIR}/lua/tcp.lua URL_TLD=${URL_TLD}
Servers Teardown
${http_pid} = Get File /tmp/dummy_http.pid
diff --git a/test/functional/cases/231_tcp_down.robot b/test/functional/cases/231_tcp_down.robot
index e68e2053a..25a55dd2d 100644
--- a/test/functional/cases/231_tcp_down.robot
+++ b/test/functional/cases/231_tcp_down.robot
@@ -23,13 +23,8 @@ Sync API TCP get request when server is down
*** Keywords ***
-Lua Setup
- [Arguments] ${LUA_SCRIPT}
- Set Suite Variable ${LUA_SCRIPT}
- Generic Setup
-
Http Setup
- Lua Setup ${TESTDIR}/lua/tcp.lua
+ New Setup LUA_SCRIPT=${TESTDIR}/lua/tcp.lua URL_TLD=${URL_TLD}
Http Teardown
Normal Teardown
diff --git a/test/functional/cases/240_redis.robot b/test/functional/cases/240_redis.robot
index 169523330..307a6cdb0 100644
--- a/test/functional/cases/240_redis.robot
+++ b/test/functional/cases/240_redis.robot
@@ -1,6 +1,6 @@
*** Settings ***
Test Setup Redis Setup
-Test Teardown Redis Teardown
+Test Teardown Normal Teardown
Library Process
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
@@ -11,7 +11,7 @@ Suite Teardown Terminate All Processes kill=True
*** Variables ***
${REDIS_SCOPE} Test
${RSPAMD_SCOPE} Test
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/redis.conf
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
@@ -25,17 +25,6 @@ Redis client
Expect Symbol With Exact Options REDIS_ASYNC201809 test value
*** Keywords ***
-Lua Setup
- [Arguments] ${LUA_SCRIPT}
- Set Suite Variable ${LUA_SCRIPT}
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/redis.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
-
Redis Setup
- Lua Setup ${TESTDIR}/lua/redis.lua
+ New Setup LUA_SCRIPT=${TESTDIR}/lua/redis.lua
Run Redis
-
-Redis Teardown
- Normal Teardown
- Shutdown Process With Children ${REDIS_PID}
diff --git a/test/functional/cases/241_redis_is_dead.robot b/test/functional/cases/241_redis_is_dead.robot
index 223ada965..9a67c61e6 100644
--- a/test/functional/cases/241_redis_is_dead.robot
+++ b/test/functional/cases/241_redis_is_dead.robot
@@ -1,8 +1,8 @@
*** Settings ***
Documentation Test the case when trying to connect to nowhere
... (i.e. redis is not running)
-Test Setup Redis Setup
-Test Teardown Redis Teardown
+Test Setup Dead Redis Setup
+Test Teardown Normal Teardown
Library Process
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
@@ -13,7 +13,7 @@ Suite Teardown Terminate All Processes kill=True
*** Variables ***
${REDIS_SCOPE} Test
${RSPAMD_SCOPE} Test
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/redis.conf
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
@@ -26,16 +26,5 @@ Dead Redis client
Expect Symbol With Exact Options REDIS_ASYNC_ERROR Connection refused
*** Keywords ***
-Lua Setup
- [Arguments] ${LUA_SCRIPT}
- Set Suite Variable ${LUA_SCRIPT}
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/redis.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
-
-Redis Setup
- Lua Setup ${TESTDIR}/lua/redis.lua
-
-Redis Teardown
- Normal Teardown
-# Shutdown Process With Children ${REDIS_PID}
+Dead Redis Setup
+ New Setup LUA_SCRIPT=${TESTDIR}/lua/redis.lua
diff --git a/test/functional/cases/250_dns.robot b/test/functional/cases/250_dns.robot
index fa13d6d10..e08c1913e 100644
--- a/test/functional/cases/250_dns.robot
+++ b/test/functional/cases/250_dns.robot
@@ -30,7 +30,7 @@ Lua Setup
Generic Setup
Http Setup
- Lua Setup ${TESTDIR}/lua/dns.lua
+ New Setup LUA_SCRIPT=${TESTDIR}/lua/dns.lua URL_TLD=${URL_TLD}
Http Teardown
Normal Teardown
diff --git a/test/functional/cases/260_regex.robot b/test/functional/cases/260_regex.robot
index f19e389a0..9e3b7f9be 100644
--- a/test/functional/cases/260_regex.robot
+++ b/test/functional/cases/260_regex.robot
@@ -1,12 +1,12 @@
*** Settings ***
-Test Setup Regex Setup
-Test Teardown Regex Teardown
+Test Setup New Setup
+Test Teardown Normal Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/regexp.conf
${MESSAGE} ${TESTDIR}/messages/newlines.eml
${UTF_MESSAGE} ${TESTDIR}/messages/utf.eml
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
@@ -26,13 +26,3 @@ Newlines
Expect Symbol With Option FOUND_URL https://google.com/maps/
Expect Symbol With Option FOUND_URL https://www.google.com/search?q\=hello world&oq\=hello world&aqs\=chrome..69i57j0l5.3045j0j7&sourceid\=chrome&ie\=UTF-8
Expect Symbol With Option FOUND_URL https://github.com/google/sanitizers/wiki/AddressSanitizer
-
-
-*** Keywords ***
-Regex Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/regexp.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
-
-Regex Teardown
- Normal Teardown
diff --git a/test/functional/cases/270_selector.robot b/test/functional/cases/270_selector.robot
index bf74a327e..55bcc887a 100644
--- a/test/functional/cases/270_selector.robot
+++ b/test/functional/cases/270_selector.robot
@@ -6,11 +6,11 @@ Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/selector.conf
${MESSAGE} ${TESTDIR}/messages/subject1.eml
${UTF_MESSAGE} ${TESTDIR}/messages/utf.eml
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
-${RSPAMD_SCOPE} Test
+${RSPAMD_SCOPE} Suite
*** Test Cases ***
@@ -22,9 +22,7 @@ Newlines
*** Keywords ***
Regex Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/selector.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
+ New Setup URL_TLD=${URL_TLD}
Regex Teardown
Normal Teardown
diff --git a/test/functional/cases/280_rules.robot b/test/functional/cases/280_rules.robot
index ec8e12fb2..a9323791d 100644
--- a/test/functional/cases/280_rules.robot
+++ b/test/functional/cases/280_rules.robot
@@ -6,7 +6,7 @@ Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/regexp.conf
${MESSAGE} ${TESTDIR}/messages/newlines.eml
${MESSAGE1} ${TESTDIR}/messages/fws_fn.eml
${MESSAGE2} ${TESTDIR}/messages/fws_fp.eml
@@ -117,9 +117,7 @@ REPLYTO_ADDR_EQ_FROM
*** Keywords ***
Rules Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/regexp.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
+ New Setup URL_TLD=${URL_TLD}
Rules Teardown
Normal Teardown
diff --git a/test/functional/cases/281_fnames.robot b/test/functional/cases/281_fnames.robot
index b76544d97..9516e2c1a 100644
--- a/test/functional/cases/281_fnames.robot
+++ b/test/functional/cases/281_fnames.robot
@@ -1,6 +1,6 @@
*** Settings ***
-Suite Setup Fnames Setup
-Suite Teardown Fnames Teardown
+Suite Setup FNames Setup
+Suite Teardown Normal Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
@@ -18,13 +18,6 @@ FILE NAMES
Expect Symbol With Option TEST_FNAME [삼성생명]2020.08.14 데일리 경제뉴스.pdf
Expect Symbol With Option TEST_FNAME 01029_402110_10620_RGT06902_PRT180ML_20200803_101820.pdf
-
-*** Keywords ***
-Fnames Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/regexp.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
-
-Fnames Teardown
- Normal Teardown
- Terminate All Processes kill=True
+*** Keyword ***
+FNames Setup
+ New Setup LUA_SCRIPT=${LUA_SCRIPT}
diff --git a/test/functional/cases/290_greylist.robot b/test/functional/cases/290_greylist.robot
index 8b746bc0f..3ffbead4b 100644
--- a/test/functional/cases/290_greylist.robot
+++ b/test/functional/cases/290_greylist.robot
@@ -6,7 +6,7 @@ Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/greylist.conf
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${REDIS_SCOPE} Suite
${RSPAMD_SCOPE} Suite
@@ -28,9 +28,7 @@ GREYLIST PASS
*** Keywords ***
Greylist Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/greylist.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
+ New Setup URL_TLD=${URL_TLD}
Run Redis
Greylist Teardown
diff --git a/test/functional/cases/300_rbl.robot b/test/functional/cases/300_rbl.robot
index 55f46e5fd..44c326820 100644
--- a/test/functional/cases/300_rbl.robot
+++ b/test/functional/cases/300_rbl.robot
@@ -6,7 +6,7 @@ Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/rbl.conf
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
@@ -71,9 +71,7 @@ SELECTORS COMBINED
*** Keywords ***
Rbl Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/rbl.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
+ New Setup URL_TLD=${URL_TLD}
Rbl Teardown
Normal Teardown
diff --git a/test/functional/cases/310_udp.robot b/test/functional/cases/310_udp.robot
index 3da02729b..49f43117f 100644
--- a/test/functional/cases/310_udp.robot
+++ b/test/functional/cases/310_udp.robot
@@ -26,14 +26,9 @@ Errored UDP request
Expect Symbol With Exact Options UDP_FAIL read timeout
*** Keywords ***
-Lua Setup
- [Arguments] ${LUA_SCRIPT}
- Set Suite Variable ${LUA_SCRIPT}
- Generic Setup
-
UDP Setup
Run Dummy UDP
- Lua Setup ${TESTDIR}/lua/udp.lua
+ New Setup LUA_SCRIPT=${TESTDIR}/lua/udp.lua URL_TLD=${URL_TLD}
UDP Teardown
${udp_pid} = Get File /tmp/dummy_udp.pid
diff --git a/test/functional/cases/320_arc_signing/001_simple.robot b/test/functional/cases/320_arc_signing/001_simple.robot
index 73623574b..ecfd02379 100644
--- a/test/functional/cases/320_arc_signing/001_simple.robot
+++ b/test/functional/cases/320_arc_signing/001_simple.robot
@@ -1,12 +1,12 @@
*** Settings ***
-Suite Setup ARC Signing Setup
-Suite Teardown ARC Signing Teardown
+Suite Setup New Setup
+Suite Teardown Normal Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/arc_signing/simple.conf
${MESSAGE} ${TESTDIR}/messages/dmarc/fail_none.eml
${MESSAGE_FAIL} ${TESTDIR}/messages/dmarc/fail_none1.eml
${REDIS_SCOPE} Suite
@@ -29,12 +29,3 @@ TEST NOT SIGNED - USERNAME WRONG DOMAIN
TEST NOT SIGNED - USERNAME WRONG PUBKEY
${result} = Scan Message With Rspamc ${MESSAGE_FAIL} -u bob@invalid.za.org
Should Not Contain ${result.stdout} ARC_SIGNED
-
-*** Keywords ***
-ARC Signing Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/arc_signing/simple.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
-
-ARC Signing Teardown
- Normal Teardown
diff --git a/test/functional/cases/320_arc_signing/002_redis.robot b/test/functional/cases/320_arc_signing/002_redis.robot
index 2fde59164..b494a3298 100644
--- a/test/functional/cases/320_arc_signing/002_redis.robot
+++ b/test/functional/cases/320_arc_signing/002_redis.robot
@@ -1,12 +1,12 @@
*** Settings ***
Suite Setup ARC Signing Setup
-Suite Teardown ARC Signing Teardown
+Suite Teardown Normal Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/arc_signing/redis.conf
${MESSAGE} ${TESTDIR}/messages/dmarc/fail_none.eml
${REDIS_SCOPE} Suite
${RSPAMD_SCOPE} Suite
@@ -23,14 +23,8 @@ TEST NOT SIGNED - USERNAME WRONG DOMAIN
*** Keywords ***
ARC Signing Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/arc_signing/redis.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
Run Redis
Redis HSET TEST_DKIM_SELECTORS cacophony.za.org arc
${key} = Get File ${TESTDIR}/configs/dkim.key
Redis HSET TEST_DKIM_KEYS arc.cacophony.za.org ${key}
-
-ARC Signing Teardown
- Normal Teardown
- Shutdown Process With Children ${REDIS_PID}
+ New Setup
diff --git a/test/functional/cases/321_arc_check.robot b/test/functional/cases/321_arc_check.robot
index 6cbc00b44..3f68034ce 100644
--- a/test/functional/cases/321_arc_check.robot
+++ b/test/functional/cases/321_arc_check.robot
@@ -6,7 +6,7 @@ Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/arc.conf
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../../contrib/publicsuffix/effective_tld_names.dat
@@ -22,6 +22,4 @@ ARC BAD CHECK
*** Keywords ***
ARC Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/arc.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
+ New Setup URL_TLD=${URL_TLD}
diff --git a/test/functional/cases/330_neural/001_autotrain.robot b/test/functional/cases/330_neural/001_autotrain.robot
index 8ce342838..b4851f7c3 100644
--- a/test/functional/cases/330_neural/001_autotrain.robot
+++ b/test/functional/cases/330_neural/001_autotrain.robot
@@ -1,6 +1,6 @@
*** Settings ***
Suite Setup Neural Setup
-Suite Teardown Neural Teardown
+Suite Teardown Normal Teardown
Library Process
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
@@ -64,11 +64,5 @@ Check Neural SPAM INVERSE
*** Keywords ***
Neural Setup
- ${TMPDIR} = Make Temporary Directory
- Set Suite Variable ${TMPDIR}
Run Redis
- Generic Setup
-
-Neural Teardown
- Shutdown Process With Children ${REDIS_PID}
- Normal Teardown
+ New Setup URL_TLD=${URL_TLD}
diff --git a/test/functional/cases/330_neural/002_manualtrain.robot b/test/functional/cases/330_neural/002_manualtrain.robot
index 22a42120e..21fc0093b 100644
--- a/test/functional/cases/330_neural/002_manualtrain.robot
+++ b/test/functional/cases/330_neural/002_manualtrain.robot
@@ -1,6 +1,6 @@
*** Settings ***
Suite Setup Neural Setup
-Suite Teardown Neural Teardown
+Suite Teardown Normal Teardown
Library Process
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
@@ -65,11 +65,5 @@ Check Neural SPAM - inverse
*** Keywords ***
Neural Setup
- ${TMPDIR} = Make Temporary Directory
- Set Suite Variable ${TMPDIR}
Run Redis
- Generic Setup
-
-Neural Teardown
- Shutdown Process With Children ${REDIS_PID}
- Normal Teardown
+ New Setup URL_TLD=${URL_TLD}
diff --git a/test/functional/cases/340_surbl.robot b/test/functional/cases/340_surbl.robot
index 904594126..9174997d3 100644
--- a/test/functional/cases/340_surbl.robot
+++ b/test/functional/cases/340_surbl.robot
@@ -6,7 +6,7 @@ Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/surbl.conf
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
@@ -163,9 +163,7 @@ SURBL url compose map 3
*** Keywords ***
Surbl Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/surbl.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
+ New Setup URL_TLD=${URL_TLD}
Surbl Teardown
Normal Teardown
diff --git a/test/functional/cases/350_magic.robot b/test/functional/cases/350_magic.robot
index 941d3c344..e7d7810e8 100644
--- a/test/functional/cases/350_magic.robot
+++ b/test/functional/cases/350_magic.robot
@@ -1,5 +1,5 @@
*** Settings ***
-Suite Setup Generic Setup
+Suite Setup Magic Setup
Suite Teardown Simple Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
@@ -14,59 +14,62 @@ ${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
*** Test Cases ***
Magic detections bundle 1
Scan File ${TESTDIR}/messages/gargantua.eml
- Expect Symbol MAGIC_SYM_ZIP_2
- Expect Symbol MAGIC_SYM_RAR_3
- Expect Symbol MAGIC_SYM_EXE_4
- Expect Symbol MAGIC_SYM_ELF_5
- Expect Symbol MAGIC_SYM_LNK_6
- Expect Symbol MAGIC_SYM_CLASS_7
- Expect Symbol MAGIC_SYM_RTF_8
- Expect Symbol MAGIC_SYM_PDF_9
- Expect Symbol MAGIC_SYM_PS_10
- Expect Symbol MAGIC_SYM_CHM_11
- Expect Symbol MAGIC_SYM_DJVU_12
- Expect Symbol MAGIC_SYM_ARJ_13
- Expect Symbol MAGIC_SYM_CAB_14
- Expect Symbol MAGIC_SYM_ACE_15
- Expect Symbol MAGIC_SYM_TAR_16
- Expect Symbol MAGIC_SYM_BZ2_17
- Expect Symbol MAGIC_SYM_XZ_18
- Expect Symbol MAGIC_SYM_LZ4_19
- Expect Symbol MAGIC_SYM_ZST_20
- Expect Symbol MAGIC_SYM_DMG_21
- Expect Symbol MAGIC_SYM_ISO_22
- Expect Symbol MAGIC_SYM_ZOO_23
- Expect Symbol MAGIC_SYM_EPUB_24
- Expect Symbol MAGIC_SYM_XAR_25
- Expect Symbol MAGIC_SYM_PSD_26
- Expect Symbol MAGIC_SYM_PCX_27
- Expect Symbol MAGIC_SYM_TIFF_28
- Expect Symbol MAGIC_SYM_ICO_29
- Expect Symbol MAGIC_SYM_SWF_30
- Expect Symbol MAGIC_SYM_DOC_31
- Expect Symbol MAGIC_SYM_XLS_32
- Expect Symbol MAGIC_SYM_PPT_33
- Expect Symbol MAGIC_SYM_MSI_34
- Expect Symbol MAGIC_SYM_MSG_35
- Expect Symbol MAGIC_SYM_DOCX_36
- Expect Symbol MAGIC_SYM_XLSX_37
- Expect Symbol MAGIC_SYM_PPTX_38
- Expect Symbol MAGIC_SYM_ODT_39
- Expect Symbol MAGIC_SYM_ODS_40
- Expect Symbol MAGIC_SYM_ODP_41
- Expect Symbol MAGIC_SYM_7Z_42
- Expect Symbol MAGIC_SYM_VSD_43
- Expect Symbol MAGIC_SYM_PNG_44
- Expect Symbol MAGIC_SYM_JPG_45
- Expect Symbol MAGIC_SYM_GIF_46
- Expect Symbol MAGIC_SYM_BMP_47
- Expect Symbol MAGIC_SYM_TXT_48
- Expect Symbol MAGIC_SYM_HTML_49
- Expect Symbol MAGIC_SYM_CSV_50
- Expect Symbol MAGIC_SYM_DWG_51
- Expect Symbol MAGIC_SYM_JAR_52
- Expect Symbol MAGIC_SYM_APK_53
- Expect Symbol MAGIC_SYM_BAT_54
- Expect Symbol MAGIC_SYM_ICS_55
- Expect Symbol MAGIC_SYM_VCF_56
+ Expect Symbols MAGIC_SYM_ZIP_2
+ ... MAGIC_SYM_RAR_3
+ ... MAGIC_SYM_EXE_4
+ ... MAGIC_SYM_ELF_5
+ ... MAGIC_SYM_LNK_6
+ ... MAGIC_SYM_CLASS_7
+ ... MAGIC_SYM_RTF_8
+ ... MAGIC_SYM_PDF_9
+ ... MAGIC_SYM_PS_10
+ ... MAGIC_SYM_CHM_11
+ ... MAGIC_SYM_DJVU_12
+ ... MAGIC_SYM_ARJ_13
+ ... MAGIC_SYM_CAB_14
+ ... MAGIC_SYM_ACE_15
+ ... MAGIC_SYM_TAR_16
+ ... MAGIC_SYM_BZ2_17
+ ... MAGIC_SYM_XZ_18
+ ... MAGIC_SYM_LZ4_19
+ ... MAGIC_SYM_ZST_20
+ ... MAGIC_SYM_DMG_21
+ ... MAGIC_SYM_ISO_22
+ ... MAGIC_SYM_ZOO_23
+ ... MAGIC_SYM_EPUB_24
+ ... MAGIC_SYM_XAR_25
+ ... MAGIC_SYM_PSD_26
+ ... MAGIC_SYM_PCX_27
+ ... MAGIC_SYM_TIFF_28
+ ... MAGIC_SYM_ICO_29
+ ... MAGIC_SYM_SWF_30
+ ... MAGIC_SYM_DOC_31
+ ... MAGIC_SYM_XLS_32
+ ... MAGIC_SYM_PPT_33
+ ... MAGIC_SYM_MSI_34
+ ... MAGIC_SYM_MSG_35
+ ... MAGIC_SYM_DOCX_36
+ ... MAGIC_SYM_XLSX_37
+ ... MAGIC_SYM_PPTX_38
+ ... MAGIC_SYM_ODT_39
+ ... MAGIC_SYM_ODS_40
+ ... MAGIC_SYM_ODP_41
+ ... MAGIC_SYM_7Z_42
+ ... MAGIC_SYM_VSD_43
+ ... MAGIC_SYM_PNG_44
+ ... MAGIC_SYM_JPG_45
+ ... MAGIC_SYM_GIF_46
+ ... MAGIC_SYM_BMP_47
+ ... MAGIC_SYM_TXT_48
+ ... MAGIC_SYM_HTML_49
+ ... MAGIC_SYM_CSV_50
+ ... MAGIC_SYM_DWG_51
+ ... MAGIC_SYM_JAR_52
+ ... MAGIC_SYM_APK_53
+ ... MAGIC_SYM_BAT_54
+ ... MAGIC_SYM_ICS_55
+ ... MAGIC_SYM_VCF_56
+*** Keywords ***
+Magic Setup
+ New Setup LUA_SCRIPT=${LUA_SCRIPT}
diff --git a/test/functional/cases/360_force_actions.robot b/test/functional/cases/360_force_actions.robot
index b095e78bf..553a59363 100644
--- a/test/functional/cases/360_force_actions.robot
+++ b/test/functional/cases/360_force_actions.robot
@@ -6,7 +6,7 @@ Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
*** Variables ***
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/force_actions.conf
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${MESSAGE} ${TESTDIR}/messages/url7.eml
${RSPAMD_SCOPE} Suite
@@ -45,9 +45,7 @@ FORCE ACTIONS from add header to reject
*** Keywords ***
Force Actions Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/force_actions.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
+ New Setup
Force Actions Teardown
Normal Teardown
diff --git a/test/functional/configs/antivirus.conf b/test/functional/configs/antivirus.conf
index d38c69a42..8b971a588 100644
--- a/test/functional/configs/antivirus.conf
+++ b/test/functional/configs/antivirus.conf
@@ -1,18 +1,20 @@
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
redis {
- servers = "${REDIS_ADDR}:${REDIS_PORT}";
+ servers = "{= env.REDIS_ADDR =}:{= env.REDIS_PORT =}";
}
antivirus {
clam {
attachments_only = false;
symbol = "CLAM_VIRUS";
type = "clamav";
- servers = "127.0.0.1:${PORT_CLAM}";
+ servers = "127.0.0.1:{= env.PORT_CLAM =}";
}
fprot {
attachments_only = false;
symbol = "FPROT_VIRUS";
type = "fprot";
- servers = "127.0.0.1:${PORT_FPROT}";
+ servers = "127.0.0.1:{= env.PORT_FPROT =}";
patterns {
FPROT_EICAR = "^EICAR_Test_File$";
}
@@ -22,7 +24,7 @@ antivirus {
attachments_only = false;
symbol = "FPROT2_VIRUS_DUPLICATE_DEFAULT";
type = "fprot";
- servers = "127.0.0.1:${PORT_FPROT2_DUPLICATE}";
+ servers = "127.0.0.1:{= env.PORT_FPROT2_DUPLICATE =}";
patterns = [
{FPROT2_VIRUS_DUPLICATE_PATTERN = "^E"},
{FPROT2_VIRUS_DUPLICATE_NOPE1 = "^EI",
@@ -36,6 +38,6 @@ antivirus {
attachments_only = false;
symbol = "AVAST_VIRUS";
type = "avast";
- servers = "127.0.0.1:${PORT_AVAST}";
+ servers = "127.0.0.1:{= env.PORT_AVAST =}";
}
}
diff --git a/test/functional/configs/arc.conf b/test/functional/configs/arc.conf
index 5f8797fe8..8a8a525c7 100644
--- a/test/functional/configs/arc.conf
+++ b/test/functional/configs/arc.conf
@@ -1 +1,3 @@
-arc { } \ No newline at end of file
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
+arc { }
diff --git a/test/functional/configs/arc_signing/redis.conf b/test/functional/configs/arc_signing/redis.conf
index b2a9aa134..0d049c372 100644
--- a/test/functional/configs/arc_signing/redis.conf
+++ b/test/functional/configs/arc_signing/redis.conf
@@ -1,8 +1,10 @@
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
arc {
use_redis = true;
key_prefix = "TEST_DKIM_KEYS";
selector_prefix = "TEST_DKIM_SELECTORS";
}
redis {
- servers = "${REDIS_ADDR}:${REDIS_PORT}";
+ servers = "{= env.REDIS_ADDR =}:{= env.REDIS_PORT =}";
}
diff --git a/test/functional/configs/arc_signing/simple.conf b/test/functional/configs/arc_signing/simple.conf
index 5807d7346..f559e61bd 100644
--- a/test/functional/configs/arc_signing/simple.conf
+++ b/test/functional/configs/arc_signing/simple.conf
@@ -1,5 +1,7 @@
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
arc {
- path = "${TESTDIR}/configs/dkim.key";
+ path = "{= env.TESTDIR =}/configs/dkim.key";
check_pubkey = true;
allow_pubkey_mismatch = false;
selector = "dkim";
diff --git a/test/functional/configs/composites.conf b/test/functional/configs/composites.conf
index 71e453def..28b645e60 100644
--- a/test/functional/configs/composites.conf
+++ b/test/functional/configs/composites.conf
@@ -1,27 +1,27 @@
options = {
- pidfile = "${TMPDIR}/rspamd.pid"
+ pidfile = "{= env.TMPDIR =}/rspamd.pid"
}
logging = {
type = "file",
level = "debug"
- filename = "${TMPDIR}/rspamd.log"
+ filename = "{= env.TMPDIR =}/rspamd.log"
}
worker {
type = normal
- bind_socket = ${LOCAL_ADDR}:${PORT_NORMAL}
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_NORMAL =}"
count = 1
task_timeout = 60s;
}
worker {
type = controller
- bind_socket = ${LOCAL_ADDR}:${PORT_CONTROLLER}
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_CONTROLLER =}"
count = 1
secure_ip = ["127.0.0.1", "::1"];
- stats_path = "${TMPDIR}/stats.ucl"
+ stats_path = "{= env.TMPDIR =}/stats.ucl"
}
-lua = "${TESTDIR}/lua/test_coverage.lua";
-lua = ${LUA_SCRIPT};
+lua = "{= env.TESTDIR =}/lua/test_coverage.lua";
+lua = {= env.LUA_SCRIPT =};
composites {
EXPRESSIONS {
@@ -77,7 +77,7 @@ composites {
score = 6.0;
}
SYMOPTS3 {
- expression = 'OPTS[sym2,/FoO\\//i]';
+ expression = 'OPTS[sym2,/FoO\//i]';
score = 6.0;
}
SYMOPTS4 {
diff --git a/test/functional/configs/dkim.conf b/test/functional/configs/dkim.conf
index cc2f6f250..50712d17b 100644
--- a/test/functional/configs/dkim.conf
+++ b/test/functional/configs/dkim.conf
@@ -1,35 +1,17 @@
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
options = {
filters = ["dkim"]
- pidfile = "${TMPDIR}/rspamd.pid"
+ pidfile = "{= env.TMPDIR =}/rspamd.pid"
dns {
retransmits = 10;
timeout = 2s;
- fake_records = [{ # ed25519
- name = "test._domainkey.example.com";
- type = txt;
- replies = ["k=ed25519; p=yi50DjK5O9pqbFpNHklsv9lqaS0ArSYu02qp1S0DW1Y="];
- },
- {
- name = "brisbane._domainkey.football.example.com";
- type = txt;
- replies = ["v=DKIM1; k=ed25519; p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="];
- },
- {
- name = "test._domainkey.football.example.com";
- type = txt;
- replies = ["v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"],
- },
- {
- name = "dkim._domainkey.cacophony.za.org",
- type = "txt";
- replies = ["v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDXtxBE5IiNRMcq2/lc2zErfdCvDFyQNBnMjbOjBQrPST2k4fdGbtpe5Iu5uS01Met+dAEf94XL8I0hwmYw+n70PP834zfJGi2egwGqrakpaWsCDPvIJZLkxJCJKQRA/zrQ622uEXdvYixVbsEGVw7U4wAGSmT5rU2eU1y63AlOlQIDAQAB"];
- }];
}
}
logging = {
type = "file",
level = "debug"
- filename = "${TMPDIR}/rspamd.log"
+ filename = "{= env.TMPDIR =}/rspamd.log"
}
metric = {
name = "default",
@@ -41,21 +23,21 @@ metric = {
worker {
type = normal
- bind_socket = ${LOCAL_ADDR}:${PORT_NORMAL}
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_NORMAL =}"
count = 1
keypair {
- pubkey = "${KEY_PUB1}";
- privkey = "${KEY_PVT1}";
+ pubkey = "{= env.KEY_PUB1 =}";
+ privkey = "{= env.KEY_PVT1 =}";
}
task_timeout = 60s;
}
worker {
type = controller
- bind_socket = ${LOCAL_ADDR}:${PORT_CONTROLLER}
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_CONTROLLER =}"
count = 1
secure_ip = ["127.0.0.1", "::1"];
- stats_path = "${TMPDIR}/stats.ucl"
+ stats_path = "{= env.TMPDIR =}/stats.ucl"
}
dkim {
@@ -65,7 +47,7 @@ return function(task)
local dodkim = task:get_request_header('dodkim')
if not dodkim then return end
return {
- key = "${TESTDIR}/configs/dkim.key",
+ key = "{= env.TESTDIR =}/configs/dkim.key",
domain = "cacophony.za.org",
selector = "dkim"
}
@@ -79,6 +61,6 @@ EOD;
skip_multi = false;
}
modules {
- path = "${TESTDIR}/../../src/plugins/lua/"
+ path = "{= env.TESTDIR =}/../../src/plugins/lua/"
}
-lua = "${TESTDIR}/lua/test_coverage.lua";
+lua = "{= env.TESTDIR =}/lua/test_coverage.lua";
diff --git a/test/functional/configs/dkim_signing/eddsa.conf b/test/functional/configs/dkim_signing/eddsa.conf
index 1a93c9e0b..a8cdfaa78 100644
--- a/test/functional/configs/dkim_signing/eddsa.conf
+++ b/test/functional/configs/dkim_signing/eddsa.conf
@@ -1,5 +1,7 @@
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
dkim_signing {
- path = "${TESTDIR}/configs/dkim-eddsa.key";
+ path = "{= env.TESTDIR =}/configs/dkim-eddsa.key";
selector = "eddsa";
check_pubkey = true;
allow_pubkey_mismatch = false;
diff --git a/test/functional/configs/dkim_signing/invalidate.conf b/test/functional/configs/dkim_signing/invalidate.conf
index 48b1cec16..b7913cd0a 100644
--- a/test/functional/configs/dkim_signing/invalidate.conf
+++ b/test/functional/configs/dkim_signing/invalidate.conf
@@ -1,5 +1,7 @@
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
dkim_signing {
- path = "${KEY_DIR}/dkim-eddsa.key";
+ path = "{= env.KEY_DIR =}/dkim-eddsa.key";
selector = "eddsa";
check_pubkey = true;
allow_pubkey_mismatch = false;
diff --git a/test/functional/configs/dkim_signing/milter.conf b/test/functional/configs/dkim_signing/milter.conf
index 263ed0b4e..a373e16b0 100644
--- a/test/functional/configs/dkim_signing/milter.conf
+++ b/test/functional/configs/dkim_signing/milter.conf
@@ -1,8 +1,8 @@
options = {
filters = ["dkim"]
- url_tld = "${URL_TLD}"
- pidfile = "${TMPDIR}/rspamd.pid"
- lua_path = "${INSTALLROOT}/share/rspamd/lib/?.lua"
+ url_tld = "{= env.URL_TLD =}"
+ pidfile = "{= env.TMPDIR =}/rspamd.pid"
+ lua_path = "{= env.INSTALLROOT =}/share/rspamd/lib/?.lua"
dns {
nameserver = ["8.8.8.8", "8.8.4.4"];
retransmits = 10;
@@ -12,7 +12,7 @@ options = {
logging = {
type = "file",
level = "debug"
- filename = "${TMPDIR}/rspamd.log"
+ filename = "{= env.TMPDIR =}/rspamd.log"
}
metric = {
name = "default",
@@ -23,16 +23,16 @@ metric = {
}
worker {
type = normal
- bind_socket = ${LOCAL_ADDR}:${PORT_NORMAL}
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_NORMAL =}"
count = 1
task_timeout = 60s;
}
worker {
type = controller
- bind_socket = ${LOCAL_ADDR}:${PORT_CONTROLLER}
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_CONTROLLER =}"
count = 1
secure_ip = ["127.0.0.1", "::1"];
- stats_path = "${TMPDIR}/stats.ucl"
+ stats_path = "{= env.TMPDIR =}/stats.ucl"
}
worker {
type = "rspamd_proxy";
@@ -40,28 +40,28 @@ worker {
timeout = 120;
upstream {
local {
- hosts = "${LOCAL_ADDR}:${PORT_NORMAL}";
+ hosts = "{= env.LOCAL_ADDR =}:{= env.PORT_NORMAL =}";
default = true;
}
}
- bind_socket = "${LOCAL_ADDR}:${PORT_PROXY}";
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_PROXY =}";
milter = true;
}
dkim_signing {
domain {
cacophony.za.org {
selectors = {
- path: "${TESTDIR}/configs/dkim.key";
+ path: "{= env.TESTDIR =}/configs/dkim.key";
selector: "dkim";
}
selectors = {
- path: "${TESTDIR}/configs/dkim-eddsa.key";
+ path: "{= env.TESTDIR =}/configs/dkim-eddsa.key";
selector: "eddsa";
}
}
invalid.za.org {
selectors = [
- { path: "${TESTDIR}/configs/dkim-eddsa.key";
+ { path: "{= env.TESTDIR =}/configs/dkim-eddsa.key";
selector: "eddsa"; }
]
}
@@ -69,8 +69,8 @@ dkim_signing {
allow_pubkey_mismatch: true;
}
modules {
- path = "${TESTDIR}/../../src/plugins/lua/dkim_signing.lua"
+ path = "{= env.TESTDIR =}/../../src/plugins/lua/dkim_signing.lua"
}
-lua = "${TESTDIR}/lua/test_coverage.lua";
-lua = "${INSTALLROOT}/share/rspamd/rules/rspamd.lua"
-lua = "${TESTDIR}/lua/params.lua"
+lua = "{= env.TESTDIR =}/lua/test_coverage.lua";
+lua = "{= env.INSTALLROOT =}/share/rspamd/rules/rspamd.lua"
+lua = "{= env.TESTDIR =}/lua/params.lua"
diff --git a/test/functional/configs/dkim_signing/multiple.conf b/test/functional/configs/dkim_signing/multiple.conf
index 072842183..029c2b5e9 100644
--- a/test/functional/configs/dkim_signing/multiple.conf
+++ b/test/functional/configs/dkim_signing/multiple.conf
@@ -1,12 +1,14 @@
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
dkim_signing {
domain {
cacophony.za.org {
selectors = {
- path: "${TESTDIR}/configs/dkim.key";
+ path: "{= env.TESTDIR =}/configs/dkim.key";
selector: "dkim";
}
selectors = {
- path: "${TESTDIR}/configs/dkim-eddsa.key";
+ path: "{= env.TESTDIR =}/configs/dkim-eddsa.key";
selector: "eddsa";
}
}
diff --git a/test/functional/configs/dkim_signing/redis.conf b/test/functional/configs/dkim_signing/redis.conf
index 903a13cf4..02dc2eacd 100644
--- a/test/functional/configs/dkim_signing/redis.conf
+++ b/test/functional/configs/dkim_signing/redis.conf
@@ -1,8 +1,10 @@
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
dkim_signing {
use_redis = true;
key_prefix = "TEST_DKIM_KEYS";
selector_prefix = "TEST_DKIM_SELECTORS";
}
redis {
- servers = "${REDIS_ADDR}:${REDIS_PORT}";
+ servers = "{= env.REDIS_ADDR =}:{= env.REDIS_PORT =}";
}
diff --git a/test/functional/configs/dkim_signing/sign_maps.conf b/test/functional/configs/dkim_signing/sign_maps.conf
index 9e63b7fc4..6993f1f21 100644
--- a/test/functional/configs/dkim_signing/sign_maps.conf
+++ b/test/functional/configs/dkim_signing/sign_maps.conf
@@ -1,3 +1,5 @@
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
dkim_signing {
signing_table = [
"*@cacophony.za.org cacophony.za.org",
@@ -6,4 +8,4 @@ dkim_signing {
key_table = [
"cacophony.za.org %:eddsa:m5kGxtckRfsNe5EuYTe7bvkDjSh7LXaX3aXyIMPGLR0=",
];
-} \ No newline at end of file
+}
diff --git a/test/functional/configs/dkim_signing/simple.conf b/test/functional/configs/dkim_signing/simple.conf
index 14b8d5ec6..9b812ec7e 100644
--- a/test/functional/configs/dkim_signing/simple.conf
+++ b/test/functional/configs/dkim_signing/simple.conf
@@ -1,5 +1,7 @@
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
dkim_signing {
- path = "${TESTDIR}/configs/dkim.key";
+ path = "{= env.TESTDIR =}/configs/dkim.key";
check_pubkey = true;
allow_pubkey_mismatch = false;
use_http_headers = true;
diff --git a/test/functional/configs/dmarc.conf b/test/functional/configs/dmarc.conf
index b6164f9d2..130e5612c 100644
--- a/test/functional/configs/dmarc.conf
+++ b/test/functional/configs/dmarc.conf
@@ -1,6 +1,8 @@
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
dmarc { }
spf {
external_relay = [
- "${TESTDIR}/configs/maps/external_relay_ip.list",
+ "{= env.TESTDIR =}/configs/maps/external_relay_ip.list",
];
-} \ No newline at end of file
+}
diff --git a/test/functional/configs/empty.conf b/test/functional/configs/empty.conf
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/test/functional/configs/empty.conf
diff --git a/test/functional/configs/force_actions.conf b/test/functional/configs/force_actions.conf
index 61732c4ac..aed3d05fa 100644
--- a/test/functional/configs/force_actions.conf
+++ b/test/functional/configs/force_actions.conf
@@ -1,3 +1,5 @@
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
force_actions {
rules {
FORCE_REJECT_TO_ADD_HEADER {
@@ -83,4 +85,4 @@ settings {
}
}
}
-} \ No newline at end of file
+}
diff --git a/test/functional/configs/fuzzy-encryption-key.conf b/test/functional/configs/fuzzy-encryption-key.conf
new file mode 100644
index 000000000..522081b08
--- /dev/null
+++ b/test/functional/configs/fuzzy-encryption-key.conf
@@ -0,0 +1,2 @@
+# Setting this to null does not work out so it's hidden in an include
+encryption_key = {= env.FUZZY_ENCRYPTION_KEY =};
diff --git a/test/functional/configs/fuzzy.conf b/test/functional/configs/fuzzy.conf
index bc4e72e7b..8af1cfa3f 100644
--- a/test/functional/configs/fuzzy.conf
+++ b/test/functional/configs/fuzzy.conf
@@ -1,12 +1,12 @@
redis {
- servers = "${REDIS_ADDR}:${REDIS_PORT}";
+ servers = "{= env.REDIS_ADDR =}:{= env.REDIS_PORT =}";
}
-lua = "${TESTDIR}/lua/test_coverage.lua";
+lua = "{= env.TESTDIR =}/lua/test_coverage.lua";
options = {
filters = "fuzzy_check";
- pidfile = "${TMPDIR}/rspamd.pid";
- control_socket = "${TMPDIR}/rspamd.sock mode=0600";
- url_tld = "${TESTDIR}/../lua/unit/test_tld.dat";
+ pidfile = "{= env.TMPDIR =}/rspamd.pid";
+ control_socket = "{= env.TMPDIR =}/rspamd.sock mode=0600";
+ url_tld = "{= env.TESTDIR =}/../lua/unit/test_tld.dat";
dns {
retransmits = 10;
timeout = 2s;
@@ -15,7 +15,7 @@ options = {
logging = {
type = "file",
level = "debug"
- filename = "${TMPDIR}/rspamd.log"
+ filename = "{= env.TMPDIR =}/rspamd.log"
}
metric = {
name = "default",
@@ -25,36 +25,41 @@ metric = {
unknown_weight = 1
symbol {
weight = 10.0;
- name = "${FLAG1_SYMBOL}";
+ name = "{= env.FLAG1_SYMBOL =}";
}
symbol {
weight = -1.0;
- name = "${FLAG2_SYMBOL}";
+ name = "{= env.FLAG2_SYMBOL =}";
}
}
worker {
type = normal
- bind_socket = "${LOCAL_ADDR}:${PORT_NORMAL}";
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_NORMAL =}";
count = 1
task_timeout = 60s;
}
worker {
type = controller
- bind_socket = "${LOCAL_ADDR}:${PORT_CONTROLLER}";
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_CONTROLLER =}";
count = 1
- secure_ip = ["${LOCAL_ADDR}"];
- stats_path = "${TMPDIR}/stats.ucl";
+ secure_ip = ["{= env.LOCAL_ADDR =}"];
+ stats_path = "{= env.TMPDIR =}/stats.ucl";
}
worker {
count = 1;
- bind_socket = "${LOCAL_ADDR}:${PORT_FUZZY}";
+ backend = "{= env.FUZZY_BACKEND =}";
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_FUZZY =}";
type = "fuzzy";
- hashfile = "${TMPDIR}/fuzzy.db";
- allow_update = ["${LOCAL_ADDR}"];
-${SETTINGS_FUZZY_WORKER}
+ hashfile = "{= env.TMPDIR =}/fuzzy.db";
+ allow_update = ["{= env.LOCAL_ADDR =}"];
+ encrypted_only = {= env.FUZZY_ENCRYPTED_ONLY =};
+ keypair {
+ privkey = "{= env.KEY_PVT1 =}";
+ pubkey = "{= env.KEY_PUB1 =}";
+ }
}
fuzzy_check {
@@ -65,23 +70,25 @@ fuzzy_check {
rule {
min_bytes = 0;
min_length = 0;
- algorithm = "${ALGORITHM}";
- servers = "${LOCAL_ADDR}:${PORT_FUZZY}";
+ algorithm = "{= env.FUZZY_ALGORITHM =}";
+ servers = "{= env.LOCAL_ADDR =}:{= env.PORT_FUZZY =}";
symbol = "R_TEST_FUZZY";
max_score = 10.0;
mime_types = ["application/*"];
read_only = false;
skip_unknown = true;
- skip_hashes = "${TMPDIR}/skip_hash.map";
-${SETTINGS_FUZZY_CHECK}
+ skip_hashes = "{= env.TMPDIR =}/skip_hash.map";
+ fuzzy_key = {= env.FUZZY_KEY =};
+ fuzzy_shingles_key = {= env.FUZZY_SHINGLES_KEY =};
+.include "{= env.FUZZY_INCLUDE =}";
fuzzy_map = {
- ${FLAG1_SYMBOL} {
+ R_TEST_FUZZY_DENIED {
max_score = 10.0;
- flag = ${FLAG1_NUMBER};
+ flag = {= env.FLAG1_NUMBER =};
}
- ${FLAG2_SYMBOL} {
+ R_TEST_FUZZY_WHITE {
max_score = 1.0;
- flag = ${FLAG2_NUMBER};
+ flag = {= env.FLAG2_NUMBER =};
}
}
}
diff --git a/test/functional/configs/greylist.conf b/test/functional/configs/greylist.conf
index 5e12accf9..d47500ce8 100644
--- a/test/functional/configs/greylist.conf
+++ b/test/functional/configs/greylist.conf
@@ -1,5 +1,7 @@
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
redis {
- servers = "${REDIS_ADDR}:${REDIS_PORT}";
+ servers = "{= env.REDIS_ADDR =}:{= env.REDIS_PORT =}";
}
greylist {
check_local = true;
diff --git a/test/functional/configs/lua_script.conf b/test/functional/configs/lua_script.conf
index 2bde672fe..8798bff37 100644
--- a/test/functional/configs/lua_script.conf
+++ b/test/functional/configs/lua_script.conf
@@ -1,25 +1,25 @@
options = {
- pidfile = "${TMPDIR}/rspamd.pid"
+ pidfile = "{= env.TMPDIR =}/rspamd.pid"
}
logging = {
type = "file",
level = "debug"
- filename = "${TMPDIR}/rspamd.log"
+ filename = "{= env.TMPDIR =}/rspamd.log"
}
worker {
type = normal
- bind_socket = ${LOCAL_ADDR}:${PORT_NORMAL}
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_NORMAL =}"
count = 1
task_timeout = 60s;
}
worker {
type = controller
- bind_socket = ${LOCAL_ADDR}:${PORT_CONTROLLER}
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_CONTROLLER =}"
count = 1
secure_ip = ["127.0.0.1", "::1"];
- stats_path = "${TMPDIR}/stats.ucl"
+ stats_path = "{= env.TMPDIR =}/stats.ucl"
}
-lua = "${TESTDIR}/lua/test_coverage.lua";
-lua = ${LUA_SCRIPT};
+lua = "{= env.TESTDIR =}/lua/test_coverage.lua";
+lua = "{= env.LUA_SCRIPT =}";
diff --git a/test/functional/configs/lua_test.conf b/test/functional/configs/lua_test.conf
index ebdcff860..1d36536dd 100644
--- a/test/functional/configs/lua_test.conf
+++ b/test/functional/configs/lua_test.conf
@@ -1,8 +1,8 @@
options = {
filters = ["spf", "dkim", "regexp"]
- url_tld = "${URL_TLD}"
- pidfile = "${TMPDIR}/rspamd.pid"
- map_watch_interval = ${MAP_WATCH_INTERVAL};
+ url_tld = "{= env.URL_TLD =}"
+ pidfile = "{= env.TMPDIR =}/rspamd.pid"
+ map_watch_interval = {= env.MAP_WATCH_INTERVAL =};
dns {
retransmits = 10;
timeout = 2s;
@@ -24,7 +24,7 @@ options = {
logging = {
type = "file",
level = "debug"
- filename = "${TMPDIR}/rspamd.log"
+ filename = "{= env.TMPDIR =}/rspamd.log"
log_usec = true;
}
metric = {
@@ -37,16 +37,16 @@ metric = {
worker {
type = normal
- bind_socket = ${LOCAL_ADDR}:${PORT_NORMAL}
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_NORMAL =}"
count = 1
task_timeout = 10s;
}
worker {
type = controller
- bind_socket = ${LOCAL_ADDR}:${PORT_CONTROLLER}
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_CONTROLLER =}"
count = 1
secure_ip = ["127.0.0.1", "::1"];
- stats_path = "${TMPDIR}/stats.ucl"
+ stats_path = "{= env.TMPDIR =}/stats.ucl"
}
-lua = "${TESTDIR}/lua/test_coverage.lua";
-lua = ${LUA_SCRIPT};
+lua = "{= env.TESTDIR =}/lua/test_coverage.lua";
+lua = "{= env.LUA_SCRIPT =}";
diff --git a/test/functional/configs/mid.conf b/test/functional/configs/mid.conf
index 49f5cb568..ce024299a 100644
--- a/test/functional/configs/mid.conf
+++ b/test/functional/configs/mid.conf
@@ -1,9 +1,11 @@
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
mid = {
source = {
url = [
"https://maps.rspamd.com/rspamd/mid.inc.zst",
- "fallback+file://${TESTDIR}/../../../conf/mid.inc",
- "file://${TESTDIR}/configs/maps/mid.list"
+ "fallback+file://{= env.TESTDIR =}/../../../conf/mid.inc",
+ "file://{= env.TESTDIR =}/configs/maps/mid.list"
];
}
}
diff --git a/test/functional/configs/milter.conf b/test/functional/configs/milter.conf
index e09ee48d8..aaf148c12 100644
--- a/test/functional/configs/milter.conf
+++ b/test/functional/configs/milter.conf
@@ -1,8 +1,8 @@
options = {
filters = ["spf", "dkim", "regexp"]
- url_tld = "${URL_TLD}"
- pidfile = "${TMPDIR}/rspamd.pid"
- lua_path = "${INSTALLROOT}/share/rspamd/lib/?.lua";
+ url_tld = "{= env.URL_TLD =}"
+ pidfile = "{= env.TMPDIR =}/rspamd.pid"
+ lua_path = "{= env.INSTALLROOT =}/share/rspamd/lib/?.lua";
enable_test_patterns = true;
dns {
nameserver = ["8.8.8.8", "8.8.4.4"];
@@ -13,7 +13,7 @@ options = {
logging = {
type = "file",
level = "debug"
- filename = "${TMPDIR}/rspamd.log"
+ filename = "{= env.TMPDIR =}/rspamd.log"
}
metric = {
name = "default",
@@ -24,16 +24,16 @@ metric = {
}
worker {
type = normal
- bind_socket = ${LOCAL_ADDR}:${PORT_NORMAL}
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_NORMAL =}"
count = 1
task_timeout = 60s;
}
worker {
type = controller
- bind_socket = ${LOCAL_ADDR}:${PORT_CONTROLLER}
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_CONTROLLER =}"
count = 1
secure_ip = ["127.0.0.1", "::1"];
- stats_path = "${TMPDIR}/stats.ucl"
+ stats_path = "{= env.TMPDIR =}/stats.ucl"
}
worker {
type = "rspamd_proxy";
@@ -41,19 +41,19 @@ worker {
timeout = 120;
upstream {
local {
- hosts = "${LOCAL_ADDR}:${PORT_NORMAL}";
+ hosts = "{= env.LOCAL_ADDR =}:{= env.PORT_NORMAL =}";
default = true;
}
}
- bind_socket = "${LOCAL_ADDR}:${PORT_PROXY}";
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_PROXY =}";
milter = true;
}
modules {
- path = "${TESTDIR}/../../src/plugins/lua/"
+ path = "{= env.TESTDIR =}/../../src/plugins/lua/"
}
-lua = "${TESTDIR}/lua/test_coverage.lua";
-lua = "${INSTALLROOT}/share/rspamd/rules/rspamd.lua"
-lua = "${TESTDIR}/lua/params.lua"
+lua = "{= env.TESTDIR =}/lua/test_coverage.lua";
+lua = "{= env.INSTALLROOT =}/share/rspamd/rules/rspamd.lua"
+lua = "{= env.TESTDIR =}/lua/params.lua"
milter_headers {
extended_spam_headers = true;
skip_local = false;
diff --git a/test/functional/configs/mime_types.conf b/test/functional/configs/mime_types.conf
index e28feba98..82bd4187c 100644
--- a/test/functional/configs/mime_types.conf
+++ b/test/functional/configs/mime_types.conf
@@ -1,7 +1,9 @@
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
mime_types {
file = [
"https://maps.rspamd.com/rspamd/mime_types.inc.zst",
- "fallback+file://${TESTDIR}/../../../conf/mime_types.inc"
+ "fallback+file://{= env.TESTDIR =}/../../../conf/mime_types.inc"
];
extension_map {
html = "text/html";
@@ -15,5 +17,5 @@ mime_types {
"application/pdf",
]
}
- filename_whitelist = "${TESTDIR}/configs/maps/mime_types.wl";
+ filename_whitelist = "{= env.TESTDIR =}/configs/maps/mime_types.wl";
}
diff --git a/test/functional/configs/multimap.conf b/test/functional/configs/multimap.conf
index 9158f657c..c59c1ac57 100644
--- a/test/functional/configs/multimap.conf
+++ b/test/functional/configs/multimap.conf
@@ -1,8 +1,10 @@
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
asn {
}
spf {}
redis {
- servers = "${REDIS_ADDR}:${REDIS_PORT}";
+ servers = "{= env.REDIS_ADDR =}:{= env.REDIS_PORT =}";
expand_keys = true;
}
multimap {
@@ -12,76 +14,76 @@ multimap {
}
IP_MAP {
type = "ip";
- map = "${TESTDIR}/configs/maps/ip.list";
+ map = "{= env.TESTDIR =}/configs/maps/ip.list";
}
FROM_MAP {
type = "from";
filter = "email:domain";
- map = "${TESTDIR}/configs/maps/domains.list";
+ map = "{= env.TESTDIR =}/configs/maps/domains.list";
}
FREEMAIL_CC {
type = "header";
header = "Cc";
filter = "email:domain";
- map = "${TESTDIR}/configs/maps/domains.list.2";
+ map = "{= env.TESTDIR =}/configs/maps/domains.list.2";
score = 1.0;
}
REGEXP_MAP {
type = "from";
filter = "email:addr";
regexp = true;
- map = "${TESTDIR}/configs/maps/regexp.list";
+ map = "{= env.TESTDIR =}/configs/maps/regexp.list";
}
DEPS_MAP {
type = "from";
filter = "email:addr";
regexp = true;
- map = "${TESTDIR}/configs/maps/regexp.list";
+ map = "{= env.TESTDIR =}/configs/maps/regexp.list";
require_symbols = "(R_SPF_ALLOW|R_SPF_DNSFAIL) & REGEXP_MAP & !FROM_MAP";
}
RCPT_DOMAIN {
type = "rcpt";
filter = "email:domain";
- map = "${TESTDIR}/configs/maps/domains.list";
+ map = "{= env.TESTDIR =}/configs/maps/domains.list";
}
RCPT_USER {
type = "rcpt";
filter = "email:user";
- map = "${TESTDIR}/configs/maps/users.list";
+ map = "{= env.TESTDIR =}/configs/maps/users.list";
}
RCPT_MAP {
type = "rcpt";
filter = "email:addr";
symbols = ["SYM1"];
- map = "${TESTDIR}/configs/maps/multiple.list";
+ map = "{= env.TESTDIR =}/configs/maps/multiple.list";
score = 1.0;
}
RCPT_MAP_NOMULTISYM {
type = "rcpt";
filter = "email:addr";
disable_multisymbol = true;
- map = "${TESTDIR}/configs/maps/multiple.list";
+ map = "{= env.TESTDIR =}/configs/maps/multiple.list";
score = 1.0;
}
HEADER_MAP {
type = "header";
header = "To";
filter = "email:name";
- map = "${TESTDIR}/configs/maps/utf.list";
+ map = "{= env.TESTDIR =}/configs/maps/utf.list";
regexp = true;
}
HOSTNAME_MAP {
type = "hostname";
- map = "${TESTDIR}/configs/maps/domains.list";
+ map = "{= env.TESTDIR =}/configs/maps/domains.list";
}
HOSTNAME_TOP_MAP {
type = "hostname";
filter = "top";
- map = "${TESTDIR}/configs/maps/top.list";
+ map = "{= env.TESTDIR =}/configs/maps/top.list";
}
CDB_HOSTNAME {
type = "hostname";
- map = "cdb://${TESTDIR}/configs/maps/domains.cdb";
+ map = "cdb://{= env.TESTDIR =}/configs/maps/domains.cdb";
}
REDIS_HOSTNAME {
type = "hostname";
@@ -89,7 +91,7 @@ multimap {
}
REDIS_HOSTNAME_EXPANSION {
type = "hostname";
- map = "redis://\${ip}.\${principal_recipient_domain}";
+ map = "redis://${ip}.${principal_recipient_domain}";
}
REDIS_IPADDR {
type = "ip";
@@ -151,12 +153,12 @@ multimap {
RCVD_TEST_01 {
type = "received";
max_pos = 1;
- map = "${TESTDIR}/configs/maps/rcvd.list";
+ map = "{= env.TESTDIR =}/configs/maps/rcvd.list";
}
RCVD_TEST_02 {
type = "received";
min_pos = -1;
- map = "${TESTDIR}/configs/maps/rcvd.list";
+ map = "{= env.TESTDIR =}/configs/maps/rcvd.list";
}
RCVD_TEST_REDIS_01 {
type = "received";
@@ -164,13 +166,13 @@ multimap {
}
RCVD_AUTHED_ONE {
type = "received";
- map = "${TESTDIR}/configs/maps/rcvd2.list";
+ map = "{= env.TESTDIR =}/configs/maps/rcvd2.list";
flags = ["authenticated"];
nflags = ["ssl"];
}
RCVD_AUTHED_TWO {
type = "received";
- map = "${TESTDIR}/configs/maps/rcvd2.list";
+ map = "{= env.TESTDIR =}/configs/maps/rcvd2.list";
flags = ["authenticated", "ssl"];
}
COMBINED_MAP_AND {
@@ -178,11 +180,11 @@ multimap {
rules {
ip = {
type = "radix";
- map = "${TESTDIR}/configs/maps/ip.list";
+ map = "{= env.TESTDIR =}/configs/maps/ip.list";
selector = "ip";
}
from {
- map = "${TESTDIR}/configs/maps/domains.list";
+ map = "{= env.TESTDIR =}/configs/maps/domains.list";
selector = "from:domain";
}
}
@@ -195,11 +197,11 @@ multimap {
rules {
ip = {
type = "radix";
- map = "${TESTDIR}/configs/maps/ip.list";
+ map = "{= env.TESTDIR =}/configs/maps/ip.list";
selector = "ip";
}
from {
- map = "${TESTDIR}/configs/maps/domains.list";
+ map = "{= env.TESTDIR =}/configs/maps/domains.list";
selector = "from:domain";
}
}
diff --git a/test/functional/configs/neural.conf b/test/functional/configs/neural.conf
index 871a549fe..7a7f36ffc 100644
--- a/test/functional/configs/neural.conf
+++ b/test/functional/configs/neural.conf
@@ -1,7 +1,7 @@
options = {
- url_tld = "${URL_TLD}"
- pidfile = "${TMPDIR}/rspamd.pid"
- lua_path = "${INSTALLROOT}/share/rspamd/lib/?.lua"
+ url_tld = "{= env.URL_TLD =}"
+ pidfile = "{= env.TMPDIR =}/rspamd.pid"
+ lua_path = "{= env.INSTALLROOT =}/share/rspamd/lib/?.lua"
filters = [];
explicit_modules = ["settings"];
}
@@ -9,7 +9,7 @@ options = {
logging = {
type = "file",
level = "debug"
- filename = "${TMPDIR}/rspamd.log"
+ filename = "{= env.TMPDIR =}/rspamd.log"
log_usec = true;
}
metric = {
@@ -22,23 +22,23 @@ metric = {
}
worker {
type = normal
- bind_socket = ${LOCAL_ADDR}:${PORT_NORMAL}
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_NORMAL =}"
count = 1
task_timeout = 10s;
}
worker {
type = controller
- bind_socket = ${LOCAL_ADDR}:${PORT_CONTROLLER}
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_CONTROLLER =}"
count = 1
secure_ip = ["127.0.0.1", "::1"];
- stats_path = "${TMPDIR}/stats.ucl"
+ stats_path = "{= env.TMPDIR =}/stats.ucl"
}
modules {
- path = "${TESTDIR}/../../src/plugins/lua/"
+ path = "{= env.TESTDIR =}/../../src/plugins/lua/"
}
-lua = "${TESTDIR}/lua/test_coverage.lua";
+lua = "{= env.TESTDIR =}/lua/test_coverage.lua";
neural {
rules {
@@ -76,8 +76,8 @@ neural {
}
redis {
- servers = "${REDIS_ADDR}:${REDIS_PORT}";
+ servers = "{= env.REDIS_ADDR =}:{= env.REDIS_PORT =}";
expand_keys = true;
}
-lua = "${TESTDIR}/lua/neural.lua"; \ No newline at end of file
+lua = "{= env.TESTDIR =}/lua/neural.lua";
diff --git a/test/functional/configs/neural_noauto.conf b/test/functional/configs/neural_noauto.conf
index 55f0a4283..e228da850 100644
--- a/test/functional/configs/neural_noauto.conf
+++ b/test/functional/configs/neural_noauto.conf
@@ -1,7 +1,7 @@
options = {
- url_tld = "${URL_TLD}"
- pidfile = "${TMPDIR}/rspamd.pid"
- lua_path = "${INSTALLROOT}/share/rspamd/lib/?.lua"
+ url_tld = "{= env.URL_TLD =}"
+ pidfile = "{= env.TMPDIR =}/rspamd.pid"
+ lua_path = "{= env.INSTALLROOT =}/share/rspamd/lib/?.lua"
filters = [];
explicit_modules = ["settings"];
}
@@ -9,7 +9,7 @@ options = {
logging = {
type = "file",
level = "debug"
- filename = "${TMPDIR}/rspamd.log"
+ filename = "{= env.TMPDIR =}/rspamd.log"
log_usec = true;
}
metric = {
@@ -22,23 +22,23 @@ metric = {
}
worker {
type = normal
- bind_socket = ${LOCAL_ADDR}:${PORT_NORMAL}
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_NORMAL =}"
count = 1
task_timeout = 10s;
}
worker {
type = controller
- bind_socket = ${LOCAL_ADDR}:${PORT_CONTROLLER}
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_CONTROLLER =}"
count = 1
secure_ip = ["127.0.0.1", "::1"];
- stats_path = "${TMPDIR}/stats.ucl"
+ stats_path = "{= env.TMPDIR =}/stats.ucl"
}
modules {
- path = "${TESTDIR}/../../src/plugins/lua/"
+ path = "{= env.TESTDIR =}/../../src/plugins/lua/"
}
-lua = "${TESTDIR}/lua/test_coverage.lua";
+lua = "{= env.TESTDIR =}/lua/test_coverage.lua";
neural {
rules {
@@ -78,8 +78,8 @@ neural {
}
redis {
- servers = "${REDIS_ADDR}:${REDIS_PORT}";
+ servers = "{= env.REDIS_ADDR =}:{= env.REDIS_PORT =}";
expand_keys = true;
}
-lua = "${TESTDIR}/lua/neural.lua";
+lua = "{= env.TESTDIR =}/lua/neural.lua";
diff --git a/test/functional/configs/p0f.conf b/test/functional/configs/p0f.conf
index 69303772a..cb492f9b7 100644
--- a/test/functional/configs/p0f.conf
+++ b/test/functional/configs/p0f.conf
@@ -1,8 +1,10 @@
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
redis {
- servers = "${REDIS_ADDR}:${REDIS_PORT}";
+ servers = "{= env.REDIS_ADDR =}:{= env.REDIS_PORT =}";
}
p0f {
- socket = "${P0F_SOCKET}";
+ socket = "{= env.P0F_SOCKET =}";
patterns {
WINDOWS = '^Windows.*';
ETHER = '^Ethernet.*';
diff --git a/test/functional/configs/password.conf b/test/functional/configs/password.conf
index 922301844..27b88eec3 100644
--- a/test/functional/configs/password.conf
+++ b/test/functional/configs/password.conf
@@ -1,7 +1,7 @@
options = {
filters = ["spf", "dkim", "regexp"]
- url_tld = "${TESTDIR}/../lua/unit/test_tld.dat"
- pidfile = "${TMPDIR}/rspamd.pid"
+ url_tld = "{= env.TESTDIR =}/../lua/unit/test_tld.dat"
+ pidfile = "{= env.TMPDIR =}/rspamd.pid"
dns {
retransmits = 10;
timeout = 2s;
@@ -10,7 +10,7 @@ options = {
logging = {
type = "file",
level = "debug"
- filename = "${TMPDIR}/rspamd.log"
+ filename = "{= env.TMPDIR =}/rspamd.log"
}
metric = {
name = "default",
@@ -22,24 +22,24 @@ metric = {
worker {
type = normal
- bind_socket = ${LOCAL_ADDR}:${PORT_NORMAL}
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_NORMAL =}"
count = 1
keypair {
- pubkey = "${KEY_PUB1}";
- privkey = "${KEY_PVT1}";
+ pubkey = "{= env.KEY_PUB1 =}";
+ privkey = "{= env.KEY_PVT1 =}";
}
task_timeout = 60s;
}
worker {
type = controller
- bind_socket = ${LOCAL_ADDR}:${PORT_CONTROLLER}
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_CONTROLLER =}"
count = 1
keypair {
- pubkey = "${KEY_PUB1}";
- privkey = "${KEY_PVT1}";
+ pubkey = "{= env.KEY_PUB1 =}";
+ privkey = "{= env.KEY_PVT1 =}";
}
- password = ${PASSWORD};
- enable_password = ${ENABLE_PASSWORD};
- stats_path = "${TMPDIR}/stats.ucl";
+ password = {= env.PASSWORD =};
+ enable_password = {= env.ENABLE_PASSWORD =};
+ stats_path = "{= env.TMPDIR =}/stats.ucl";
}
-lua = "${TESTDIR}/lua/test_coverage.lua";
+lua = "{= env.TESTDIR =}/lua/test_coverage.lua";
diff --git a/test/functional/configs/phishing.conf b/test/functional/configs/phishing.conf
index 2b029f687..aa6eb8fe9 100644
--- a/test/functional/configs/phishing.conf
+++ b/test/functional/configs/phishing.conf
@@ -1,11 +1,13 @@
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
phishing {
symbol = "PHISHING";
strict_domains = {
STRICT_PHISHING = [
- "${TESTDIR}/configs/maps/strict.phishing",
+ "{= env.TESTDIR =}/configs/maps/strict.phishing",
];
STRICTER_PHISHING = [
- "${TESTDIR}/configs/maps/stricter.phishing"
+ "{= env.TESTDIR =}/configs/maps/stricter.phishing"
]
}
}
diff --git a/test/functional/configs/plugins.conf b/test/functional/configs/plugins.conf
index 35a2ce347..803eccefe 100644
--- a/test/functional/configs/plugins.conf
+++ b/test/functional/configs/plugins.conf
@@ -1,8 +1,8 @@
options = {
filters = [ "dkim", "regexp"]
- url_tld = "${URL_TLD}"
- pidfile = "${TMPDIR}/rspamd.pid"
- lua_path = "${INSTALLROOT}/share/rspamd/lib/?.lua"
+ url_tld = "{= env.URL_TLD =}"
+ pidfile = "{= env.TMPDIR =}/rspamd.pid"
+ lua_path = "{= env.INSTALLROOT =}/share/rspamd/lib/?.lua"
explicit_modules = ["settings", "bayes_expiry"];
dns {
nameserver = ["8.8.8.8", "8.8.4.4"];
@@ -732,7 +732,7 @@ options = {
logging = {
type = "file",
level = "debug"
- filename = "${TMPDIR}/rspamd.log"
+ filename = "{= env.TMPDIR =}/rspamd.log"
log_usec = true;
}
metric = {
@@ -745,21 +745,20 @@ metric = {
}
worker {
type = normal
- bind_socket = ${LOCAL_ADDR}:${PORT_NORMAL}
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_NORMAL =}"
count = 1
task_timeout = 10s;
}
worker {
type = controller
- bind_socket = ${LOCAL_ADDR}:${PORT_CONTROLLER}
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_CONTROLLER =}"
count = 1
secure_ip = ["127.0.0.1", "::1"];
- stats_path = "${TMPDIR}/stats.ucl"
+ stats_path = "{= env.TMPDIR =}/stats.ucl"
}
modules {
- path = "${TESTDIR}/../../src/plugins/lua/"
+ path = "{= env.TESTDIR =}/../../src/plugins/lua/"
}
spf {}
-lua = "${TESTDIR}/lua/test_coverage.lua";
-lua = "${INSTALLROOT}/share/rspamd/rules/rspamd.lua"
-${PLUGIN_CONFIG}
+lua = "{= env.TESTDIR =}/lua/test_coverage.lua";
+lua = "{= env.INSTALLROOT =}/share/rspamd/rules/rspamd.lua";
diff --git a/test/functional/configs/proxy.conf b/test/functional/configs/proxy.conf
index c2bb3902d..ff31eaea0 100644
--- a/test/functional/configs/proxy.conf
+++ b/test/functional/configs/proxy.conf
@@ -1,8 +1,8 @@
options = {
filters = ["spf", "dkim", "regexp"]
- url_tld = "${URL_TLD}"
- pidfile = "${TMPDIR}/rspamd.pid"
- lua_path = "${INSTALLROOT}/share/rspamd/lib/?.lua"
+ url_tld = "{= env.URL_TLD =}"
+ pidfile = "{= env.TMPDIR =}/rspamd.pid"
+ lua_path = "{= env.INSTALLROOT =}/share/rspamd/lib/?.lua"
dns {
nameserver = ["8.8.8.8", "8.8.4.4"];
retransmits = 10;
@@ -12,15 +12,15 @@ options = {
logging = {
type = "file",
level = "debug"
- filename = "${TMPDIR}/rspamd.log"
+ filename = "{= env.TMPDIR =}/rspamd.log"
}
worker "rspamd_proxy" {
- bind_socket = "${LOCAL_ADDR}:${PORT_PROXY}";
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_PROXY =}";
upstream {
- name = "${LOCAL_ADDR}";
+ name = "{= env.LOCAL_ADDR =}";
default = yes;
- hosts = "${LOCAL_ADDR}:${PORT_NORMAL}";
+ hosts = "{= env.LOCAL_ADDR =}:{= env.PORT_NORMAL =}";
}
count = 1;
}
-lua = "${TESTDIR}/lua/test_coverage.lua";
+lua = "{= env.TESTDIR =}/lua/test_coverage.lua";
diff --git a/test/functional/configs/rbl.conf b/test/functional/configs/rbl.conf
index 4999e60d7..c5caa2e50 100644
--- a/test/functional/configs/rbl.conf
+++ b/test/functional/configs/rbl.conf
@@ -1,3 +1,5 @@
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
rbl {
rbls {
fake {
@@ -33,7 +35,7 @@ rbl {
}
RSPAMD_EMAILBL {
rbl = "test8.uribl";
- url_compose_map = "${TESTDIR}/configs/maps/url_compose_map_for_mails.list";
+ url_compose_map = "{= env.TESTDIR =}/configs/maps/url_compose_map_for_mails.list";
ignore_defaults = true;
emails = true;
emails_domainonly = true
diff --git a/test/functional/configs/redis.conf b/test/functional/configs/redis.conf
index 2da10faf7..8b3f0c484 100644
--- a/test/functional/configs/redis.conf
+++ b/test/functional/configs/redis.conf
@@ -1,5 +1,7 @@
-lua = ${LUA_SCRIPT};
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
+lua = "{= env.LUA_SCRIPT =}";
redis {
- servers = "${REDIS_ADDR}:${REDIS_PORT}";
+ servers = "{= env.REDIS_ADDR =}:{= env.REDIS_PORT =}";
expand_keys = true;
}
diff --git a/test/functional/configs/regexp.conf b/test/functional/configs/regexp.conf
index 5b4047b5b..06f22c998 100644
--- a/test/functional/configs/regexp.conf
+++ b/test/functional/configs/regexp.conf
@@ -1,6 +1,8 @@
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
regexp {
SA_BODY_WORD_BOUNDARY_ON_NEWLINE {
- re = '/\\bhello\\s/{sa_body}',
+ re = '/\bhello\s/{sa_body}',
score = 0.0,
description = 'Test if word boundary works correctly on sa_body regexes',
group = 'body',
@@ -24,25 +26,25 @@ regexp {
group = 'body',
}
SA_BODY_WORD_WITH_SPACE_BOUNDARIES {
- re = '/\\bhello world\\b/{sa_body}',
+ re = '/\bhello world\b/{sa_body}',
score = 0.0,
description = 'Test if regex matches word separated with newline (should work - newline is replaced with space)',
group = 'body',
}
SA_BODY_WORD_WITH_SPACE_BOUNDARIES_2 {
- re = '/\\shello\\sworld\\s/{sa_body}',
+ re = '/\shello\sworld\s/{sa_body}',
score = 0.0,
description = 'Test if regex matches word separated with newline (should work - newline is replaced with space)',
group = 'body',
}
SA_BODY_WORD_WITH_SPACE_BOUNDARIES_3 {
- re = '/\\shello\\sworld\\sthis\\s/{sa_body}',
+ re = '/\shello\sworld\sthis\s/{sa_body}',
score = 0.0,
description = 'Test if regex matches word separated with newline (should work - newline is replaced with space)',
group = 'body',
}
SA_BODY_WORD_WITH_SPACE_AND_DOT {
- re = '/\\bword\\.\\sagain\\b/{sa_body}',
+ re = '/\bword\.\sagain\b/{sa_body}',
score = 0.0,
description = 'Test if regex matches word separated with newline (should work - newline is replaced with space)',
group = 'body',
@@ -50,13 +52,13 @@ regexp {
}
options {
- dynamic_conf = "${TESTDIR}/configs/dynamic.conf";
+ dynamic_conf = "{= env.TESTDIR =}/configs/dynamic.conf";
}
dmarc { }
spf { }
dkim { }
modules {
- path = "${TESTDIR}/../../src/plugins/lua/"
+ path = "{= env.TESTDIR =}/../../src/plugins/lua/"
}
-lua = "${TESTDIR}/lua/regex_test.lua"
+lua = "{= env.TESTDIR =}/lua/regex_test.lua"
diff --git a/test/functional/configs/selector.conf b/test/functional/configs/selector.conf
index d4e872d36..b99ae5639 100644
--- a/test/functional/configs/selector.conf
+++ b/test/functional/configs/selector.conf
@@ -1,3 +1,5 @@
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
regexp {
CONFIG_SELECTOR_RE_RCPT_SUBJECT {
re = 'test=/test@user.com some subject/$',
@@ -5,4 +7,4 @@ regexp {
}
}
-lua = "${TESTDIR}/lua/selector_test.lua"
+lua = "{= env.TESTDIR =}/lua/selector_test.lua"
diff --git a/test/functional/configs/settings.conf b/test/functional/configs/settings.conf
index 8155ded91..db7c3ca5e 100644
--- a/test/functional/configs/settings.conf
+++ b/test/functional/configs/settings.conf
@@ -1,4 +1,6 @@
-lua = ${LUA_SCRIPT};
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
+lua = "{= env.LUA_SCRIPT =}";
settings {
id_test {
diff --git a/test/functional/configs/spamassassin.conf b/test/functional/configs/spamassassin.conf
index 53aa89ec7..0b669512a 100644
--- a/test/functional/configs/spamassassin.conf
+++ b/test/functional/configs/spamassassin.conf
@@ -1,5 +1,7 @@
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
spamassassin {
- rules = "${TESTDIR}/configs/spamassassin.rules"
+ rules = "{= env.TESTDIR =}/configs/spamassassin.rules"
}
-lua = "${TESTDIR}/lua/test_coverage.lua";
-lua = "${TESTDIR}/lua/simple.lua"
+lua = "{= env.TESTDIR =}/lua/test_coverage.lua";
+lua = "{= env.TESTDIR =}/lua/simple.lua"
diff --git a/test/functional/configs/stats.conf b/test/functional/configs/stats.conf
index f79729f39..bfa39b426 100644
--- a/test/functional/configs/stats.conf
+++ b/test/functional/configs/stats.conf
@@ -1,7 +1,7 @@
options = {
filters = ["spf", "dkim", "regexp"]
- url_tld = "${TESTDIR}/../lua/unit/test_tld.dat"
- pidfile = "${TMPDIR}/rspamd.pid"
+ url_tld = "{= env.TESTDIR =}/../lua/unit/test_tld.dat"
+ pidfile = "{= env.TMPDIR =}/rspamd.pid"
dns {
retransmits = 10;
timeout = 2s;
@@ -15,7 +15,7 @@ options = {
logging = {
type = "file",
level = "debug"
- filename = "${TMPDIR}/rspamd.log"
+ filename = "{= env.TMPDIR =}/rspamd.log"
}
metric = {
name = "default",
@@ -27,51 +27,51 @@ metric = {
worker {
type = normal
- bind_socket = ${LOCAL_ADDR}:${PORT_NORMAL}
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_NORMAL =}"
count = 1
keypair {
- pubkey = "${KEY_PUB1}";
- privkey = "${KEY_PVT1}";
+ pubkey = "{= env.KEY_PUB1 =}";
+ privkey = "{= env.KEY_PVT1 =}";
}
task_timeout = 60s;
}
worker {
type = controller
- bind_socket = ${LOCAL_ADDR}:${PORT_CONTROLLER}
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_CONTROLLER =}"
count = 1
keypair {
- pubkey = "${KEY_PUB1}";
- privkey = "${KEY_PVT1}";
+ pubkey = "{= env.KEY_PUB1 =}";
+ privkey = "{= env.KEY_PVT1 =}";
}
secure_ip = ["127.0.0.1", "::1"];
- stats_path = "${TMPDIR}/stats.ucl";
+ stats_path = "{= env.TMPDIR =}/stats.ucl";
}
classifier {
languages_enabled = true;
tokenizer {
name = "osb";
- ${STATS_HASH}
- ${STATS_KEY}
+ hash = {= env.STATS_HASH =};
+ key = {= env.STATS_KEY =};
}
- backend = ${STATS_BACKEND}
+ backend = "{= env.STATS_BACKEND =}";
statfile {
spam = true;
symbol = BAYES_SPAM;
size = 1M;
- ${REDIS_SERVER}
+ server = {= env.REDIS_SERVER =}
}
statfile {
spam = false;
symbol = BAYES_HAM;
size = 1M;
- ${REDIS_SERVER}
+ server = {= env.REDIS_SERVER =}
}
cache {
- ${REDIS_SERVER}
+ server = {= env.REDIS_SERVER =}
}
}
-lua = "${TESTDIR}/lua/test_coverage.lua";
+lua = "{= env.TESTDIR =}/lua/test_coverage.lua";
settings {}
diff --git a/test/functional/configs/surbl.conf b/test/functional/configs/surbl.conf
index 6e3a40e18..fe6368277 100644
--- a/test/functional/configs/surbl.conf
+++ b/test/functional/configs/surbl.conf
@@ -1,3 +1,5 @@
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
surbl {
"whitelist" = [
"rspamd-test.com"
@@ -66,7 +68,7 @@ EOD;
}
"BAD_SUBDOMAIN" {
suffix = "test7.uribl";
- url_compose_map = "${TESTDIR}/configs/maps/url_compose_map.list";
+ url_compose_map = "{= env.TESTDIR =}/configs/maps/url_compose_map.list";
check_dkim = true;
check_emails = false;
}
@@ -88,4 +90,4 @@ emails {
replyto = true;
}
}
-} \ No newline at end of file
+}
diff --git a/test/functional/configs/trivial.conf b/test/functional/configs/trivial.conf
index 5d4aa0af6..97e3a301e 100644
--- a/test/functional/configs/trivial.conf
+++ b/test/functional/configs/trivial.conf
@@ -1,8 +1,8 @@
options = {
filters = ["spf", "dkim", "regexp"]
- url_tld = "${TESTDIR}/../lua/unit/test_tld.dat"
- pidfile = "${TMPDIR}/rspamd.pid";
- lua_path = "${INSTALLROOT}/share/rspamd/lib/?.lua";
+ url_tld = "{= env.TESTDIR =}/../lua/unit/test_tld.dat"
+ pidfile = "{= env.TMPDIR =}/rspamd.pid";
+ lua_path = "{= env.INSTALLROOT =}/share/rspamd/lib/?.lua";
dns {
nameserver = ["8.8.8.8", "8.8.4.4"];
retransmits = 10;
@@ -13,7 +13,7 @@ logging = {
log_urls = true;
type = "file",
level = "debug"
- filename = "${TMPDIR}/rspamd.log";
+ filename = "{= env.TMPDIR =}/rspamd.log";
log_usec = true;
}
metric = {
@@ -26,25 +26,25 @@ metric = {
worker {
type = normal
- bind_socket = ${LOCAL_ADDR}:${PORT_NORMAL}
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_NORMAL =}"
count = 1
keypair {
- pubkey = "${KEY_PUB1}";
- privkey = "${KEY_PVT1}";
+ pubkey = "{= env.KEY_PUB1 =}";
+ privkey = "{= env.KEY_PVT1 =}";
}
task_timeout = 10s;
}
worker {
type = controller
- bind_socket = ${LOCAL_ADDR}:${PORT_CONTROLLER}
+ bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_CONTROLLER =}"
count = 1
secure_ip = ["127.0.0.1", "::1"];
- stats_path = "${TMPDIR}/stats.ucl"
+ stats_path = "{= env.TMPDIR =}/stats.ucl"
}
modules {
- path = "${TESTDIR}/../../src/plugins/lua/"
+ path = "{= env.TESTDIR =}/../../src/plugins/lua/"
}
-lua = "${INSTALLROOT}/share/rspamd/rules/rspamd.lua"
+lua = "{= env.INSTALLROOT =}/share/rspamd/rules/rspamd.lua"
diff --git a/test/functional/configs/url_redirector.conf b/test/functional/configs/url_redirector.conf
index f61fa3086..e6009ba66 100644
--- a/test/functional/configs/url_redirector.conf
+++ b/test/functional/configs/url_redirector.conf
@@ -1,6 +1,8 @@
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
redis {
- servers = "${REDIS_ADDR}:${REDIS_PORT}";
+ servers = "{= env.REDIS_ADDR =}:{= env.REDIS_PORT =}";
}
url_redirector {
- redirector_hosts_map = "${TESTDIR}/configs/maps/redir.map";
+ redirector_hosts_map = "{= env.TESTDIR =}/configs/maps/redir.map";
}
diff --git a/test/functional/configs/whitelist.conf b/test/functional/configs/whitelist.conf
index d7592fc35..db264aa42 100644
--- a/test/functional/configs/whitelist.conf
+++ b/test/functional/configs/whitelist.conf
@@ -1,3 +1,5 @@
+.include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/plugins.conf"
+
dmarc {}
spf {}
whitelist {
@@ -9,7 +11,7 @@ whitelist {
valid_dmarc = true;
valid_spf = true;
domains = [
- "${TESTDIR}/configs/maps/domains.list",
+ "{= env.TESTDIR =}/configs/maps/domains.list",
];
score = -3.0;
inverse_symbol = "BLACKLIST_DDS";
@@ -18,7 +20,7 @@ whitelist {
"WHITELIST_DKIM" = {
valid_dkim = true;
domains = [
- "${TESTDIR}/configs/maps/domains.list",
+ "{= env.TESTDIR =}/configs/maps/domains.list",
];
description = "Mail comes from the whitelisted domain and has a valid DKIM signature";
score = -1.0;
@@ -28,7 +30,7 @@ whitelist {
"WHITELIST_SPF" = {
valid_spf = true;
domains = [
- "${TESTDIR}/configs/maps/domains.list",
+ "{= env.TESTDIR =}/configs/maps/domains.list",
];
score = -1.0
inverse_multiplier = 3.0
@@ -40,7 +42,7 @@ whitelist {
valid_spf = true;
valid_dkim = true;
domains = [
- "${TESTDIR}/configs/maps/domains.list"
+ "{= env.TESTDIR =}/configs/maps/domains.list"
];
score = -3.0;
description = "Mail comes from the whitelisted domain and has a valid SPF policy and valid DKIM signature";
@@ -51,7 +53,7 @@ whitelist {
valid_dmarc = true;
valid_dkim = true;
domains = [
- "${TESTDIR}/configs/maps/domains.list",
+ "{= env.TESTDIR =}/configs/maps/domains.list",
];
score = -2.0;
description = "Mail comes from the whitelisted domain and has valid DMARC and DKIM policies";
@@ -61,7 +63,7 @@ whitelist {
"WHITELIST_DMARC" = {
valid_dmarc = true;
domains = [
- "${TESTDIR}/configs/maps/domains.list",
+ "{= env.TESTDIR =}/configs/maps/domains.list",
];
score = -2.0;
description = "Mail comes from the whitelisted domain and has valid DMARC policy";
@@ -72,7 +74,7 @@ whitelist {
strict = true;
valid_dmarc = true;
domains = [
- "${TESTDIR}/configs/maps/domains.list",
+ "{= env.TESTDIR =}/configs/maps/domains.list",
];
score = -3.0;
}
diff --git a/test/functional/lib/rspamd.robot b/test/functional/lib/rspamd.robot
index c52bcc51a..04471d5c0 100644
--- a/test/functional/lib/rspamd.robot
+++ b/test/functional/lib/rspamd.robot
@@ -57,14 +57,8 @@ Do Not Expect Symbols
END
Generic Setup
- [Arguments] @{vargs} &{kwargs}
- &{d} = Run Rspamd @{vargs} &{kwargs}
- ${keys} = Get Dictionary Keys ${d}
- FOR ${i} IN @{keys}
- Run Keyword If '${RSPAMD_SCOPE}' == 'Suite' Set Suite Variable ${${i}} ${d}[${i}]
- ... ELSE IF '${RSPAMD_SCOPE}' == 'Test' Set Test Variable ${${i}} ${d}[${i}]
- ... ELSE Fail 'RSPAMD_SCOPE must be Test or Suite'
- END
+ [Arguments] &{kw}
+ New Setup &{kw}
Expect Action
[Arguments] ${action}
@@ -126,6 +120,13 @@ Expect Symbol With Score
Should Be Equal As Numbers ${SCAN_RESULT}[symbols][${symbol}][score] ${score}
... msg="Symbol ${symbol} has score of ${SCAN_RESULT}[symbols][${symbol}][score] but expected ${score}"
+Expect Symbols
+ [Arguments] @{symbols}
+ FOR ${symbol} IN @{symbols}
+ Dictionary Should Contain Key ${SCAN_RESULT}[symbols] ${symbol}
+ ... msg=Symbol ${symbol} wasn't found in result
+ END
+
Expect Symbols With Scores
[Arguments] &{symscores}
FOR ${key} ${value} IN &{symscores}
@@ -140,7 +141,18 @@ Expect Symbol With Score And Exact Options
Expect Symbol With Exact Options ${symbol} @{options}
Expect Symbol With Score ${symbol} ${score}
+Export Scoped Variables
+ [Arguments] ${scope} &{vars}
+ FOR ${k} ${v} IN &{vars}
+ Run Keyword If '${scope}' == 'Test' Set Test Variable ${${k}} ${v}
+ ... ELSE IF '${scope}' == 'Suite' Set Suite Variable ${${k}} ${v}
+ ... ELSE IF '${scope}' == 'Global' Set Global Variable ${${k}} ${v}
+ ... ELSE Fail message="Don't know what to do with scope: ${scope}"
+ END
+
Generic Teardown
+ # Robot Framework 4.0
+ #Run Keyword If '${CONTROLLER_ERRORS}' == 'True' Run Keyword And Warn On Failure Check Controller Errors
Run Keyword If '${CONTROLLER_ERRORS}' == 'True' Check Controller Errors
Shutdown Process With Children ${RSPAMD_PID}
Save Run Results ${TMPDIR} rspamd.conf rspamd.log redis.log clickhouse-config.xml
@@ -148,10 +160,35 @@ Generic Teardown
Collect Lua Coverage
Cleanup Temporary Directory ${TMPDIR}
+ # Possibly deal with Redis
+ ${redis_tmpdir} = Get Variable Value ${REDIS_TMPDIR}
+ Run Keyword If '${redis_tmpdir}' != 'None' Cleanup Temporary Directory ${REDIS_TMPDIR}
+ ${redis_pid} = Get Variable Value ${REDIS_PID}
+ Run Keyword If '${redis_pid}' == 'None' Return From Keyword
+ Shutdown Process With Children ${redis_pid}
+
Log does not contain segfault record
${log} = Get File ${TMPDIR}/rspamd.log encoding_errors=ignore
Should not contain ${log} Segmentation fault: msg=Segmentation fault detected
+New Setup
+ [Arguments] &{kw}
+
+ # Create and chown temporary directory
+ ${TMPDIR} = Make Temporary Directory
+ Set Directory Ownership ${TMPDIR} ${RSPAMD_USER} ${RSPAMD_GROUP}
+
+ # Export ${TMPDIR} to appropriate scope according to ${RSPAMD_SCOPE}
+ Export Scoped Variables ${RSPAMD_SCOPE} TMPDIR=${TMPDIR}
+
+ # Set additional values to ${kw} that are expected to be available everywhere
+ Set To Dictionary ${kw} LOCAL_ADDR=${LOCAL_ADDR} PORT_NORMAL=${PORT_NORMAL}
+ ... KEY_PUB1=${KEY_PUB1} KEY_PVT1=${KEY_PVT1} PORT_CONTROLLER=${PORT_CONTROLLER}
+ ... TESTDIR=${TESTDIR} INSTALLROOT=${INSTALLROOT} TMPDIR=${TMPDIR}
+ ... MAP_WATCH_INTERVAL=${MAP_WATCH_INTERVAL} PORT_PROXY=${PORT_PROXY}
+
+ New Run Rspamd &{kw}
+
Normal Teardown
Generic Teardown
@@ -172,6 +209,7 @@ Redis SET
Should Be Equal As Integers ${result.rc} 0
Run Redis
+ ${TMPDIR} = Make Temporary Directory
${template} = Get File ${TESTDIR}/configs/redis-server.conf
${config} = Replace Variables ${template}
Create File ${TMPDIR}/redis-server.conf ${config}
@@ -182,11 +220,15 @@ Run Redis
Wait Until Keyword Succeeds 5x 1 sec Check Pidfile ${TMPDIR}/redis.pid timeout=0.5s
Wait Until Keyword Succeeds 5x 1 sec Redis Check ${REDIS_ADDR} ${REDIS_PORT}
${REDIS_PID} = Get File ${TMPDIR}/redis.pid
- Run Keyword If '${REDIS_SCOPE}' == 'Test' Set Test Variable ${REDIS_PID}
- ... ELSE IF '${REDIS_SCOPE}' == 'Suite' Set Suite Variable ${REDIS_PID}
+ ${REDIS_PID} = Convert To Number ${REDIS_PID}
+ Export Scoped Variables ${REDIS_SCOPE} REDIS_PID=${REDIS_PID} REDIS_TMPDIR=${TMPDIR}
${redis_log} = Get File ${TMPDIR}/redis.log
Log ${redis_log}
+Run Rspamd
+ [Arguments] &{kwargs}
+ New Run Rspamd &{kwargs}
+
Run Nginx
${template} = Get File ${TESTDIR}/configs/nginx.conf
${config} = Replace Variables ${template}
@@ -210,35 +252,44 @@ Run Rspamc
Log ${result.stdout}
[Return] ${result}
-Run Rspamd
- [Arguments] @{vargs} &{kwargs}
- ${has_CONFIG} = Evaluate 'CONFIG' in $kwargs
- ${has_TMPDIR} = Evaluate 'TMPDIR' in $kwargs
- ${CONFIG} = Set Variable If '${has_CONFIG}' == 'True' ${kwargs}[CONFIG] ${CONFIG}
- &{d} = Create Dictionary
- ${tmpdir} = Run Keyword If '${has_TMPDIR}' == 'True' Set Variable ${kwargs}[TMPDIR]
- ... ELSE Make Temporary Directory
- Set Directory Ownership ${tmpdir} ${RSPAMD_USER} ${RSPAMD_GROUP}
- ${template} = Get File ${CONFIG}
- # TODO: stop using this; we have Lupa now
- FOR ${i} IN @{vargs}
- ${newvalue} = Replace Variables ${${i}}
- Set To Dictionary ${d} ${i}=${newvalue}
+New Run Rspamd
+ [Arguments] &{kwargs}
+
+ # Set each kwarg to environment variable prefixed with RSPAMD_
+ FOR ${k} ${v} IN &{kwargs}
+ Set Environment Variable RSPAMD_${k} ${v}
END
- ${config} = Replace Variables ${template}
- ${config} = Replace Variables ${config}
- Log ${config}
- Create File ${tmpdir}/rspamd.conf ${config}
+
+ # Dump templated config or errors to log
+ ${result} = Run Process ${RSPAMADM} configdump -c ${CONFIG}
+ # We need to send output to files (or discard output) to avoid hanging Robot
+ ... stdout=${TMPDIR}/configdump.stdout stderr=${TMPDIR}/configdump.stderr
+ ${configdump} = Run Keyword If ${result.rc} == 0 Get File ${TMPDIR}/configdump.stdout
+ ... ELSE Get File ${TMPDIR}/configdump.stderr
+ Log ${configdump}
+
+ # Fix directory ownership (maybe do this somewhere else)
+ Set Directory Ownership ${TMPDIR} ${RSPAMD_USER} ${RSPAMD_GROUP}
+
+ # Run Rspamd
${result} = Run Process ${RSPAMD} -u ${RSPAMD_USER} -g ${RSPAMD_GROUP}
- ... -c ${tmpdir}/rspamd.conf env:TMPDIR=${tmpdir} env:DBDIR=${tmpdir} env:LD_LIBRARY_PATH=${TESTDIR}/../../contrib/aho-corasick
- ... env:RSPAMD_INSTALLROOT=${INSTALLROOT} stdout=DEVNULL stderr=DEVNULL
- Run Keyword If ${result.rc} != 0 Log ${result.stderr}
+ ... -c ${CONFIG} env:TMPDIR=${TMPDIR} env:DBDIR=${TMPDIR} env:LD_LIBRARY_PATH=${TESTDIR}/../../contrib/aho-corasick
+ ... env:RSPAMD_INSTALLROOT=${INSTALLROOT} env:RSPAMD_TMPDIR=${TMPDIR} env:RSPAMD_TESTDIR=${TESTDIR}
+ # We need to send output to files (or discard output) to avoid hanging Robot
+ ... stdout=${TMPDIR}/rspamd.stdout stderr=${TMPDIR}/rspamd.stderr
+
+ # Abort if it failed
Should Be Equal As Integers ${result.rc} 0
- Wait Until Keyword Succeeds 10x 1 sec Check Pidfile ${tmpdir}/rspamd.pid timeout=0.5s
+
+ # Wait for pid file to be written
+ Wait Until Keyword Succeeds 10x 1 sec Check Pidfile ${TMPDIR}/rspamd.pid timeout=0.5s
+
+ # Confirm worker is reachable
Wait Until Keyword Succeeds 5x 1 sec Ping Rspamd ${LOCAL_ADDR} ${PORT_NORMAL}
- ${rspamd_pid} = Get File ${tmpdir}/rspamd.pid
- Set To Dictionary ${d} RSPAMD_PID=${rspamd_pid} TMPDIR=${tmpdir}
- [Return] &{d}
+
+ # Read PID from PIDfile and export it to appropriate scope as ${RSPAMD_PID}
+ ${RSPAMD_PID} = Get File ${TMPDIR}/rspamd.pid
+ Export Scoped Variables ${RSPAMD_SCOPE} RSPAMD_PID=${RSPAMD_PID}
Simple Teardown
Generic Teardown