Kaynağa Gözat

[Test] Use automatically exported variables

tags/3.0
Andrew Lewis 3 yıl önce
ebeveyn
işleme
a84cecac6b
73 değiştirilmiş dosya ile 817 ekleme ve 855 silme
  1. 11
    11
      test/functional/cases/100_general.robot
  2. 29
    29
      test/functional/cases/101_lua.robot
  3. 19
    19
      test/functional/cases/102_multimap.robot
  4. 24
    24
      test/functional/cases/103_password.robot
  5. 15
    15
      test/functional/cases/104_get_from.robot
  6. 18
    18
      test/functional/cases/105_mimetypes.robot
  7. 9
    9
      test/functional/cases/106_mid.robot
  8. 16
    16
      test/functional/cases/108_settings.robot
  9. 7
    7
      test/functional/cases/109_composites.robot
  10. 17
    17
      test/functional/cases/110_statistics/lib.robot
  11. 3
    3
      test/functional/cases/110_statistics/redis-keyed-siphash.robot
  12. 3
    3
      test/functional/cases/110_statistics/redis-keyed-xxhash.robot
  13. 2
    2
      test/functional/cases/110_statistics/redis-plain-siphash.robot
  14. 2
    2
      test/functional/cases/110_statistics/redis-plain-xxhash.robot
  15. 9
    9
      test/functional/cases/114_phishing.robot
  16. 23
    23
      test/functional/cases/115_dmarc.robot
  17. 13
    13
      test/functional/cases/116_dkim.robot
  18. 27
    27
      test/functional/cases/117_spf.robot
  19. 38
    41
      test/functional/cases/120_fuzzy/lib.robot
  20. 6
    6
      test/functional/cases/121_json/100_preresult.robot
  21. 6
    6
      test/functional/cases/121_json/101_simple.robot
  22. 5
    5
      test/functional/cases/121_json/lib.robot
  23. 11
    11
      test/functional/cases/123_whitelist.robot
  24. 14
    14
      test/functional/cases/125_map_reload.robot
  25. 7
    7
      test/functional/cases/131_dkim_signing/001_simple.robot
  26. 7
    7
      test/functional/cases/131_dkim_signing/002_redis.robot
  27. 7
    7
      test/functional/cases/131_dkim_signing/003_eddsa.robot
  28. 12
    12
      test/functional/cases/131_dkim_signing/004_invalidate_key.robot
  29. 7
    7
      test/functional/cases/131_dkim_signing/005_multiple.robot
  30. 7
    7
      test/functional/cases/131_dkim_signing/006_milter.robot
  31. 7
    7
      test/functional/cases/131_dkim_signing/007_sign_maps.robot
  32. 8
    8
      test/functional/cases/135_spamassassin.robot
  33. 16
    16
      test/functional/cases/140_proxy.robot
  34. 2
    2
      test/functional/cases/150_rspamadm.robot
  35. 10
    10
      test/functional/cases/151_rspamadm_async.robot
  36. 18
    19
      test/functional/cases/160_antivirus.robot
  37. 15
    15
      test/functional/cases/161_p0f.robot
  38. 11
    11
      test/functional/cases/162_url_redirector.robot
  39. 8
    8
      test/functional/cases/180_milter.robot
  40. 26
    26
      test/functional/cases/210_clickhouse/001_migration.robot
  41. 10
    10
      test/functional/cases/220_http.robot
  42. 10
    15
      test/functional/cases/230_tcp.robot
  43. 9
    15
      test/functional/cases/231_tcp_down.robot
  44. 8
    7
      test/functional/cases/240_redis.robot
  45. 8
    11
      test/functional/cases/241_redis_is_dead.robot
  46. 9
    20
      test/functional/cases/250_dns.robot
  47. 7
    7
      test/functional/cases/260_regex.robot
  48. 8
    8
      test/functional/cases/270_selector.robot
  49. 28
    28
      test/functional/cases/280_rules.robot
  50. 8
    12
      test/functional/cases/281_fnames.robot
  51. 7
    7
      test/functional/cases/290_greylist.robot
  52. 13
    13
      test/functional/cases/300_rbl.robot
  53. 9
    8
      test/functional/cases/310_udp.robot
  54. 7
    7
      test/functional/cases/320_arc_signing/001_simple.robot
  55. 7
    7
      test/functional/cases/320_arc_signing/002_redis.robot
  56. 8
    8
      test/functional/cases/321_arc_check.robot
  57. 7
    7
      test/functional/cases/330_neural/001_autotrain.robot
  58. 11
    11
      test/functional/cases/330_neural/002_manualtrain.robot
  59. 30
    30
      test/functional/cases/340_surbl.robot
  60. 8
    8
      test/functional/cases/350_magic.robot
  61. 6
    6
      test/functional/cases/360_force_actions.robot
  62. 4
    4
      test/functional/cases/__init__.robot
  63. 4
    4
      test/functional/configs/clickhouse-config.xml
  64. 7
    7
      test/functional/configs/clickhouse.conf
  65. 1
    1
      test/functional/configs/fuzzy_master_worker.conf
  66. 1
    1
      test/functional/configs/fuzzy_slave_worker.conf
  67. 3
    3
      test/functional/configs/nginx.conf
  68. 7
    7
      test/functional/configs/pluginsplus.conf
  69. 5
    5
      test/functional/configs/redis-server.conf
  70. 1
    1
      test/functional/configs/url_tags.conf
  71. 5
    5
      test/functional/lib/rspamd.py
  72. 46
    53
      test/functional/lib/rspamd.robot
  73. 20
    20
      test/functional/lib/vars.py

+ 11
- 11
test/functional/cases/100_general.robot Dosyayı Görüntüle

@@ -1,15 +1,15 @@
*** Settings ***
Suite Setup New Setup
Suite Teardown Simple Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/trivial.conf
${GTUBE} ${TESTDIR}/messages/gtube.eml
${CONFIG} ${RSPAMD_TESTDIR}/configs/trivial.conf
${GTUBE} ${RSPAMD_TESTDIR}/messages/gtube.eml
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat

*** Test Cases ***
GTUBE
@@ -17,7 +17,7 @@ GTUBE
Expect Symbol GTUBE

GTUBE - Encrypted
${result} = Run Rspamc -p -h ${LOCAL_ADDR}:${PORT_NORMAL} --key ${KEY_PUB1}
${result} = Run Rspamc -p -h ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_NORMAL} --key ${RSPAMD_KEY_PUB1}
... ${GTUBE}
Check Rspamc ${result} GTUBE (

@@ -31,20 +31,20 @@ GTUBE - Scan File feature (encoded)
Expect Symbol GTUBE

GTUBE - SPAMC
${result} = Spamc ${LOCAL_ADDR} ${PORT_NORMAL} ${GTUBE}
${result} = Spamc ${RSPAMD_LOCAL_ADDR} ${RSPAMD_PORT_NORMAL} ${GTUBE}
Should Contain ${result} GTUBE

GTUBE - RSPAMC
${result} = Rspamc ${LOCAL_ADDR} ${PORT_NORMAL} ${GTUBE}
${result} = Rspamc ${RSPAMD_LOCAL_ADDR} ${RSPAMD_PORT_NORMAL} ${GTUBE}
Should Contain ${result} GTUBE

EMAILS DETECTION 1
Scan File ${TESTDIR}/messages/emails1.eml URL-Format=Extended
Scan File ${RSPAMD_TESTDIR}/messages/emails1.eml URL-Format=Extended
Expect Email jim@example.net
Expect Email bob@example.net
Expect Email rupert@example.net

EMAILS DETECTION ZEROFONT
Scan File ${TESTDIR}/messages/zerofont.eml
Scan File ${RSPAMD_TESTDIR}/messages/zerofont.eml
Expect Symbol MANY_INVISIBLE_PARTS
Expect Symbol ZERO_FONT

+ 29
- 29
test/functional/cases/101_lua.robot Dosyayı Görüntüle

@@ -1,53 +1,53 @@
*** Settings ***
Test Teardown Normal Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/lua_test.conf
${MAP_MAP} ${TESTDIR}/configs/maps/map.list
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${RADIX_MAP} ${TESTDIR}/configs/maps/ip2.list
${REGEXP_MAP} ${TESTDIR}/configs/maps/regexp.list
${CONFIG} ${RSPAMD_TESTDIR}/configs/lua_test.conf
${MAP_MAP} ${RSPAMD_TESTDIR}/configs/maps/map.list
${MESSAGE} ${RSPAMD_TESTDIR}/messages/spam_message.eml
${RADIX_MAP} ${RSPAMD_TESTDIR}/configs/maps/ip2.list
${REGEXP_MAP} ${RSPAMD_TESTDIR}/configs/maps/regexp.list
${RSPAMD_SCOPE} Test
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat

*** Test Cases ***
Flags
[Setup] Lua Setup ${TESTDIR}/lua/flags.lua
[Setup] Lua Setup ${RSPAMD_TESTDIR}/lua/flags.lua
Scan File ${MESSAGE}
${result} = Run Rspamc -h ${LOCAL_ADDR}:${PORT_CONTROLLER} stat
${result} = Run Rspamc -h ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_CONTROLLER} stat
Should Contain ${result.stdout} Messages scanned: 0

Dependencies
[Setup] Lua Setup ${TESTDIR}/lua/deps.lua
[Setup] Lua Setup ${RSPAMD_TESTDIR}/lua/deps.lua
Scan File ${MESSAGE}
Expect Symbol DEP10

Pre and Post Filters
[Setup] Lua Setup ${TESTDIR}/lua/prepostfilters.lua
[Setup] Lua Setup ${RSPAMD_TESTDIR}/lua/prepostfilters.lua
Scan File ${MESSAGE}
Expect Symbol TEST_PRE
Expect Symbol TEST_POST

Recipient Parsing Sanity
[Setup] Lua Setup ${TESTDIR}/lua/recipients.lua
[Setup] Lua Setup ${RSPAMD_TESTDIR}/lua/recipients.lua
Scan File ${MESSAGE} Rcpt=rcpt1@foobar,rcpt2@foobar,rcpt3@foobar,rcpt4@foobar
Expect Symbol With Exact Options TEST_RCPT rcpt1@foobar,rcpt2@foobar,rcpt3@foobar,rcpt4@foobar

TLD parts
[Setup] TLD Setup ${TESTDIR}/lua/tlds.lua
[Setup] TLD Setup ${RSPAMD_TESTDIR}/lua/tlds.lua
Scan File ${MESSAGE}
Expect Symbol With Exact Options TEST_TLD no worry

Hashes
[Setup] Lua Setup ${TESTDIR}/lua/hashes.lua
[Setup] Lua Setup ${RSPAMD_TESTDIR}/lua/hashes.lua
Scan File ${MESSAGE}
Expect Symbol With Exact Options TEST_HASHES no worry

Maps Key Values
[Setup] Lua Replace Setup ${TESTDIR}/lua/maps_kv.lua
[Setup] Lua Replace Setup ${RSPAMD_TESTDIR}/lua/maps_kv.lua
[Teardown] Lua Replace Teardown
Scan File ${MESSAGE}
Expect Symbol With Exact Options RADIX_KV no worry
@@ -55,14 +55,14 @@ Maps Key Values
Expect Symbol With Exact Options MAP_KV no worry

Option Order
[Setup] Lua Replace Setup ${TESTDIR}/lua/option_order.lua
[Setup] Lua Replace Setup ${RSPAMD_TESTDIR}/lua/option_order.lua
[Teardown] Lua Replace Teardown
Scan File ${MESSAGE}
Expect Symbol With Exact Options OPTION_ORDER one two three 4 5 a
Expect Symbol With Exact Options TBL_OPTION_ORDER one two three 4 5 a

Rule conditions
[Setup] Lua Replace Setup ${TESTDIR}/lua/conditions.lua
[Setup] Lua Replace Setup ${RSPAMD_TESTDIR}/lua/conditions.lua
[Teardown] Lua Replace Teardown
Scan File ${MESSAGE}
Expect Symbol With Option ANY_A hello3
@@ -71,23 +71,23 @@ Rule conditions

*** Keywords ***
Lua Setup
[Arguments] ${LUA_SCRIPT}
Set Test Variable ${LUA_SCRIPT}
New Setup LUA_SCRIPT=${LUA_SCRIPT} URL_TLD=${URL_TLD}
[Arguments] ${RSPAMD_LUA_SCRIPT}
Set Test Variable ${RSPAMD_LUA_SCRIPT}
New Setup

Lua Replace Setup
[Arguments] ${LUA_SCRIPT_UNESC}
${LUA_SCRIPT} = Make Temporary File
${RSPAMD_LUA_SCRIPT} = Make Temporary File
${lua} = Get File ${LUA_SCRIPT_UNESC}
${lua} = Replace Variables ${lua}
Create File ${LUA_SCRIPT} ${lua}
Lua Setup ${LUA_SCRIPT}
Create File ${RSPAMD_LUA_SCRIPT} ${lua}
Lua Setup ${RSPAMD_LUA_SCRIPT}

Lua Replace Teardown
Remove File ${LUA_SCRIPT}
Remove File ${RSPAMD_LUA_SCRIPT}
Normal Teardown

TLD Setup
[Arguments] ${LUA_SCRIPT}
Set Test Variable ${URL_TLD} ${TESTDIR}/../../contrib/publicsuffix/effective_tld_names.dat
Lua Setup ${LUA_SCRIPT}
[Arguments] ${RSPAMD_LUA_SCRIPT}
Set Test Variable ${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../../contrib/publicsuffix/effective_tld_names.dat
Lua Setup ${RSPAMD_LUA_SCRIPT}

+ 19
- 19
test/functional/cases/102_multimap.robot Dosyayı Görüntüle

@@ -1,28 +1,28 @@
*** Settings ***
Suite Setup Multimap Setup
Suite Teardown Multimap Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/multimap.conf
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${UTF_MESSAGE} ${TESTDIR}/messages/utf.eml
${CONFIG} ${RSPAMD_TESTDIR}/configs/multimap.conf
${MESSAGE} ${RSPAMD_TESTDIR}/messages/spam_message.eml
${UTF_MESSAGE} ${RSPAMD_TESTDIR}/messages/utf.eml
${REDIS_SCOPE} Suite
${RSPAMD_SCOPE} Suite
${RCVD1} ${TESTDIR}/messages/received1.eml
${RCVD2} ${TESTDIR}/messages/received2.eml
${RCVD3} ${TESTDIR}/messages/received3.eml
${RCVD4} ${TESTDIR}/messages/received4.eml
${URL1} ${TESTDIR}/messages/url1.eml
${URL2} ${TESTDIR}/messages/url2.eml
${URL3} ${TESTDIR}/messages/url3.eml
${URL4} ${TESTDIR}/messages/url4.eml
${URL5} ${TESTDIR}/messages/url5.eml
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${FREEMAIL_CC} ${TESTDIR}/messages/freemailcc.eml
${URL_ICS} ${TESTDIR}/messages/ics.eml
${RCVD1} ${RSPAMD_TESTDIR}/messages/received1.eml
${RCVD2} ${RSPAMD_TESTDIR}/messages/received2.eml
${RCVD3} ${RSPAMD_TESTDIR}/messages/received3.eml
${RCVD4} ${RSPAMD_TESTDIR}/messages/received4.eml
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat
${URL1} ${RSPAMD_TESTDIR}/messages/url1.eml
${URL2} ${RSPAMD_TESTDIR}/messages/url2.eml
${URL3} ${RSPAMD_TESTDIR}/messages/url3.eml
${URL4} ${RSPAMD_TESTDIR}/messages/url4.eml
${URL5} ${RSPAMD_TESTDIR}/messages/url5.eml
${FREEMAIL_CC} ${RSPAMD_TESTDIR}/messages/freemailcc.eml
${URL_ICS} ${RSPAMD_TESTDIR}/messages/ics.eml

*** Test Cases ***
URL_ICS
@@ -339,7 +339,7 @@ MAP - MULTISYMBOL DISABLED
*** Keywords ***
Multimap Setup
Run Redis
New Setup REDIS_ADDR=${REDIS_ADDR} REDIS_PORT=${REDIS_PORT} URL_TLD=${URL_TLD}
New Setup

Multimap Teardown
Normal Teardown

+ 24
- 24
test/functional/cases/103_password.robot Dosyayı Görüntüle

@@ -1,55 +1,55 @@
*** Settings ***
Test Teardown Normal Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/password.conf
${CONFIG} ${RSPAMD_TESTDIR}/configs/password.conf
${CONTROLLER_ERRORS} False
${RSPAMD_SCOPE} Test
${PBKDF_PASSWORD} "$1$rhzzahtm8a5homdhh7z4qiiy7j8pzp4u$k5toro136brshjjuy9t39r785td69qodmd39qzygxuyehn9tqauy"
${CATENA_PASSWORD} "$2$xu1581gidj5cyp4yjgo68qbj6jz1j8o3$j9yg4k58jy3fj8suijxx9d7pea6a6obtufq9kfenosyq8erm87ky"
${RSPAMD_PBKDF_PASSWORD} "$1$rhzzahtm8a5homdhh7z4qiiy7j8pzp4u$k5toro136brshjjuy9t39r785td69qodmd39qzygxuyehn9tqauy"
${RSPAMD_CATENA_PASSWORD} "$2$xu1581gidj5cyp4yjgo68qbj6jz1j8o3$j9yg4k58jy3fj8suijxx9d7pea6a6obtufq9kfenosyq8erm87ky"

*** Test Cases ***
PASSWORD - PBKDF
[Setup] Password Setup ${PBKDF_PASSWORD}
${result} = Run Rspamc -h ${LOCAL_ADDR}:${PORT_CONTROLLER} -P nq1 stat
[Setup] Password Setup ${RSPAMD_PBKDF_PASSWORD}
${result} = Run Rspamc -h ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_CONTROLLER} -P nq1 stat
Check Rspamc ${result} Messages scanned:

PASSWORD - PBKDF WRONG
[Setup] Password Setup ${PBKDF_PASSWORD}
${result} = Run Rspamc -h ${LOCAL_ADDR}:${PORT_CONTROLLER} -P q1q1 stat
[Setup] Password Setup ${RSPAMD_PBKDF_PASSWORD}
${result} = Run Rspamc -h ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_CONTROLLER} -P q1q1 stat
Should Be Equal As Integers ${result.rc} 1

PASSWORD - CATENA
[Setup] Password Setup ${CATENA_PASSWORD}
${result} = Run Rspamc -h ${LOCAL_ADDR}:${PORT_CONTROLLER} -P nq1 stat
[Setup] Password Setup ${RSPAMD_CATENA_PASSWORD}
${result} = Run Rspamc -h ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_CONTROLLER} -P nq1 stat
Check Rspamc ${result} Messages scanned:

PASSWORD - CATENA WRONG
[Setup] Password Setup ${CATENA_PASSWORD}
${result} = Run Rspamc -h ${LOCAL_ADDR}:${PORT_CONTROLLER} -P q stat
[Setup] Password Setup ${RSPAMD_CATENA_PASSWORD}
${result} = Run Rspamc -h ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_CONTROLLER} -P q stat
Should Be Equal As Integers ${result.rc} 1

PASSWORD - ENABLE
[Setup] Password Setup ${CATENA_PASSWORD}
${result} = Run Rspamc -h ${LOCAL_ADDR}:${PORT_CONTROLLER} -P nq2 stat_reset
[Setup] Password Setup ${RSPAMD_CATENA_PASSWORD}
${result} = Run Rspamc -h ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_CONTROLLER} -P nq2 stat_reset
Check Rspamc ${result} Messages scanned:

PASSWORD - ENABLE WITH NORMAL
[Setup] Password Setup ${CATENA_PASSWORD}
${result} = Run Rspamc -h ${LOCAL_ADDR}:${PORT_CONTROLLER} -P nq1 stat_reset
[Setup] Password Setup ${RSPAMD_CATENA_PASSWORD}
${result} = Run Rspamc -h ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_CONTROLLER} -P nq1 stat_reset
Should Be Equal As Integers ${result.rc} 1

PASSWORD - ENABLE INCORRECT
[Setup] Password Setup ${CATENA_PASSWORD}
${result} = Run Rspamc -h ${LOCAL_ADDR}:${PORT_CONTROLLER} -P q2q2 stat_reset
[Setup] Password Setup ${RSPAMD_CATENA_PASSWORD}
${result} = Run Rspamc -h ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_CONTROLLER} -P q2q2 stat_reset
Should Be Equal As Integers ${result.rc} 1

*** Keywords ***
Password Setup
[Arguments] ${PASSWORD} ${ENABLE_PASSWORD}=nq2
Set Test Variable ${PASSWORD}
Set Test Variable ${ENABLE_PASSWORD}
New Setup PASSWORD=${PASSWORD} ENABLE_PASSWORD=${ENABLE_PASSWORD}
[Arguments] ${RSPAMD_PASSWORD} ${RSPAMD_ENABLE_PASSWORD}=nq2
Set Test Variable ${RSPAMD_PASSWORD}
Set Test Variable ${RSPAMD_ENABLE_PASSWORD}
New Setup

+ 15
- 15
test/functional/cases/104_get_from.robot Dosyayı Görüntüle

@@ -1,13 +1,13 @@
*** Settings ***
Suite Setup GetFrom Setup
Suite Teardown Simple Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/lua_script.conf
${LUA_SCRIPT} ${TESTDIR}/lua/get_from.lua
${CONFIG} ${RSPAMD_TESTDIR}/configs/lua_script.conf
${RSPAMD_LUA_SCRIPT} ${RSPAMD_TESTDIR}/lua/get_from.lua
${RSPAMD_SCOPE} Suite

${SYMBOL} GET_FROM
@@ -17,41 +17,41 @@ ${OPTIONS3} First M. Last,user@example.org,user,example.org

*** Test Cases ***
task:get_from('mime') - address only
Scan File ${TESTDIR}/messages/from/from.eml
Scan File ${RSPAMD_TESTDIR}/messages/from/from.eml
Expect Symbol ${SYMBOL}

task:get_from('mime') - comment
Scan File ${TESTDIR}/messages/from/from_comment.eml
Scan File ${RSPAMD_TESTDIR}/messages/from/from_comment.eml
Expect Symbol With Exact Options ${SYMBOL} ${OPTIONS1}

task:get_from('mime') - display name
Scan File ${TESTDIR}/messages/from/from_dn.eml
Scan File ${RSPAMD_TESTDIR}/messages/from/from_dn.eml
Expect Symbol With Exact Options ${SYMBOL} ${OPTIONS2}

task:get_from('mime') - display name Base64
Scan File ${TESTDIR}/messages/from/from_dn_base64.eml
Scan File ${RSPAMD_TESTDIR}/messages/from/from_dn_base64.eml
Expect Symbol With Exact Options ${SYMBOL} Кириллица,user@example.org,user,example.org

task:get_from('mime') - display name and comment
Scan File ${TESTDIR}/messages/from/from_dn_comment.eml
Scan File ${RSPAMD_TESTDIR}/messages/from/from_dn_comment.eml
Expect Symbol With Exact Options ${SYMBOL} ${OPTIONS2}

task:get_from('mime') - quoted display name
Scan File ${TESTDIR}/messages/from/from_quoted_dn.eml
Scan File ${RSPAMD_TESTDIR}/messages/from/from_quoted_dn.eml
Expect Symbol With Exact Options ${SYMBOL} ${OPTIONS3}

task:get_from('mime') - quoted display name and comment
Scan File ${TESTDIR}/messages/from/from_quoted_dn_comment.eml
Scan File ${RSPAMD_TESTDIR}/messages/from/from_quoted_dn_comment.eml
Expect Symbol With Exact Options ${SYMBOL} ${OPTIONS3}

task:get_from('mime') - quoted in the middle of DN (outer spaces)
Scan File ${TESTDIR}/messages/from/from_quoted_dn_middle.eml
Scan File ${RSPAMD_TESTDIR}/messages/from/from_quoted_dn_middle.eml
Expect Symbol With Exact Options ${SYMBOL} ${OPTIONS3}

task:get_from('mime') - quoted in the middle of DN (inner spaces)
Scan File ${TESTDIR}/messages/from/from_quoted_dn_middle_inner.eml
Scan File ${RSPAMD_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}
New Setup

+ 18
- 18
test/functional/cases/105_mimetypes.robot Dosyayı Görüntüle

@@ -1,70 +1,70 @@
*** Settings ***
Suite Setup MIMETypes Setup
Suite Teardown Simple Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/mime_types.conf
${CONFIG} ${RSPAMD_TESTDIR}/configs/mime_types.conf
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat

*** Test Cases ***
Zip
Scan File ${TESTDIR}/messages/zip.eml
Scan File ${RSPAMD_TESTDIR}/messages/zip.eml
Expect Symbol With Exact Options MIME_BAD_EXTENSION exe

Zip Double Bad Extension
Scan File ${TESTDIR}/messages/zip-doublebad.eml
Scan File ${RSPAMD_TESTDIR}/messages/zip-doublebad.eml
Expect Symbol With Exact Options MIME_DOUBLE_BAD_EXTENSION .pdf.exe

Next-to-last Double Bad Extension
Scan File ${TESTDIR}/messages/next2last-doublebad.eml
Scan File ${RSPAMD_TESTDIR}/messages/next2last-doublebad.eml
Expect Symbol With Exact Options MIME_DOUBLE_BAD_EXTENSION .scr.xz

Date is followed by Bad Extension
Scan File ${TESTDIR}/messages/rar-date-bad-ext.eml
Scan File ${RSPAMD_TESTDIR}/messages/rar-date-bad-ext.eml
Expect Symbol With Exact Options MIME_BAD_EXTENSION scr
Do Not Expect Symbol MIME_DOUBLE_BAD_EXTENSION

Dotted file name is followed by Bad Extension
Scan File ${TESTDIR}/messages/bad_ext.dotted_file_name.eml
Scan File ${RSPAMD_TESTDIR}/messages/bad_ext.dotted_file_name.eml
Expect Symbol With Exact Options MIME_BAD_EXTENSION exe
Do Not Expect Symbol MIME_DOUBLE_BAD_EXTENSION

Dotted numbers in parentheses is followed by Bad Extension
Scan File ${TESTDIR}/messages/next2last-digits_in_parens.eml
Scan File ${RSPAMD_TESTDIR}/messages/next2last-digits_in_parens.eml
Expect Symbol With Exact Options MIME_BAD_EXTENSION msi
Do Not Expect Symbol MIME_DOUBLE_BAD_EXTENSION

Dotted numbers in square brackets is followed by Bad Extension
Scan File ${TESTDIR}/messages/next2last-digits_in_brackets.eml
Scan File ${RSPAMD_TESTDIR}/messages/next2last-digits_in_brackets.eml
Expect Symbol With Exact Options MIME_BAD_EXTENSION msi
Do Not Expect Symbol MIME_DOUBLE_BAD_EXTENSION

Rar4
Scan File ${TESTDIR}/messages/rar4.eml
Scan File ${RSPAMD_TESTDIR}/messages/rar4.eml
Expect Symbol With Exact Options MIME_BAD_EXTENSION exe

Cloaked Archive Extension
Scan File ${TESTDIR}/messages/f.zip.gz.eml
Scan File ${RSPAMD_TESTDIR}/messages/f.zip.gz.eml
Expect Symbol With Exact Options MIME_ARCHIVE_IN_ARCHIVE .zip.gz zip

Multipart Archive Extension
Scan File ${TESTDIR}/messages/f.zip.001.eml
Scan File ${RSPAMD_TESTDIR}/messages/f.zip.001.eml
Do Not Expect Symbol MIME_ARCHIVE_IN_ARCHIVE

Exe file, but name in filename_whitelist
Scan File ${TESTDIR}/messages/exe_attm.eml
Scan File ${RSPAMD_TESTDIR}/messages/exe_attm.eml
Do Not Expect Symbol MIME_BAD_EXTENSION
Do Not Expect Symbol MIME_BAD_ATTACHMENT
Do Not Expect Symbol MIME_DOUBLE_BAD_EXTENSION

Empty text part should not be treat as html
Scan File ${TESTDIR}/messages/empty-plain-text.eml
Scan File ${RSPAMD_TESTDIR}/messages/empty-plain-text.eml
Do Not Expect Symbol FORGED_OUTLOOK_HTML

*** Keywords ***
MIMETypes Setup
New Setup URL_TLD=${URL_TLD}
New Setup

+ 9
- 9
test/functional/cases/106_mid.robot Dosyayı Görüntüle

@@ -1,36 +1,36 @@
*** Settings ***
Suite Setup New Setup
Suite Teardown Normal Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/mid.conf
${CONFIG} ${RSPAMD_TESTDIR}/configs/mid.conf
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat

*** Test Cases ***
MID - invalid Message-ID
Scan File ${TESTDIR}/messages/fws_fp.eml
Scan File ${RSPAMD_TESTDIR}/messages/fws_fp.eml
Expect Symbol With Score INVALID_MSGID 1.70
Do Not Expect Symbol MISSING_MID
Do Not Expect Symbol INVALID_MSGID_ALLOWED

MID - invalid Message-ID allowed
Scan File ${TESTDIR}/messages/invalid_mid_allowed.eml
Scan File ${RSPAMD_TESTDIR}/messages/invalid_mid_allowed.eml
Expect Symbol With Score INVALID_MSGID_ALLOWED 1.00
Do Not Expect Symbol MISSING_MID
Do Not Expect Symbol INVALID_MSGID

MID - missing Message-ID
Scan File ${TESTDIR}/messages/freemail.eml
Scan File ${RSPAMD_TESTDIR}/messages/freemail.eml
Expect Symbol With Score MISSING_MID 2.50
Do Not Expect Symbol MISSING_MID_ALLOWED
Do Not Expect Symbol INVALID_MSGID

MID - missing Message-ID allowed
Scan File ${TESTDIR}/messages/dmarc/onsubdomain_pass_relaxed.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/onsubdomain_pass_relaxed.eml
Expect Symbol With Score MISSING_MID_ALLOWED 1.00
Do Not Expect Symbol MISSING_MID
Do Not Expect Symbol INVALID_MSGID

+ 16
- 16
test/functional/cases/108_settings.robot Dosyayı Görüntüle

@@ -1,22 +1,22 @@
*** Settings ***
Suite Setup Settings Setup
Suite Teardown Settings Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/settings.conf
${LUA_SCRIPT} ${TESTDIR}/lua/settings.lua
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${MESSAGE_PRIORITY} ${TESTDIR}/messages/priority.eml
${MESSAGE_7BIT} ${TESTDIR}/messages/utf.eml
${MESSAGE_CUSTOM_HDR} ${TESTDIR}/messages/empty-plain-text.eml
${MESSAGE_ABSENT_MIME} ${TESTDIR}/messages/ed25519.eml
${SPAM_MESSAGE} ${TESTDIR}/messages/spam.eml
${HAM_MESSAGE} ${TESTDIR}/messages/ham.eml
${CONFIG} ${RSPAMD_TESTDIR}/configs/settings.conf
${RSPAMD_LUA_SCRIPT} ${RSPAMD_TESTDIR}/lua/settings.lua
${MESSAGE} ${RSPAMD_TESTDIR}/messages/spam_message.eml
${MESSAGE_PRIORITY} ${RSPAMD_TESTDIR}/messages/priority.eml
${MESSAGE_7BIT} ${RSPAMD_TESTDIR}/messages/utf.eml
${MESSAGE_CUSTOM_HDR} ${RSPAMD_TESTDIR}/messages/empty-plain-text.eml
${MESSAGE_ABSENT_MIME} ${RSPAMD_TESTDIR}/messages/ed25519.eml
${SPAM_MESSAGE} ${RSPAMD_TESTDIR}/messages/spam.eml
${HAM_MESSAGE} ${RSPAMD_TESTDIR}/messages/ham.eml
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat

*** Keywords ***
Check Everything Disabled
@@ -253,9 +253,9 @@ PRIORITY

*** Keywords ***
Settings Setup
Copy File ${TESTDIR}/data/bayes.spam.sqlite3 /tmp/bayes.spam.sqlite3
Copy File ${TESTDIR}/data/bayes.ham.sqlite3 /tmp/bayes.ham.sqlite3
New Setup LUA_SCRIPT=${LUA_SCRIPT}
Copy File ${RSPAMD_TESTDIR}/data/bayes.spam.sqlite3 /tmp/bayes.spam.sqlite3
Copy File ${RSPAMD_TESTDIR}/data/bayes.ham.sqlite3 /tmp/bayes.ham.sqlite3
New Setup

Settings Teardown
Normal Teardown

+ 7
- 7
test/functional/cases/109_composites.robot Dosyayı Görüntüle

@@ -1,14 +1,14 @@
*** Settings ***
Suite Setup Composites Setup
Suite Teardown Simple Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/composites.conf
${LUA_SCRIPT} ${TESTDIR}/lua/composites.lua
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${CONFIG} ${RSPAMD_TESTDIR}/configs/composites.conf
${RSPAMD_LUA_SCRIPT} ${RSPAMD_TESTDIR}/lua/composites.lua
${MESSAGE} ${RSPAMD_TESTDIR}/messages/spam_message.eml
${RSPAMD_SCOPE} Suite

*** Test Cases ***
@@ -79,4 +79,4 @@ Composites - Opts RE Hit 3

*** Keywords ***
Composites Setup
New Setup LUA_SCRIPT=${LUA_SCRIPT}
New Setup

+ 17
- 17
test/functional/cases/110_statistics/lib.robot Dosyayı Görüntüle

@@ -1,35 +1,35 @@
*** Settings ***
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/stats.conf
${MESSAGE_SPAM} ${TESTDIR}/messages/spam_message.eml
${MESSAGE_HAM} ${TESTDIR}/messages/ham.eml
${CONFIG} ${RSPAMD_TESTDIR}/configs/stats.conf
${MESSAGE_SPAM} ${RSPAMD_TESTDIR}/messages/spam_message.eml
${MESSAGE_HAM} ${RSPAMD_TESTDIR}/messages/ham.eml
${REDIS_SCOPE} Suite
${REDIS_SERVER} null
${RSPAMD_REDIS_SERVER} null
${RSPAMD_SCOPE} Suite
${STATS_BACKEND} redis
${STATS_HASH} null
${STATS_KEY} null
${RSPAMD_STATS_BACKEND} redis
${RSPAMD_STATS_HASH} null
${RSPAMD_STATS_KEY} null

*** Keywords ***
Broken Learn Test
${result} = Run Rspamc -h ${LOCAL_ADDR}:${PORT_CONTROLLER} learn_spam ${MESSAGE_SPAM}
${result} = Run Rspamc -h ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_CONTROLLER} learn_spam ${MESSAGE_SPAM}
Check Rspamc ${result} Unknown statistics error

Empty Part Test
Set Test Variable ${MESSAGE} ${TESTDIR}/messages/empty_part.eml
${result} = Run Rspamc -h ${LOCAL_ADDR}:${PORT_CONTROLLER} learn_spam ${MESSAGE}
Set Test Variable ${MESSAGE} ${RSPAMD_TESTDIR}/messages/empty_part.eml
${result} = Run Rspamc -h ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_CONTROLLER} learn_spam ${MESSAGE}
Check Rspamc ${result}
Scan File ${MESSAGE}
Expect Symbol BAYES_SPAM

Learn Test
Set Suite Variable ${RSPAMD_STATS_LEARNTEST} 0
${result} = Run Rspamc -h ${LOCAL_ADDR}:${PORT_CONTROLLER} learn_spam ${MESSAGE_SPAM}
${result} = Run Rspamc -h ${LOCAL_ADDR}:${PORT_CONTROLLER} learn_ham ${MESSAGE_HAM}
${result} = Run Rspamc -h ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_CONTROLLER} learn_spam ${MESSAGE_SPAM}
${result} = Run Rspamc -h ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_CONTROLLER} learn_ham ${MESSAGE_HAM}
Check Rspamc ${result}
Scan File ${MESSAGE_SPAM}
Expect Symbol BAYES_SPAM
@@ -39,7 +39,7 @@ Learn Test

Relearn Test
Run Keyword If ${RSPAMD_STATS_LEARNTEST} == 0 Fail "Learn test was not run"
${result} = Run Rspamc -h ${LOCAL_ADDR}:${PORT_CONTROLLER} learn_ham ${MESSAGE_SPAM}
${result} = Run Rspamc -h ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_CONTROLLER} learn_ham ${MESSAGE_SPAM}
Check Rspamc ${result}
Scan File ${MESSAGE_SPAM}
${pass} = Run Keyword And Return Status Expect Symbol BAYES_HAM
@@ -48,7 +48,7 @@ Relearn Test

Redis Statistics Setup
Run Redis
New Setup STATS_BACKEND=${STATS_BACKEND} STATS_HASH=${STATS_HASH} STATS_KEY=${STATS_KEY} REDIS_SERVER=${REDIS_SERVER}
New Setup

Redis Statistics Teardown
Normal Teardown

+ 3
- 3
test/functional/cases/110_statistics/redis-keyed-siphash.robot Dosyayı Görüntüle

@@ -4,9 +4,9 @@ Suite Teardown Redis Statistics Teardown
Resource lib.robot

*** Variables ***
${REDIS_SERVER} ${REDIS_ADDR}:${REDIS_PORT}
${STATS_HASH} siphash
${STATS_KEY} ${KEY_PVT1}
${RSPAMD_REDIS_SERVER} ${RSPAMD_REDIS_ADDR}:${RSPAMD_REDIS_PORT}
${RSPAMD_STATS_HASH} siphash
${RSPAMD_STATS_KEY} ${RSPAMD_KEY_PVT1}

*** Test Cases ***
Learn

+ 3
- 3
test/functional/cases/110_statistics/redis-keyed-xxhash.robot Dosyayı Görüntüle

@@ -4,9 +4,9 @@ Suite Teardown Redis Statistics Teardown
Resource lib.robot

*** Variables ***
${REDIS_SERVER} ${REDIS_ADDR}:${REDIS_PORT}
${STATS_HASH} xxhash
${STATS_KEY} ${KEY_PVT1}
${RSPAMD_REDIS_SERVER} ${RSPAMD_REDIS_ADDR}:${RSPAMD_REDIS_PORT}
${RSPAMD_STATS_HASH} xxhash
${RSPAMD_STATS_KEY} ${RSPAMD_KEY_PVT1}

*** Test Cases ***
Learn

+ 2
- 2
test/functional/cases/110_statistics/redis-plain-siphash.robot Dosyayı Görüntüle

@@ -4,8 +4,8 @@ Suite Teardown Redis Statistics Teardown
Resource lib.robot

*** Variables ***
${REDIS_SERVER} ${REDIS_ADDR}:${REDIS_PORT}
${STATS_HASH} siphash
${RSPAMD_REDIS_SERVER} ${RSPAMD_REDIS_ADDR}:${RSPAMD_REDIS_PORT}
${RSPAMD_STATS_HASH} siphash

*** Test Cases ***
Learn

+ 2
- 2
test/functional/cases/110_statistics/redis-plain-xxhash.robot Dosyayı Görüntüle

@@ -4,8 +4,8 @@ Suite Teardown Redis Statistics Teardown
Resource lib.robot

*** Variables ***
${REDIS_SERVER} ${REDIS_ADDR}:${REDIS_PORT}
${STATS_HASH} xxhash
${RSPAMD_REDIS_SERVER} ${RSPAMD_REDIS_ADDR}:${RSPAMD_REDIS_PORT}
${RSPAMD_STATS_HASH} xxhash

*** Test Cases ***
Learn

+ 9
- 9
test/functional/cases/114_phishing.robot Dosyayı Görüntüle

@@ -1,17 +1,17 @@
*** Settings ***
Suite Setup Phishing Setup
Suite Teardown Simple Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/phishing.conf
${MESSAGE1} ${TESTDIR}/messages/phishing1.eml
${MESSAGE2} ${TESTDIR}/messages/phishing2.eml
${MESSAGE3} ${TESTDIR}/messages/phishing3.eml
${CONFIG} ${RSPAMD_TESTDIR}/configs/phishing.conf
${MESSAGE1} ${RSPAMD_TESTDIR}/messages/phishing1.eml
${MESSAGE2} ${RSPAMD_TESTDIR}/messages/phishing2.eml
${MESSAGE3} ${RSPAMD_TESTDIR}/messages/phishing3.eml
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../../contrib/publicsuffix/effective_tld_names.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../../contrib/publicsuffix/effective_tld_names.dat

*** Test Cases ***
TEST PHISHING
@@ -28,4 +28,4 @@ TEST PHISHING STRICT TWO

*** Keywords ***
Phishing Setup
New Setup URL_TLD=${URL_TLD}
New Setup

+ 23
- 23
test/functional/cases/115_dmarc.robot Dosyayı Görüntüle

@@ -1,92 +1,92 @@
*** Settings ***
Suite Setup DMARC Setup
Suite Teardown Simple Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/dmarc.conf
${CONFIG} ${RSPAMD_TESTDIR}/configs/dmarc.conf
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../../contrib/publicsuffix/effective_tld_names.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../../contrib/publicsuffix/effective_tld_names.dat

*** Test Cases ***
DMARC NONE PASS DKIM
Scan File ${TESTDIR}/messages/dmarc/pass_none.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/pass_none.eml
Expect Symbol DMARC_POLICY_ALLOW

DMARC NONE PASS SPF
Scan File ${TESTDIR}/messages/dmarc/fail_none.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/fail_none.eml
... IP=8.8.4.4 From=foo@spf.cacophony.za.org
Expect Symbol DMARC_POLICY_ALLOW

DMARC NONE FAIL
Scan File ${TESTDIR}/messages/dmarc/fail_none.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/fail_none.eml
Expect Symbol DMARC_POLICY_SOFTFAIL

DMARC REJECT FAIL
Scan File ${TESTDIR}/messages/dmarc/fail_reject.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/fail_reject.eml
Expect Symbol DMARC_POLICY_REJECT

DMARC QUARANTINE FAIL
Scan File ${TESTDIR}/messages/dmarc/fail_quarantine.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/fail_quarantine.eml
Expect Symbol DMARC_POLICY_QUARANTINE

DMARC SP NONE FAIL
Scan File ${TESTDIR}/messages/dmarc/subdomain_fail_none.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/subdomain_fail_none.eml
Expect Symbol DMARC_POLICY_SOFTFAIL

DMARC SP REJECT FAIL
Scan File ${TESTDIR}/messages/dmarc/subdomain_fail_reject.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/subdomain_fail_reject.eml
Expect Symbol DMARC_POLICY_REJECT

DMARC SP QUARANTINE FAIL
Scan File ${TESTDIR}/messages/dmarc/subdomain_fail_quarantine.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/subdomain_fail_quarantine.eml
Expect Symbol DMARC_POLICY_QUARANTINE

DMARC SUBDOMAIN FAIL DKIM STRICT ALIGNMENT
Scan File ${TESTDIR}/messages/dmarc/onsubdomain_fail_alignment.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/onsubdomain_fail_alignment.eml
Expect Symbol DMARC_POLICY_REJECT

DMARC SUBDOMAIN PASS DKIM RELAXED ALIGNMENT
Scan File ${TESTDIR}/messages/dmarc/onsubdomain_pass_relaxed.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/onsubdomain_pass_relaxed.eml
Expect Symbol DMARC_POLICY_ALLOW

DMARC SUBDOMAIN PASS SPF STRICT ALIGNMENT
Scan File ${TESTDIR}/messages/dmarc/onsubdomain_fail_alignment.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/onsubdomain_fail_alignment.eml
... IP=37.48.67.26 From=foo@yo.mom.za.org
Expect Symbol DMARC_POLICY_ALLOW

DMARC SUBDOMAIN FAIL SPF STRICT ALIGNMENT
Scan File ${TESTDIR}/messages/dmarc/onsubdomain_fail_alignment.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/onsubdomain_fail_alignment.eml
... IP=37.48.67.26 From=foo@mom.za.org
Expect Symbol DMARC_POLICY_REJECT

DMARC SUBDOMAIN PASS SPF RELAXED ALIGNMENT
Scan File ${TESTDIR}/messages/dmarc/onsubdomain_fail.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/onsubdomain_fail.eml
... IP=37.48.67.26 From=foo@mom.za.org
Expect Symbol DMARC_POLICY_ALLOW

DMARC DNSFAIL
Scan File ${TESTDIR}/messages/dmarc/dmarc_tmpfail.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/dmarc_tmpfail.eml
... IP=37.48.67.26 From=foo@mom.za.org
Expect Symbol DMARC_DNSFAIL

DMARC NA NXDOMAIN
Scan File ${TESTDIR}/messages/utf.eml
Scan File ${RSPAMD_TESTDIR}/messages/utf.eml
... IP=37.48.67.26 From=foo@mom.za.org
Expect Symbol DMARC_NA

DMARC PCT ZERO REJECT
Scan File ${TESTDIR}/messages/dmarc/pct_none.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/pct_none.eml
... IP=37.48.67.26 From=foo@mom.za.org
Expect Symbol DMARC_POLICY_QUARANTINE

DMARC PCT ZERO SP QUARANTINE
Scan File ${TESTDIR}/messages/dmarc/pct_none1.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/pct_none1.eml
... IP=37.48.67.26 From=foo@mom.za.org
Expect Symbol DMARC_POLICY_SOFTFAIL

*** Keywords ***
DMARC Setup
New Setup URL_TLD=${URL_TLD}
New Setup

+ 13
- 13
test/functional/cases/116_dkim.robot Dosyayı Görüntüle

@@ -1,41 +1,41 @@
*** Settings ***
Suite Setup DKIM Setup
Suite Teardown Simple Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/dkim.conf
${CONFIG} ${RSPAMD_TESTDIR}/configs/dkim.conf
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../../contrib/publicsuffix/effective_tld_names.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../../contrib/publicsuffix/effective_tld_names.dat

*** Test Cases ***
DKIM PERMFAIL NXDOMAIN
Scan File ${TESTDIR}/messages/dmarc/bad_dkim2.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/bad_dkim2.eml
... IP=37.48.67.26
Expect Symbol R_DKIM_PERMFAIL

DKIM PERMFAIL BAD RECORD
Scan File ${TESTDIR}/messages/dmarc/bad_dkim1.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/bad_dkim1.eml
... IP=37.48.67.26
Expect Symbol R_DKIM_PERMFAIL

DKIM TEMPFAIL SERVFAIL UNALIGNED
Scan File ${TESTDIR}/messages/dmarc/bad_dkim3.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/bad_dkim3.eml
... IP=37.48.67.26
Expect Symbol R_DKIM_TEMPFAIL

DKIM NA NOSIG
Scan File ${TESTDIR}/messages/utf.eml
Scan File ${RSPAMD_TESTDIR}/messages/utf.eml
... IP=37.48.67.26
Expect Symbol R_DKIM_NA

DKIM Sign
Set Suite Variable ${RAN_SIGNTEST} 0
${result} = Scan Message With Rspamc ${TESTDIR}/messages/spam_message.eml --mime --header=dodkim=1
${result} = Scan Message With Rspamc ${RSPAMD_TESTDIR}/messages/spam_message.eml --mime --header=dodkim=1
Check Rspamc ${result} DKIM-Signature
Set Suite Variable ${SIGNED_MESSAGE} ${TMPDIR}/dkim_sign_test.eml
Set Suite Variable ${SIGNED_MESSAGE} ${RSPAMD_TMPDIR}/dkim_sign_test.eml
Create File ${SIGNED_MESSAGE} ${result.stdout}
Set Suite Variable ${RAN_SIGNTEST} 1

@@ -45,11 +45,11 @@ DKIM Self Verify
Expect Symbol R_DKIM_ALLOW

DKIM Verify ED25519 PASS
Scan File ${TESTDIR}/messages/ed25519.eml
Scan File ${RSPAMD_TESTDIR}/messages/ed25519.eml
Expect Symbol R_DKIM_ALLOW

DKIM Verify ED25519 REJECT
Scan File ${TESTDIR}/messages/ed25519-broken.eml
Scan File ${RSPAMD_TESTDIR}/messages/ed25519-broken.eml
Expect Symbol R_DKIM_REJECT

*** Keywords ***

+ 27
- 27
test/functional/cases/117_spf.robot Dosyayı Görüntüle

@@ -1,104 +1,104 @@
*** Settings ***
Suite Setup SPF Setup
Suite Teardown Simple Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/dmarc.conf
${CONFIG} ${RSPAMD_TESTDIR}/configs/dmarc.conf
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../../contrib/publicsuffix/effective_tld_names.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../../contrib/publicsuffix/effective_tld_names.dat

*** Test Cases ***
SPF FAIL UNRESOLVEABLE INCLUDE
Scan File ${TESTDIR}/messages/dmarc/bad_dkim1.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/bad_dkim1.eml
... IP=37.48.67.26 From=x@fail3.org.org.za
Expect Symbol R_SPF_FAIL

SPF DNSFAIL FAILED INCLUDE UNALIGNED
Scan File ${TESTDIR}/messages/dmarc/bad_dkim1.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/bad_dkim1.eml
... IP=8.8.8.8 From=x@fail2.org.org.za
Expect Symbol R_SPF_DNSFAIL
Expect Symbol DMARC_POLICY_SOFTFAIL

SPF ALLOW UNRESOLVEABLE INCLUDE
Scan File ${TESTDIR}/messages/dmarc/bad_dkim1.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/bad_dkim1.eml
... IP=8.8.8.8 From=x@fail3.org.org.za
Expect Symbol R_SPF_ALLOW

SPF ALLOW FAILED INCLUDE
Scan File ${TESTDIR}/messages/dmarc/bad_dkim1.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/bad_dkim1.eml
... IP=8.8.4.4 From=x@fail2.org.org.za
Expect Symbol R_SPF_ALLOW

SPF NA NA
Scan File ${TESTDIR}/messages/dmarc/bad_dkim1.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/bad_dkim1.eml
... IP=8.8.8.8 From=x@za
Expect Symbol R_SPF_NA

SPF NA NOREC
Scan File ${TESTDIR}/messages/dmarc/bad_dkim1.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/bad_dkim1.eml
... IP=8.8.8.8 From=x@co.za
Expect Symbol R_SPF_NA

SPF NA NXDOMAIN
Scan File ${TESTDIR}/messages/dmarc/bad_dkim1.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/bad_dkim1.eml
... IP=8.8.8.8 From=x@zzzzaaaa
Expect Symbol R_SPF_NA

SPF PERMFAIL UNRESOLVEABLE REDIRECT
Scan File ${TESTDIR}/messages/dmarc/bad_dkim1.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/bad_dkim1.eml
... IP=8.8.8.8 From=x@fail4.org.org.za
Expect Symbol R_SPF_PERMFAIL

SPF REDIRECT NO USEABLE ELEMENTS
Scan File ${TESTDIR}/messages/dmarc/bad_dkim1.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/bad_dkim1.eml
... IP=8.8.8.8 From=x@fail10.org.org.za
Expect Symbol R_SPF_PERMFAIL

SPF DNSFAIL FAILED REDIRECT
Scan File ${TESTDIR}/messages/dmarc/bad_dkim1.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/bad_dkim1.eml
... IP=8.8.8.8 From=x@fail1.org.org.za
Expect Symbol R_SPF_DNSFAIL

SPF PERMFAIL NO USEABLE ELEMENTS
Scan File ${TESTDIR}/messages/dmarc/bad_dkim1.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/bad_dkim1.eml
... IP=8.8.8.8 From=x@fail5.org.org.za
Expect Symbol R_SPF_PERMFAIL

SPF FAIL
Scan File ${TESTDIR}/messages/dmarc/bad_dkim1.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/bad_dkim1.eml
... IP=8.8.8.8 From=x@example.net
Expect Symbol R_SPF_FAIL

SPF FAIL UNRESOLVEABLE MX
Scan File ${TESTDIR}/messages/dmarc/bad_dkim1.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/bad_dkim1.eml
... IP=1.2.3.4 From=x@fail6.org.org.za
Expect Symbol R_SPF_FAIL

SPF FAIL UNRESOLVEABLE A
Scan File ${TESTDIR}/messages/dmarc/bad_dkim1.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/bad_dkim1.eml
... IP=1.2.3.4 From=x@fail7.org.org.za
Expect Symbol R_SPF_FAIL

SPF DNSFAIL FAILED A
Scan File ${TESTDIR}/messages/dmarc/bad_dkim1.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/bad_dkim1.eml
... IP=1.2.3.4 From=x@fail8.org.org.za
Expect Symbol R_SPF_DNSFAIL

SPF DNSFAIL FAILED MX
Scan File ${TESTDIR}/messages/dmarc/bad_dkim1.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/bad_dkim1.eml
... IP=1.2.3.4 From=x@fail9.org.org.za
Expect Symbol R_SPF_DNSFAIL

SPF DNSFAIL FAILED RECORD
Scan File ${TESTDIR}/messages/dmarc/bad_dkim1.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/bad_dkim1.eml
... IP=1.2.3.4 From=x@www.dnssec-failed.org
Expect Symbol R_SPF_DNSFAIL

SPF PASS INCLUDE
Scan File ${TESTDIR}/messages/dmarc/bad_dkim1.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/bad_dkim1.eml
... IP=8.8.8.8 From=x@pass1.org.org.za
Expect Symbol R_SPF_ALLOW

@@ -123,19 +123,19 @@ SPF PTRS
#Expect Symbol R_SPF_ALLOW

SPF PERMFAIL REDIRECT WITHOUT SPF
Scan File ${TESTDIR}/messages/dmarc/bad_dkim4.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/bad_dkim4.eml
... IP=192.0.2.1 From=a@fail1.org.org.za
Expect Symbol R_SPF_DNSFAIL

SPF EXTERNAL RELAY
Scan File ${TESTDIR}/messages/external_relay.eml
Scan File ${RSPAMD_TESTDIR}/messages/external_relay.eml
Expect Symbol With Score And Exact Options R_SPF_ALLOW 1.0 +ip4:37.48.67.26

SPF UPPERCASE
Scan File ${TESTDIR}/messages/dmarc/bad_dkim1.eml
Scan File ${RSPAMD_TESTDIR}/messages/dmarc/bad_dkim1.eml
... IP=8.8.8.8 From=x@fail11.org.org.za
Expect Symbol R_SPF_ALLOW

*** Keywords ***
SPF Setup
New Setup URL_TLD=${URL_TLD}
New Setup

+ 38
- 41
test/functional/cases/120_fuzzy/lib.robot Dosyayı Görüntüle

@@ -1,24 +1,25 @@
*** Settings ***
Library OperatingSystem
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${ALGORITHM} ${EMPTY}
${CONFIG} ${TESTDIR}/configs/fuzzy.conf
${FLAG1_NUMBER} 50
${CONFIG} ${RSPAMD_TESTDIR}/configs/fuzzy.conf
${RSPAMD_FLAG1_NUMBER} 50
${FLAG1_SYMBOL} R_TEST_FUZZY_DENIED
${FLAG2_NUMBER} 51
${RSPAMD_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
${RSPAMD_FUZZY_BACKEND} redis
${RSPAMD_FUZZY_ENCRYPTED_ONLY} false
${RSPAMD_FUZZY_ENCRYPTION_KEY} null
${RSPAMD_FUZZY_KEY} null
${RSPAMD_FUZZY_INCLUDE} ${RSPAMD_TESTDIR}/configs/empty.conf
${RSPAMD_FUZZY_SHINGLES_KEY} null
@{MESSAGES} ${RSPAMD_TESTDIR}/messages/spam_message.eml ${RSPAMD_TESTDIR}/messages/zip.eml
@{MESSAGES_SKIP} ${RSPAMD_TESTDIR}/messages/priority.eml
@{RANDOM_MESSAGES} ${RSPAMD_TESTDIR}/messages/bad_message.eml ${RSPAMD_TESTDIR}/messages/zip-doublebad.eml
${REDIS_SCOPE} Suite
${RSPAMD_SCOPE} Suite
${SETTINGS_FUZZY_WORKER} ${EMPTY}
@@ -28,14 +29,14 @@ ${SETTINGS_FUZZY_CHECK} ${EMPTY}
Fuzzy Skip Add Test Base
[Arguments] ${message}
Set Suite Variable ${RSPAMD_FUZZY_ADD_${message}} 0
${result} = Run Rspamc -h ${LOCAL_ADDR}:${PORT_CONTROLLER} -w 10 -f
... ${FLAG1_NUMBER} fuzzy_add ${message}
${result} = Run Rspamc -h ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_CONTROLLER} -w 10 -f
... ${RSPAMD_FLAG1_NUMBER} fuzzy_add ${message}
Check Rspamc ${result}
Sync Fuzzy Storage
Scan File ${message}
Expect Symbol R_TEST_FUZZY_DENIED
Create File ${TMPDIR}/skip_hash.map.tmp 2d875d4737c59c4822fd01dadeba52a329de3933f766c6f167904c6a426bbfa7ea63a66bf807b25c5ee853baee58bfb18d3b423fcd13cfa7c3d77a840039a1ea
Move File ${TMPDIR}/skip_hash.map.tmp ${TMPDIR}/skip_hash.map
Create File ${RSPAMD_TMPDIR}/skip_hash.map.tmp 2d875d4737c59c4822fd01dadeba52a329de3933f766c6f167904c6a426bbfa7ea63a66bf807b25c5ee853baee58bfb18d3b423fcd13cfa7c3d77a840039a1ea
Move File ${RSPAMD_TMPDIR}/skip_hash.map.tmp ${RSPAMD_TMPDIR}/skip_hash.map
Sleep 1s Wait for reload
Scan File ${message}
Do Not Expect Symbol R_TEST_FUZZY_DENIED
@@ -43,8 +44,8 @@ Fuzzy Skip Add Test Base
Fuzzy Add Test
[Arguments] ${message}
Set Suite Variable ${RSPAMD_FUZZY_ADD_${message}} 0
${result} = Run Rspamc -h ${LOCAL_ADDR}:${PORT_CONTROLLER} -w 10 -f
... ${FLAG1_NUMBER} fuzzy_add ${message}
${result} = Run Rspamc -h ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_CONTROLLER} -w 10 -f
... ${RSPAMD_FLAG1_NUMBER} fuzzy_add ${message}
Check Rspamc ${result}
Sync Fuzzy Storage
Scan File ${message}
@@ -54,7 +55,7 @@ Fuzzy Add Test
Fuzzy Delete Test
[Arguments] ${message}
Run Keyword If ${RSPAMD_FUZZY_ADD_${message}} == 0 Fail "Fuzzy Add was not run"
${result} = Run Rspamc -h ${LOCAL_ADDR}:${PORT_CONTROLLER} -f ${FLAG1_NUMBER} fuzzy_del
${result} = Run Rspamc -h ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_CONTROLLER} -f ${RSPAMD_FLAG1_NUMBER} fuzzy_del
... ${message}
Check Rspamc ${result}
Sync Fuzzy Storage
@@ -78,9 +79,9 @@ Fuzzy Miss Test

Fuzzy Overwrite Test
[Arguments] ${message}
${flag_numbers} = Create List ${FLAG1_NUMBER} ${FLAG2_NUMBER}
${flag_numbers} = Create List ${RSPAMD_FLAG1_NUMBER} ${RSPAMD_FLAG2_NUMBER}
FOR ${i} IN @{flag_numbers}
${result} = Run Rspamc -h ${LOCAL_ADDR}:${PORT_CONTROLLER} -w 10
${result} = Run Rspamc -h ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_CONTROLLER} -w 10
... -f ${i} fuzzy_add ${message}
Check Rspamc ${result}
END
@@ -91,41 +92,37 @@ Fuzzy Overwrite Test

Fuzzy Setup Encrypted
[Arguments] ${algorithm}
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
Set Suite Variable ${RSPAMD_FUZZY_ALGORITHM} ${algorithm}
Set Suite Variable ${RSPAMD_FUZZY_ENCRYPTED_ONLY} true
Set Suite Variable ${RSPAMD_FUZZY_ENCRYPTION_KEY} ${RSPAMD_KEY_PUB1}
Set Suite Variable ${RSPAMD_FUZZY_INCLUDE} ${RSPAMD_TESTDIR}/configs/fuzzy-encryption-key.conf
Fuzzy Setup Generic

Fuzzy Setup Encrypted Keyed
[Arguments] ${algorithm}
Set Suite Variable ${FUZZY_ALGORITHM} ${algorithm}
Set Suite Variable ${FUZZY_ENCRYPTED_ONLY} true
Set Suite Variable ${FUZZY_ENCRYPTION_KEY} ${KEY_PUB1}
Set Suite Variable ${RSPAMD_FUZZY_ALGORITHM} ${algorithm}
Set Suite Variable ${RSPAMD_FUZZY_ENCRYPTED_ONLY} true
Set Suite Variable ${RSPAMD_FUZZY_ENCRYPTION_KEY} ${RSPAMD_KEY_PUB1}

Set Suite Variable ${FUZZY_KEY} mYN888sydwLTfE32g2hN
Set Suite Variable ${FUZZY_SHINGLES_KEY} hXUCgul9yYY3Zlk1QIT2
Set Suite Variable ${RSPAMD_FUZZY_KEY} mYN888sydwLTfE32g2hN
Set Suite Variable ${RSPAMD_FUZZY_SHINGLES_KEY} hXUCgul9yYY3Zlk1QIT2
Fuzzy Setup Generic

Fuzzy Setup Plain
[Arguments] ${algorithm}
Set Suite Variable ${FUZZY_ALGORITHM} ${algorithm}
Set Suite Variable ${RSPAMD_FUZZY_ALGORITHM} ${algorithm}
Fuzzy Setup Generic

Fuzzy Setup Keyed
[Arguments] ${algorithm}
Set Suite Variable ${FUZZY_ALGORITHM} ${algorithm}
Set Suite Variable ${FUZZY_KEY} mYN888sydwLTfE32g2hN
Set Suite Variable ${FUZZY_SHINGLES_KEY} hXUCgul9yYY3Zlk1QIT2
Set Suite Variable ${RSPAMD_FUZZY_ALGORITHM} ${algorithm}
Set Suite Variable ${RSPAMD_FUZZY_KEY} mYN888sydwLTfE32g2hN
Set Suite Variable ${RSPAMD_FUZZY_SHINGLES_KEY} hXUCgul9yYY3Zlk1QIT2
Fuzzy Setup Generic

Fuzzy Setup Generic
Run Redis
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}
New Setup

Fuzzy Setup Plain Fasthash
Fuzzy Setup Plain fasthash

+ 6
- 6
test/functional/cases/121_json/100_preresult.robot Dosyayı Görüntüle

@@ -1,15 +1,15 @@
*** Settings ***
Suite Setup JSON Setup
Suite Teardown Simple Teardown
Library ${TESTDIR}/lib/rspamd.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource lib.robot
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/lua_test.conf
${LUA_SCRIPT} ${TESTDIR}/lua/preresult.lua
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${CONFIG} ${RSPAMD_TESTDIR}/configs/lua_test.conf
${RSPAMD_LUA_SCRIPT} ${RSPAMD_TESTDIR}/lua/preresult.lua
${MESSAGE} ${RSPAMD_TESTDIR}/messages/spam_message.eml
${RSPAMD_SCOPE} Suite

*** Test Cases ***

+ 6
- 6
test/functional/cases/121_json/101_simple.robot Dosyayı Görüntüle

@@ -1,15 +1,15 @@
*** Settings ***
Suite Setup JSON Setup
Suite Teardown Simple Teardown
Library ${TESTDIR}/lib/rspamd.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource lib.robot
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/lua_test.conf
${LUA_SCRIPT} ${TESTDIR}/lua/simple.lua
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${CONFIG} ${RSPAMD_TESTDIR}/configs/lua_test.conf
${RSPAMD_LUA_SCRIPT} ${RSPAMD_TESTDIR}/lua/simple.lua
${MESSAGE} ${RSPAMD_TESTDIR}/messages/spam_message.eml
${RSPAMD_SCOPE} Suite

*** Test Cases ***

+ 5
- 5
test/functional/cases/121_json/lib.robot Dosyayı Görüntüle

@@ -1,12 +1,12 @@
*** Variables ***
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat

*** Keywords ***
JSON Setup
New Setup LUA_SCRIPT=${LUA_SCRIPT} URL_TLD=${URL_TLD}
New Setup

Stat Test
@{result} = HTTP GET ${LOCAL_ADDR} ${PORT_CONTROLLER} /stat
@{result} = HTTP GET ${RSPAMD_LOCAL_ADDR} ${RSPAMD_PORT_CONTROLLER} /stat
Check JSON ${result}[1]
Should Be Equal As Integers ${result}[0] 200

@@ -14,12 +14,12 @@ History Test
[Arguments] ${rspamc_expected_result}
${result} = Scan Message With Rspamc ${MESSAGE}
Check Rspamc ${result} ${rspamc_expected_result}
@{result} = HTTP GET ${LOCAL_ADDR} ${PORT_CONTROLLER} /history
@{result} = HTTP GET ${RSPAMD_LOCAL_ADDR} ${RSPAMD_PORT_CONTROLLER} /history
Check JSON ${result}[1]
Should Be Equal As Integers ${result}[0] 200

Scan Test
${content} = Get File ${MESSAGE}
@{result} = HTTP POST ${LOCAL_ADDR} ${PORT_NORMAL} /check ${content}
@{result} = HTTP POST ${RSPAMD_LOCAL_ADDR} ${RSPAMD_PORT_NORMAL} /check ${content}
Check JSON ${result}[1]
Should Be Equal As Integers ${result}[0] 200

+ 11
- 11
test/functional/cases/123_whitelist.robot Dosyayı Görüntüle

@@ -1,22 +1,22 @@
*** Settings ***
Suite Setup Whitelist Setup
Suite Teardown Normal Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/whitelist.conf
${M_DMARC_OK} ${TESTDIR}/messages/dmarc/pass_none.eml
${M_DMARC_BAD} ${TESTDIR}/messages/dmarc/fail_none.eml
${CONFIG} ${RSPAMD_TESTDIR}/configs/whitelist.conf
${M_DMARC_OK} ${RSPAMD_TESTDIR}/messages/dmarc/pass_none.eml
${M_DMARC_BAD} ${RSPAMD_TESTDIR}/messages/dmarc/fail_none.eml

${M_DKIM_RSPAMD_OK} ${TESTDIR}/messages/dmarc/good_dkim_rspamd.eml
${M_DKIM_RSPAMD_BAD} ${TESTDIR}/messages/dmarc/bad_dkim_rspamd.eml
${M_NO_DKIM_VALID_SPF} ${TESTDIR}/messages/dmarc/no_dkim_valid_spf.eml
${M_DKIM_RSPAMD_OK} ${RSPAMD_TESTDIR}/messages/dmarc/good_dkim_rspamd.eml
${M_DKIM_RSPAMD_BAD} ${RSPAMD_TESTDIR}/messages/dmarc/bad_dkim_rspamd.eml
${M_NO_DKIM_VALID_SPF} ${RSPAMD_TESTDIR}/messages/dmarc/no_dkim_valid_spf.eml

${UTF_MESSAGE} ${TESTDIR}/messages/utf.eml
${UTF_MESSAGE} ${RSPAMD_TESTDIR}/messages/utf.eml
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat

*** Test Cases ***
WHITELISTS

+ 14
- 14
test/functional/cases/125_map_reload.robot Dosyayı Görüntüle

@@ -1,16 +1,16 @@
*** Settings ***
Suite Setup Map Reload Setup
Suite Teardown Map Reload Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/lua_test.conf
${CONFIG} ${RSPAMD_TESTDIR}/configs/lua_test.conf
${MAP_WATCH_INTERVAL} 0.5s
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${MESSAGE} ${RSPAMD_TESTDIR}/messages/spam_message.eml
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat

*** Test Cases ***
CHECK HIT AND MISS
@@ -19,7 +19,7 @@ CHECK HIT AND MISS

WRITE NEW MAP
${TMP_FILE} = Make Temporary File
Copy File ${TESTDIR}/configs/maps/domains.list.2 ${TMP_FILE}
Copy File ${RSPAMD_TESTDIR}/configs/maps/domains.list.2 ${TMP_FILE}
Move File ${TMP_FILE} ${MAP_FILE}

CHECK HIT AND MISS AFTER RELOAD
@@ -29,19 +29,19 @@ CHECK HIT AND MISS AFTER RELOAD

*** Keywords ***
Map Reload Setup
${MAP1} = Get File ${TESTDIR}/configs/maps/domains.list
${MAP1} = Get File ${RSPAMD_TESTDIR}/configs/maps/domains.list
${MAP_FILE} = Make Temporary File
${LUA_SCRIPT} = Make Temporary File
Set Suite Variable ${LUA_SCRIPT}
${RSPAMD_LUA_SCRIPT} = Make Temporary File
Set Suite Variable ${RSPAMD_LUA_SCRIPT}
Set Suite Variable ${MAP_FILE}
Set Suite Variable ${MAP1}
${lua} = Get File ${TESTDIR}/lua/mapreload.lua
${lua} = Get File ${RSPAMD_TESTDIR}/lua/mapreload.lua
${lua} = Replace Variables ${lua}
Create File ${LUA_SCRIPT} ${lua}
Create File ${RSPAMD_LUA_SCRIPT} ${lua}
Create File ${MAP_FILE} ${MAP1}
New Setup LUA_SCRIPT=${LUA_SCRIPT} URL_TLD=${URL_TLD}
New Setup

Map Reload Teardown
Remove File ${MAP_FILE}
Remove File ${LUA_SCRIPT}
Remove File ${RSPAMD_LUA_SCRIPT}
Normal Teardown

+ 7
- 7
test/functional/cases/131_dkim_signing/001_simple.robot Dosyayı Görüntüle

@@ -1,17 +1,17 @@
*** Settings ***
Suite Setup New Setup
Suite Teardown Normal Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/dkim_signing/simple.conf
${MESSAGE} ${TESTDIR}/messages/dmarc/fail_none.eml
${MESSAGE_FAIL} ${TESTDIR}/messages/dmarc/fail_none1.eml
${CONFIG} ${RSPAMD_TESTDIR}/configs/dkim_signing/simple.conf
${MESSAGE} ${RSPAMD_TESTDIR}/messages/dmarc/fail_none.eml
${MESSAGE_FAIL} ${RSPAMD_TESTDIR}/messages/dmarc/fail_none1.eml
${REDIS_SCOPE} Suite
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat

*** Test Cases ***
TEST SIGNED

+ 7
- 7
test/functional/cases/131_dkim_signing/002_redis.robot Dosyayı Görüntüle

@@ -1,16 +1,16 @@
*** Settings ***
Suite Setup DKIM Signing Setup
Suite Teardown Normal Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/dkim_signing/redis.conf
${MESSAGE} ${TESTDIR}/messages/dmarc/fail_none.eml
${CONFIG} ${RSPAMD_TESTDIR}/configs/dkim_signing/redis.conf
${MESSAGE} ${RSPAMD_TESTDIR}/messages/dmarc/fail_none.eml
${REDIS_SCOPE} Suite
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat

*** Test Cases ***
TEST SIGNED
@@ -27,6 +27,6 @@ TEST NOT SIGNED - USERNAME WRONG DOMAIN
DKIM Signing Setup
Run Redis
Redis HSET TEST_DKIM_SELECTORS cacophony.za.org dkim
${key} = Get File ${TESTDIR}/configs/dkim.key
${key} = Get File ${RSPAMD_TESTDIR}/configs/dkim.key
Redis HSET TEST_DKIM_KEYS dkim.cacophony.za.org ${key}
New Setup

+ 7
- 7
test/functional/cases/131_dkim_signing/003_eddsa.robot Dosyayı Görüntüle

@@ -1,17 +1,17 @@
*** Settings ***
Suite Setup New Setup
Suite Teardown Normal Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/dkim_signing/eddsa.conf
${MESSAGE} ${TESTDIR}/messages/dmarc/fail_none.eml
${MESSAGE_FAIL} ${TESTDIR}/messages/dmarc/fail_none1.eml
${CONFIG} ${RSPAMD_TESTDIR}/configs/dkim_signing/eddsa.conf
${MESSAGE} ${RSPAMD_TESTDIR}/messages/dmarc/fail_none.eml
${MESSAGE_FAIL} ${RSPAMD_TESTDIR}/messages/dmarc/fail_none1.eml
${REDIS_SCOPE} Suite
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat

*** Test Cases ***
TEST SIGNED

+ 12
- 12
test/functional/cases/131_dkim_signing/004_invalidate_key.robot Dosyayı Görüntüle

@@ -2,16 +2,16 @@
Force Tags isbroken
Suite Setup Key Invalidation Setup
Suite Teardown Key Invalidation Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/dkim_signing/invalidate.conf
${MESSAGE} ${TESTDIR}/messages/dmarc/fail_none.eml
${CONFIG} ${RSPAMD_TESTDIR}/configs/dkim_signing/invalidate.conf
${MESSAGE} ${RSPAMD_TESTDIR}/messages/dmarc/fail_none.eml
${REDIS_SCOPE} Suite
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat

*** Test Cases ***
TEST SIGNED
@@ -34,17 +34,17 @@ TEST NOT SIGNED - KEY NO LONGER MATCHES
*** Keywords ***
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
Set Suite Variable ${RSPAMD_KEY_DIR} ${key_dir}
Copy File ${RSPAMD_TESTDIR}/configs/dkim-eddsa.key ${RSPAMD_KEY_DIR}/dkim-eddsa.key
New Setup

Delete Key
Remove File ${KEY_DIR}/dkim-eddsa.key
Remove File ${RSPAMD_KEY_DIR}/dkim-eddsa.key

Move Key
Copy File ${TESTDIR}/configs/dkim.key ${KEY_DIR}/dkim-eddsa.key
Set Modified Time ${KEY_DIR}/dkim-eddsa.key NOW + 3s
Copy File ${RSPAMD_TESTDIR}/configs/dkim.key ${RSPAMD_KEY_DIR}/dkim-eddsa.key
Set Modified Time ${RSPAMD_KEY_DIR}/dkim-eddsa.key NOW + 3s

Key Invalidation Teardown
Cleanup Temporary Directory ${KEY_DIR}
Cleanup Temporary Directory ${RSPAMD_KEY_DIR}
Normal Teardown

+ 7
- 7
test/functional/cases/131_dkim_signing/005_multiple.robot Dosyayı Görüntüle

@@ -1,17 +1,17 @@
*** Settings ***
Suite Setup New Setup
Suite Teardown Normal Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/dkim_signing/multiple.conf
${MESSAGE} ${TESTDIR}/messages/dmarc/fail_none.eml
${MESSAGE_FAIL} ${TESTDIR}/messages/dmarc/fail_none1.eml
${CONFIG} ${RSPAMD_TESTDIR}/configs/dkim_signing/multiple.conf
${MESSAGE} ${RSPAMD_TESTDIR}/messages/dmarc/fail_none.eml
${MESSAGE_FAIL} ${RSPAMD_TESTDIR}/messages/dmarc/fail_none1.eml
${REDIS_SCOPE} Suite
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat

*** Test Cases ***
TEST DOUBLE SIGNED

+ 7
- 7
test/functional/cases/131_dkim_signing/006_milter.robot Dosyayı Görüntüle

@@ -2,14 +2,14 @@
Suite Setup New Setup
Suite Teardown Generic Teardown
Library Process
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/dkim_signing/milter.conf
${CONFIG} ${RSPAMD_TESTDIR}/configs/dkim_signing/milter.conf
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat

*** Test Cases ***
SINGLE SIGNATURE
@@ -21,8 +21,8 @@ MULTIPLE SIGNATURES
*** Keywords ***
Milter Test
[Arguments] ${mtlua}
${result} = Run Process miltertest -Dport\=${PORT_PROXY} -Dhost\=${LOCAL_ADDR} -s ${TESTDIR}/lua/miltertest/${mtlua}
... cwd=${TESTDIR}/lua/miltertest
${result} = Run Process miltertest -Dport\=${RSPAMD_PORT_PROXY} -Dhost\=${RSPAMD_LOCAL_ADDR} -s ${RSPAMD_TESTDIR}/lua/miltertest/${mtlua}
... cwd=${RSPAMD_TESTDIR}/lua/miltertest
Should Match Regexp ${result.stderr} ^$
Log ${result.rc}
Log ${result.stdout}

+ 7
- 7
test/functional/cases/131_dkim_signing/007_sign_maps.robot Dosyayı Görüntüle

@@ -1,17 +1,17 @@
*** Settings ***
Suite Setup New Setup
Suite Teardown Normal Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/dkim_signing/sign_maps.conf
${MESSAGE} ${TESTDIR}/messages/dmarc/fail_none.eml
${MESSAGE_FAIL} ${TESTDIR}/messages/dmarc/fail_none1.eml
${CONFIG} ${RSPAMD_TESTDIR}/configs/dkim_signing/sign_maps.conf
${MESSAGE} ${RSPAMD_TESTDIR}/messages/dmarc/fail_none.eml
${MESSAGE_FAIL} ${RSPAMD_TESTDIR}/messages/dmarc/fail_none1.eml
${REDIS_SCOPE} Suite
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat

*** Test Cases ***
TEST SIGNED

+ 8
- 8
test/functional/cases/135_spamassassin.robot Dosyayı Görüntüle

@@ -1,18 +1,18 @@
*** Settings ***
Suite Setup New Setup
Suite Teardown Simple Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/spamassassin.conf
${CONFIG} ${RSPAMD_TESTDIR}/configs/spamassassin.conf
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat

*** Test Cases ***
FREEMAIL
Scan File ${TESTDIR}/messages/freemail.eml
Scan File ${RSPAMD_TESTDIR}/messages/freemail.eml
... From=faked.asdfjisiwosp372@outlook.com
Expect Symbol FREEMAIL_FROM
Expect Symbol FREEMAIL_ENVFROM_END_DIGIT
@@ -20,14 +20,14 @@ FREEMAIL
Expect Symbol TEST_META4

WLBL WHITELIST
Scan File ${TESTDIR}/messages/bad_message.eml
Scan File ${RSPAMD_TESTDIR}/messages/bad_message.eml
Expect Symbol USER_IN_WHITELIST
Expect Symbol USER_IN_WHITELIST_TO
Do Not Expect Symbol USER_IN_BLACKLIST_TO
Do Not Expect Symbol USER_IN_BLACKLIST

WLBL BLACKLIST
Scan File ${TESTDIR}/messages/utf.eml
Scan File ${RSPAMD_TESTDIR}/messages/utf.eml
Expect Symbol USER_IN_BLACKLIST
Expect Symbol USER_IN_BLACKLIST_TO
Do Not Expect Symbol USER_IN_WHITELIST_TO

+ 16
- 16
test/functional/cases/140_proxy.robot Dosyayı Görüntüle

@@ -1,50 +1,50 @@
*** Settings ***
Suite Setup Proxy Setup
Suite Teardown Proxy Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${LUA_SCRIPT} ${TESTDIR}/lua/simple.lua
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${RSPAMD_LUA_SCRIPT} ${RSPAMD_TESTDIR}/lua/simple.lua
${MESSAGE} ${RSPAMD_TESTDIR}/messages/spam_message.eml
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat

*** Test Cases ***
HTTP PROTOCOL
Set Test Variable ${PORT_NORMAL} ${PORT_PROXY}
Set Test Variable ${RSPAMD_PORT_NORMAL} ${RSPAMD_PORT_PROXY}
Scan File ${MESSAGE}
Expect Symbol SIMPLE_TEST

SPAMC
${result} = Spamc ${LOCAL_ADDR} ${PORT_PROXY} ${MESSAGE}
${result} = Spamc ${RSPAMD_LOCAL_ADDR} ${RSPAMD_PORT_PROXY} ${MESSAGE}
Should Contain ${result} SPAMD/1.1 0 EX_OK

RSPAMC Legacy Protocol
${result} = Rspamc ${LOCAL_ADDR} ${PORT_PROXY} ${MESSAGE}
${result} = Rspamc ${RSPAMD_LOCAL_ADDR} ${RSPAMD_PORT_PROXY} ${MESSAGE}
Should Contain ${result} RSPAMD/1.3 0 EX_OK

*** Keywords ***
Proxy Setup
# 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 ${CONFIG} ${RSPAMD_TESTDIR}/configs/lua_test.conf
New Setup
Set Suite Variable ${SLAVE_PID} ${RSPAMD_PID}
Set Suite Variable ${SLAVE_TMPDIR} ${TMPDIR}
Set Suite Variable ${SLAVE_TMPDIR} ${RSPAMD_TMPDIR}

# Run proxy & copy variables
Set Suite Variable ${CONFIG} ${TESTDIR}/configs/proxy.conf
Set Suite Variable ${CONFIG} ${RSPAMD_TESTDIR}/configs/proxy.conf
New Setup
Set Suite Variable ${PROXY_PID} ${RSPAMD_PID}
Set Suite Variable ${PROXY_TMPDIR} ${TMPDIR}
Set Suite Variable ${PROXY_TMPDIR} ${RSPAMD_TMPDIR}

Proxy Teardown
# Restore variables & run normal teardown
Set Suite Variable ${RSPAMD_PID} ${PROXY_PID}
Set Suite Variable ${TMPDIR} ${PROXY_TMPDIR}
Set Suite Variable ${RSPAMD_TMPDIR} ${PROXY_TMPDIR}
Normal Teardown
# Do it again for slave
Set Suite Variable ${RSPAMD_PID} ${SLAVE_PID}
Set Suite Variable ${TMPDIR} ${SLAVE_TMPDIR}
Set Suite Variable ${RSPAMD_TMPDIR} ${SLAVE_TMPDIR}
Normal Teardown

+ 2
- 2
test/functional/cases/150_rspamadm.robot Dosyayı Görüntüle

@@ -28,12 +28,12 @@ Simple interpreter, two results

Process message callback
${handle} = Start Process ${RSPAMADM} lua
${result} = Write to stdin ${handle} .load ${TESTDIR}/lua/rspamadm/test_message_callback.lua\n.message message_callback ${TESTDIR}/messages/empty_part.eml
${result} = Write to stdin ${handle} .load ${RSPAMD_TESTDIR}/lua/rspamadm/test_message_callback.lua\n.message message_callback ${RSPAMD_TESTDIR}/messages/empty_part.eml
Should Contain ${result} n parts = 2
Should Contain ${result} 1\n2\n4\n6

Lua batch mode
${result} = Run Process ${RSPAMADM} lua -b ${TESTDIR}/lua/rspamadm/test_batch.lua
${result} = Run Process ${RSPAMADM} lua -b ${RSPAMD_TESTDIR}/lua/rspamadm/test_batch.lua
Should Match Regexp ${result.stderr} ^$
Should Be Equal As Integers ${result.rc} 0
Should Be Equal ${result.stdout} hello world

+ 10
- 10
test/functional/cases/151_rspamadm_async.robot Dosyayı Görüntüle

@@ -2,26 +2,26 @@
Test Setup Rspamadm test Setup
Test Teardown Rspamadm test Teardown
Library Process
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py
Suite Teardown Terminate All Processes kill=True

*** Variables ***
${REDIS_SCOPE} Test
${CONFIG} ${TESTDIR}/configs/plugins.conf
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${CONFIG} ${RSPAMD_TESTDIR}/configs/plugins.conf
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat
${PLUGIN_CONFIG}

*** Test Cases ***
Tcp client
${result} = Run Process ${RSPAMADM} lua -b ${TESTDIR}/lua/rspamadm/test_tcp_client.lua
${result} = Run Process ${RSPAMADM} lua -b ${RSPAMD_TESTDIR}/lua/rspamadm/test_tcp_client.lua
Should Match Regexp ${result.stderr} ^$
Should Be Equal As Integers ${result.rc} 0
Should Be Equal ${result.stdout} hello post

Redis client
${result} = Run Process ${RSPAMADM} lua -b ${TESTDIR}/lua/rspamadm/test_redis_client.lua
${result} = Run Process ${RSPAMADM} lua -b ${RSPAMD_TESTDIR}/lua/rspamadm/test_redis_client.lua
Should Match Regexp ${result.stderr} ^$
Should Be Equal As Integers ${result.rc} 0
Should Be Equal ${result.stdout} true\thello from lua on redis
@@ -29,7 +29,7 @@ Redis client
DNS client
${tmpdir} = Prepare temp directory ${CONFIG}
Set test variable ${tmpdir}
${result} = Run Process ${RSPAMADM} --var\=CONFDIR\=${tmpdir} lua -b ${TESTDIR}/lua/rspamadm/test_dns_client.lua
${result} = Run Process ${RSPAMADM} --var\=CONFDIR\=${tmpdir} lua -b ${RSPAMD_TESTDIR}/lua/rspamadm/test_dns_client.lua
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
@@ -40,7 +40,7 @@ DNS client

Rspamadm test Setup
${tmpdir} = Make Temporary Directory
Set Suite Variable ${TMPDIR} ${tmpdir}
Set Suite Variable ${RSPAMD_TMPDIR} ${tmpdir}
Run Dummy Http
Run Redis

@@ -52,7 +52,7 @@ Rspamadm test Teardown

Run Dummy Http
[Arguments]
${result} = Start Process ${TESTDIR}/util/dummy_http.py
${result} = Start Process ${RSPAMD_TESTDIR}/util/dummy_http.py
Wait Until Created /tmp/dummy_http.pid

Prepare temp directory

+ 18
- 19
test/functional/cases/160_antivirus.robot Dosyayı Görüntüle

@@ -2,27 +2,27 @@
Suite Setup Antivirus Setup
Suite Teardown Antivirus Teardown
Library Process
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/antivirus.conf
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${MESSAGE2} ${TESTDIR}/messages/freemail.eml
${CONFIG} ${RSPAMD_TESTDIR}/configs/antivirus.conf
${MESSAGE} ${RSPAMD_TESTDIR}/messages/spam_message.eml
${MESSAGE2} ${RSPAMD_TESTDIR}/messages/freemail.eml
${REDIS_SCOPE} Suite
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat

*** Test Cases ***
CLAMAV MISS
Run Dummy Clam ${PORT_CLAM}
Run Dummy Clam ${RSPAMD_PORT_CLAM}
Scan File ${MESSAGE}
Do Not Expect Symbol CLAM_VIRUS
Shutdown clamav

CLAMAV HIT
Run Dummy Clam ${PORT_CLAM} 1
Run Dummy Clam ${RSPAMD_PORT_CLAM} 1
Scan File ${MESSAGE2}
Expect Symbol CLAM_VIRUS
Do Not Expect Symbol CLAMAV_VIRUS_FAIL
@@ -39,15 +39,15 @@ CLAMAV CACHE MISS
Do Not Expect Symbol CLAMAV_VIRUS_FAIL

FPROT MISS
Run Dummy Fprot ${PORT_FPROT}
Run Dummy Fprot ${RSPAMD_PORT_FPROT}
Scan File ${MESSAGE2}
Do Not Expect Symbol FPROT_VIRUS
Do Not Expect Symbol FPROT_EICAR
Shutdown fport

FPROT HIT - PATTERN
Run Dummy Fprot ${PORT_FPROT} 1
Run Dummy Fprot ${PORT_FPROT2_DUPLICATE} 1 /tmp/dummy_fprot_dupe.pid
Run Dummy Fprot ${RSPAMD_PORT_FPROT} 1
Run Dummy Fprot ${RSPAMD_PORT_FPROT2_DUPLICATE} 1 /tmp/dummy_fprot_dupe.pid
Scan File ${MESSAGE}
Expect Symbol FPROT_EICAR
Do Not Expect Symbol CLAMAV_VIRUS
@@ -71,13 +71,13 @@ FPROT CACHE MISS
Do Not Expect Symbol FPROT_VIRUS

AVAST MISS
Run Dummy Avast ${PORT_AVAST}
Run Dummy Avast ${RSPAMD_PORT_AVAST}
Scan File ${MESSAGE}
Do Not Expect Symbol AVAST_VIRUS
Shutdown avast

AVAST HIT
Run Dummy Avast ${PORT_AVAST} 1
Run Dummy Avast ${RSPAMD_PORT_AVAST} 1
Scan File ${MESSAGE2}
Expect Symbol AVAST_VIRUS
Do Not Expect Symbol AVAST_VIRUS_FAIL
@@ -95,8 +95,7 @@ AVAST CACHE MISS

*** Keywords ***
Antivirus Setup
New Setup PORT_CLAM=${PORT_CLAM} PORT_FPROT=${PORT_FPROT} PORT_AVAST=${PORT_AVAST}
... PORT_FPROT2_DUPLICATE=${PORT_FPROT2_DUPLICATE}
New Setup
Run Redis

Antivirus Teardown
@@ -137,12 +136,12 @@ Run Dummy

Run Dummy Clam
[Arguments] ${port} ${found}= ${pid}=/tmp/dummy_clamav.pid
Run Dummy ${TESTDIR}/util/dummy_clam.py ${port} ${found} ${pid}
Run Dummy ${RSPAMD_TESTDIR}/util/dummy_clam.py ${port} ${found} ${pid}

Run Dummy Fprot
[Arguments] ${port} ${found}= ${pid}=/tmp/dummy_fprot.pid
Run Dummy ${TESTDIR}/util/dummy_fprot.py ${port} ${found} ${pid}
Run Dummy ${RSPAMD_TESTDIR}/util/dummy_fprot.py ${port} ${found} ${pid}

Run Dummy Avast
[Arguments] ${port} ${found}= ${pid}=/tmp/dummy_avast.pid
Run Dummy ${TESTDIR}/util/dummy_avast.py ${port} ${found} ${pid}
Run Dummy ${RSPAMD_TESTDIR}/util/dummy_avast.py ${port} ${found} ${pid}

+ 15
- 15
test/functional/cases/161_p0f.robot Dosyayı Görüntüle

@@ -2,17 +2,17 @@
Suite Setup p0f Setup
Suite Teardown p0f Teardown
Library Process
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/p0f.conf
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${MESSAGE2} ${TESTDIR}/messages/freemail.eml
${CONFIG} ${RSPAMD_TESTDIR}/configs/p0f.conf
${MESSAGE} ${RSPAMD_TESTDIR}/messages/spam_message.eml
${MESSAGE2} ${RSPAMD_TESTDIR}/messages/freemail.eml
${REDIS_SCOPE} Suite
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat

*** Test Cases ***
p0f MISS
@@ -24,7 +24,7 @@ p0f MISS
Shutdown p0f

p0f HIT
Run Dummy p0f ${P0F_SOCKET} windows
Run Dummy p0f ${RSPAMD_P0F_SOCKET} windows
Scan File ${MESSAGE} IP=1.1.1.2
Do Not Expect Symbol P0F_FAIL
Expect Symbol With Exact Options P0F link=Ethernet or modem distance=10
@@ -41,7 +41,7 @@ p0f MISS CACHE
Do Not Expect Symbol P0F_FAIL

p0f HIT CACHE
Run Dummy p0f ${P0F_SOCKET} windows
Run Dummy p0f ${RSPAMD_P0F_SOCKET} windows
Scan File ${MESSAGE} IP=1.1.1.4
Expect Symbol WINDOWS
Shutdown p0f
@@ -58,21 +58,21 @@ p0f NO REDIS
Shutdown p0f

p0f NO MATCH
Run Dummy p0f ${P0F_SOCKET} windows no_match
Run Dummy p0f ${RSPAMD_P0F_SOCKET} windows no_match
Scan File ${MESSAGE} IP=1.1.1.6
Do Not Expect Symbol P0F
Do Not Expect Symbol WINDOWS
Shutdown p0f

p0f BAD QUERY
Run Dummy p0f ${P0F_SOCKET} windows bad_query
Run Dummy p0f ${RSPAMD_P0F_SOCKET} windows bad_query
Scan File ${MESSAGE} IP=1.1.1.7
Expect Symbol With Exact Options P0F_FAIL Malformed Query: /tmp/p0f.sock
Do Not Expect Symbol WINDOWS
Shutdown p0f

p0f BAD RESPONSE
Run Dummy p0f ${P0F_SOCKET} windows bad_response
Run Dummy p0f ${RSPAMD_P0F_SOCKET} windows bad_response
Scan File ${MESSAGE} IP=1.1.1.8
Expect Symbol With Exact Options P0F_FAIL Error getting result: IO read error: connection terminated
Do Not Expect Symbol WINDOWS
@@ -80,7 +80,7 @@ p0f BAD RESPONSE

*** Keywords ***
p0f Setup
New Setup P0F_SOCKET=${P0F_SOCKET} URL_TLD=${URL_TLD}
New Setup
Run Redis

p0f Teardown
@@ -93,6 +93,6 @@ Shutdown p0f
Run Keyword if ${p0f_pid} Shutdown Process With Children ${p0f_pid}

Run Dummy p0f
[Arguments] ${socket}=${P0F_SOCKET} ${os}=linux ${status}=ok
${result} = Start Process ${TESTDIR}/util/dummy_p0f.py ${socket} ${os} ${status}
[Arguments] ${socket}=${RSPAMD_P0F_SOCKET} ${os}=linux ${status}=ok
${result} = Start Process ${RSPAMD_TESTDIR}/util/dummy_p0f.py ${socket} ${os} ${status}
Wait Until Created /tmp/dummy_p0f.pid

+ 11
- 11
test/functional/cases/162_url_redirector.robot Dosyayı Görüntüle

@@ -2,17 +2,17 @@
Suite Setup Urlredirector Setup
Suite Teardown Urlredirector Teardown
Library Process
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/url_redirector.conf
${MESSAGE} ${TESTDIR}/messages/redir.eml
${CONFIG} ${RSPAMD_TESTDIR}/configs/url_redirector.conf
${MESSAGE} ${RSPAMD_TESTDIR}/messages/redir.eml
${REDIS_SCOPE} Suite
${RSPAMD_SCOPE} Suite
${SETTINGS} {symbols_enabled=[URL_REDIRECTOR_CHECK]}
${URL_TLD} ${TESTDIR}/../../contrib/publicsuffix/effective_tld_names.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../../contrib/publicsuffix/effective_tld_names.dat

*** Test Cases ***
RESOLVE URLS
@@ -26,12 +26,12 @@ RESOLVE URLS CACHED

*** Keywords ***
Urlredirector Setup
${TMPDIR} = Make Temporary Directory
Set Suite Variable ${TMPDIR}
Set Suite Variable ${REDIS_TMPDIR} ${TMPDIR}
${RSPAMD_TMPDIR} = Make Temporary Directory
Set Suite Variable ${RSPAMD_TMPDIR}
Set Suite Variable ${REDIS_TMPDIR} ${RSPAMD_TMPDIR}
Run Redis
Run Dummy Http
New Setup URL_TLD=${URL_TLD}
New Setup

Urlredirector Teardown
Normal Teardown
@@ -43,5 +43,5 @@ Stop Dummy Http
Shutdown Process With Children ${http_pid}

Run Dummy Http
${result} = Start Process ${TESTDIR}/util/dummy_http.py
${result} = Start Process ${RSPAMD_TESTDIR}/util/dummy_http.py
Wait Until Created /tmp/dummy_http.pid

+ 8
- 8
test/functional/cases/180_milter.robot Dosyayı Görüntüle

@@ -2,14 +2,14 @@
Suite Setup Milter Setup
Suite Teardown Generic Teardown
Library Process
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/milter.conf
${CONFIG} ${RSPAMD_TESTDIR}/configs/milter.conf
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat

*** Test Cases ***
ACCEPT
@@ -29,12 +29,12 @@ COMBINED TEST

*** Keywords ***
Milter Setup
New Setup URL_TLD=${URL_TLD}
New Setup

Milter Test
[Arguments] ${mtlua}
${result} = Run Process miltertest -Dport\=${PORT_PROXY} -Dhost\=${LOCAL_ADDR} -s ${TESTDIR}/lua/miltertest/${mtlua}
... cwd=${TESTDIR}/lua/miltertest
${result} = Run Process miltertest -Dport\=${RSPAMD_PORT_PROXY} -Dhost\=${RSPAMD_LOCAL_ADDR} -s ${RSPAMD_TESTDIR}/lua/miltertest/${mtlua}
... cwd=${RSPAMD_TESTDIR}/lua/miltertest
Should Match Regexp ${result.stderr} ^$
Log ${result.rc}
Log ${result.stdout}

+ 26
- 26
test/functional/cases/210_clickhouse/001_migration.robot Dosyayı Görüntüle

@@ -2,13 +2,13 @@
Documentation Checks if rspamd is able to upgrade migration schema from v0 (very initial) to v2
Test Setup Clickhouse Setup
Test Teardown Clickhosue Teardown
Variables ${TESTDIR}/lib/vars.py
Library ${TESTDIR}/lib/rspamd.py
Variables ${RSPAMD_TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Library clickhouse.py
Resource ${TESTDIR}/lib/rspamd.robot
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot

*** Variables ***
${CONFIG} ${TESTDIR}/configs/clickhouse.conf
${CONFIG} ${RSPAMD_TESTDIR}/configs/clickhouse.conf
${RSPAMD_SCOPE} Suite
${CLICKHOUSE_PORT} ${18123}

@@ -22,13 +22,13 @@ ${CLICKHOUSE_PORT} ${18123}
# Column should exist rspamd Attachments.Digest
# Column should exist rspamd Symbols.Scores
# Schema version should be 3
# Upload new schema ${TESTDIR}/data/initial_schema/schema.sql
# Insert data rspamd ${TESTDIR}/data/initial_schema/data.rspamd.sql
# Insert data rspamd_asn ${TESTDIR}/data/initial_schema/data.rspamd_asn.sql
# Insert data rspamd_urls ${TESTDIR}/data/initial_schema/data.rspamd_urls.sql
# Insert data rspamd_emails ${TESTDIR}/data/initial_schema/data.rspamd_emails.sql
# Insert data rspamd_symbols ${TESTDIR}/data/initial_schema/data.rspamd_symbols.sql
# Insert data rspamd_attachments ${TESTDIR}/data/initial_schema/data.rspamd_attachments.sql
# Upload new schema ${RSPAMD_TESTDIR}/data/initial_schema/schema.sql
# Insert data rspamd ${RSPAMD_TESTDIR}/data/initial_schema/data.rspamd.sql
# Insert data rspamd_asn ${RSPAMD_TESTDIR}/data/initial_schema/data.rspamd_asn.sql
# Insert data rspamd_urls ${RSPAMD_TESTDIR}/data/initial_schema/data.rspamd_urls.sql
# Insert data rspamd_emails ${RSPAMD_TESTDIR}/data/initial_schema/data.rspamd_emails.sql
# Insert data rspamd_symbols ${RSPAMD_TESTDIR}/data/initial_schema/data.rspamd_symbols.sql
# Insert data rspamd_attachments ${RSPAMD_TESTDIR}/data/initial_schema/data.rspamd_attachments.sql
# Prepare rspamd
# Sleep 2 #TODO: replace this check with waiting until migration finishes
# Column should exist rspamd Symbols.Scores
@@ -43,8 +43,8 @@ ${CLICKHOUSE_PORT} ${18123}

# Eventually broken
#Retention
# Upload new schema ${TESTDIR}/data/schema_2/schema.sql
# Insert data rspamd ${TESTDIR}/data/schema_2/data.rspamd.sql
# Upload new schema ${RSPAMD_TESTDIR}/data/schema_2/schema.sql
# Insert data rspamd ${RSPAMD_TESTDIR}/data/schema_2/data.rspamd.sql
# Assert rows count rspamd 56
# Prepare rspamd
# Sleep 2 #TODO: replace this check with waiting until migration finishes
@@ -52,31 +52,31 @@ ${CLICKHOUSE_PORT} ${18123}

*** Keywords ***
Clickhouse Setup
${TMPDIR} = Make Temporary Directory
Set Suite Variable ${TMPDIR}
Set Directory Ownership ${TMPDIR} ${RSPAMD_USER} ${RSPAMD_GROUP}
${template} = Get File ${TESTDIR}/configs/clickhouse-config.xml
${RSPAMD_TMPDIR} = Make Temporary Directory
Set Suite Variable ${RSPAMD_TMPDIR}
Set Directory Ownership ${RSPAMD_TMPDIR} ${RSPAMD_USER} ${RSPAMD_GROUP}
${template} = Get File ${RSPAMD_TESTDIR}/configs/clickhouse-config.xml
${config} = Replace Variables ${template}
Create File ${TMPDIR}/clickhouse-config.xml ${config}
Copy File ${TESTDIR}/configs/clickhouse-users.xml ${TMPDIR}/users.xml
Create Directory ${TMPDIR}/clickhouse
Set Directory Ownership ${TMPDIR}/clickhouse clickhouse clickhouse
Create File ${RSPAMD_TMPDIR}/clickhouse-config.xml ${config}
Copy File ${RSPAMD_TESTDIR}/configs/clickhouse-users.xml ${RSPAMD_TMPDIR}/users.xml
Create Directory ${RSPAMD_TMPDIR}/clickhouse
Set Directory Ownership ${RSPAMD_TMPDIR}/clickhouse clickhouse clickhouse
${result} = Run Process su -s /bin/sh clickhouse -c
... clickhouse-server --daemon --config-file\=${TMPDIR}/clickhouse-config.xml --pid-file\=${TMPDIR}/clickhouse/clickhouse.pid
... clickhouse-server --daemon --config-file\=${RSPAMD_TMPDIR}/clickhouse-config.xml --pid-file\=${RSPAMD_TMPDIR}/clickhouse/clickhouse.pid
Run Keyword If ${result.rc} != 0 Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Wait Until Keyword Succeeds 5 sec 50 ms TCP Connect localhost ${CLICKHOUSE_PORT}
Set Suite Variable ${TMPDIR} ${TMPDIR}
Set Suite Variable ${RSPAMD_TMPDIR} ${RSPAMD_TMPDIR}

Clickhosue Teardown
# Sleep 30
${clickhouse_pid} = Get File ${TMPDIR}/clickhouse/clickhouse.pid
${clickhouse_pid} = Get File ${RSPAMD_TMPDIR}/clickhouse/clickhouse.pid
Shutdown Process With Children ${clickhouse_pid}
Log File ${TMPDIR}/clickhouse/clickhouse-server.err.log
Log File ${RSPAMD_TMPDIR}/clickhouse/clickhouse-server.err.log
Simple Teardown

Prepare rspamd
&{d} = Run Rspamd CONFIG=${TESTDIR}/configs/clickhouse.conf TMPDIR=${TMPDIR}
&{d} = Run Rspamd CONFIG=${RSPAMD_TESTDIR}/configs/clickhouse.conf TMPDIR=${RSPAMD_TMPDIR}
${keys} = Get Dictionary Keys ${d}
FOR ${i} IN @{keys}
Run Keyword If '${RSPAMD_SCOPE}' == 'Suite' Set Suite Variable ${${i}} ${d}[${i}]

+ 10
- 10
test/functional/cases/220_http.robot Dosyayı Görüntüle

@@ -2,15 +2,15 @@
Test Setup Http Setup
Test Teardown Http Teardown
Library Process
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
# ${CONFIG} ${TESTDIR}/configs/http.conf
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${CONFIG} ${TESTDIR}/configs/lua_test.conf
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${RSPAMD_LUA_SCRIPT} ${RSPAMD_TESTDIR}/lua/http.lua
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat
${CONFIG} ${RSPAMD_TESTDIR}/configs/lua_test.conf
${MESSAGE} ${RSPAMD_TESTDIR}/messages/spam_message.eml
${RSPAMD_SCOPE} Test

*** Test Cases ***
@@ -43,7 +43,7 @@ SSL Large HTTP request
Http Setup
Run Dummy Http
Run Dummy Https
New Setup LUA_SCRIPT=${TESTDIR}/lua/http.lua URL_TLD=${URL_TLD}
New Setup

Http Teardown
${http_pid} = Get File /tmp/dummy_http.pid
@@ -53,11 +53,11 @@ Http Teardown
Normal Teardown

Run Dummy Http
${result} = Start Process ${TESTDIR}/util/dummy_http.py
${result} = Start Process ${RSPAMD_TESTDIR}/util/dummy_http.py
Wait Until Created /tmp/dummy_http.pid

Run Dummy Https
${result} = Start Process ${TESTDIR}/util/dummy_https.py ${TESTDIR}/util/server.pem
${result} = Start Process ${RSPAMD_TESTDIR}/util/dummy_https.py ${RSPAMD_TESTDIR}/util/server.pem
Wait Until Created /tmp/dummy_https.pid

Check url

+ 10
- 15
test/functional/cases/230_tcp.robot Dosyayı Görüntüle

@@ -2,15 +2,15 @@
Suite Setup Servers Setup
Suite Teardown Servers Teardown
Library Process
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
# ${CONFIG} ${TESTDIR}/configs/http.conf
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${CONFIG} ${TESTDIR}/configs/lua_test.conf
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${RSPAMD_LUA_SCRIPT} ${RSPAMD_TESTDIR}/lua/tcp.lua
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat
${CONFIG} ${RSPAMD_TESTDIR}/configs/lua_test.conf
${MESSAGE} ${RSPAMD_TESTDIR}/messages/spam_message.eml
${RSPAMD_SCOPE} Suite

*** Test Cases ***
@@ -44,15 +44,10 @@ Sync API TCP post request
Check url /content-length post HTTP_SYNC_CONTENT_post hello post

*** Keywords ***
Lua Setup
[Arguments] ${LUA_SCRIPT}
Set Suite Variable ${LUA_SCRIPT}
Generic Setup

Servers Setup
Run Dummy Http
Run Dummy Ssl
New Setup LUA_SCRIPT=${TESTDIR}/lua/tcp.lua URL_TLD=${URL_TLD}
New Setup

Servers Teardown
${http_pid} = Get File /tmp/dummy_http.pid
@@ -63,12 +58,12 @@ Servers Teardown

Run Dummy Http
[Arguments]
${result} = Start Process ${TESTDIR}/util/dummy_http.py
${result} = Start Process ${RSPAMD_TESTDIR}/util/dummy_http.py
Wait Until Created /tmp/dummy_http.pid timeout=2 second

Run Dummy Ssl
[Arguments]
${result} = Start Process ${TESTDIR}/util/dummy_ssl.py ${TESTDIR}/util/server.pem
${result} = Start Process ${RSPAMD_TESTDIR}/util/dummy_ssl.py ${RSPAMD_TESTDIR}/util/server.pem
Wait Until Created /tmp/dummy_ssl.pid timeout=2 second

Check url

+ 9
- 15
test/functional/cases/231_tcp_down.robot Dosyayı Görüntüle

@@ -1,16 +1,16 @@
*** Settings ***
Test Setup Http Setup
Test Teardown Http Teardown
Test Setup New Setup
Test Teardown Normal Teardown
Library Process
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
# ${CONFIG} ${TESTDIR}/configs/http.conf
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${CONFIG} ${TESTDIR}/configs/lua_test.conf
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${RSPAMD_LUA_SCRIPT} ${RSPAMD_TESTDIR}/lua/tcp.lua
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat
${CONFIG} ${RSPAMD_TESTDIR}/configs/lua_test.conf
${MESSAGE} ${RSPAMD_TESTDIR}/messages/spam_message.eml
${RSPAMD_SCOPE} Test

*** Test Cases ***
@@ -23,12 +23,6 @@ Sync API TCP get request when server is down


*** Keywords ***
Http Setup
New Setup LUA_SCRIPT=${TESTDIR}/lua/tcp.lua URL_TLD=${URL_TLD}

Http Teardown
Normal Teardown

Check url
[Arguments] ${url} ${method} @{expect_results}
${result} = Scan Message With Rspamc --header=url:${url} --header=method:${method} ${MESSAGE}

+ 8
- 7
test/functional/cases/240_redis.robot Dosyayı Görüntüle

@@ -2,18 +2,19 @@
Test Setup Redis Setup
Test Teardown Normal Teardown
Library Process
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py
Suite Teardown Terminate All Processes kill=True


*** Variables ***
${REDIS_SCOPE} Test
${RSPAMD_SCOPE} Test
${CONFIG} ${TESTDIR}/configs/redis.conf
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${CONFIG} ${RSPAMD_TESTDIR}/configs/redis.conf
${RSPAMD_LUA_SCRIPT} ${RSPAMD_TESTDIR}/lua/redis.lua
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat
${MESSAGE} ${RSPAMD_TESTDIR}/messages/spam_message.eml


*** Test Cases ***
@@ -26,5 +27,5 @@ Redis client

*** Keywords ***
Redis Setup
New Setup LUA_SCRIPT=${TESTDIR}/lua/redis.lua
Run Redis
New Setup

+ 8
- 11
test/functional/cases/241_redis_is_dead.robot Dosyayı Görüntüle

@@ -1,21 +1,22 @@
*** Settings ***
Documentation Test the case when trying to connect to nowhere
... (i.e. redis is not running)
Test Setup Dead Redis Setup
Test Setup New Setup
Test Teardown Normal Teardown
Library Process
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py
Suite Teardown Terminate All Processes kill=True


*** Variables ***
${REDIS_SCOPE} Test
${RSPAMD_SCOPE} Test
${CONFIG} ${TESTDIR}/configs/redis.conf
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${CONFIG} ${RSPAMD_TESTDIR}/configs/redis.conf
${RSPAMD_LUA_SCRIPT} ${RSPAMD_TESTDIR}/lua/redis.lua
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat
${MESSAGE} ${RSPAMD_TESTDIR}/messages/spam_message.eml


*** Test Cases ***
@@ -24,7 +25,3 @@ Dead Redis client
Expect Symbol With Exact Options REDIS_ERROR_3 Connection refused
Expect Symbol With Exact Options REDIS_ASYNC201809_ERROR Connection refused
Expect Symbol With Exact Options REDIS_ASYNC_ERROR Connection refused

*** Keywords ***
Dead Redis Setup
New Setup LUA_SCRIPT=${TESTDIR}/lua/redis.lua

+ 9
- 20
test/functional/cases/250_dns.robot Dosyayı Görüntüle

@@ -1,15 +1,16 @@
*** Settings ***
Test Setup Http Setup
Test Teardown Http Teardown
Test Setup New Setup
Test Teardown Normal Teardown
Library Process
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${CONFIG} ${TESTDIR}/configs/lua_test.conf
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${RSPAMD_LUA_SCRIPT} ${RSPAMD_TESTDIR}/lua/dns.lua
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat
${CONFIG} ${RSPAMD_TESTDIR}/configs/lua_test.conf
${MESSAGE} ${RSPAMD_TESTDIR}/messages/spam_message.eml
${RSPAMD_SCOPE} Test

*** Test Cases ***
@@ -22,15 +23,3 @@ Faulty DNS request
Scan File ${MESSAGE} To-Resolve=not-resolvable.com
Expect Symbol With Exact Options DNS_SYNC_ERROR requested record is not found
Expect Symbol With Exact Options DNS_ERROR requested record is not found

*** Keywords ***
Lua Setup
[Arguments] ${LUA_SCRIPT}
Set Suite Variable ${LUA_SCRIPT}
Generic Setup

Http Setup
New Setup LUA_SCRIPT=${TESTDIR}/lua/dns.lua URL_TLD=${URL_TLD}

Http Teardown
Normal Teardown

+ 7
- 7
test/functional/cases/260_regex.robot Dosyayı Görüntüle

@@ -1,15 +1,15 @@
*** Settings ***
Test Setup New Setup
Test Teardown Normal Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/regexp.conf
${MESSAGE} ${TESTDIR}/messages/newlines.eml
${UTF_MESSAGE} ${TESTDIR}/messages/utf.eml
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${CONFIG} ${RSPAMD_TESTDIR}/configs/regexp.conf
${MESSAGE} ${RSPAMD_TESTDIR}/messages/newlines.eml
${UTF_MESSAGE} ${RSPAMD_TESTDIR}/messages/utf.eml
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_SCOPE} Test



+ 8
- 8
test/functional/cases/270_selector.robot Dosyayı Görüntüle

@@ -1,15 +1,15 @@
*** Settings ***
Test Setup Regex Setup
Test Teardown Regex Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/selector.conf
${MESSAGE} ${TESTDIR}/messages/subject1.eml
${UTF_MESSAGE} ${TESTDIR}/messages/utf.eml
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${CONFIG} ${RSPAMD_TESTDIR}/configs/selector.conf
${MESSAGE} ${RSPAMD_TESTDIR}/messages/subject1.eml
${UTF_MESSAGE} ${RSPAMD_TESTDIR}/messages/utf.eml
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_SCOPE} Suite


@@ -22,7 +22,7 @@ Newlines

*** Keywords ***
Regex Setup
New Setup URL_TLD=${URL_TLD}
New Setup

Regex Teardown
Normal Teardown

+ 28
- 28
test/functional/cases/280_rules.robot Dosyayı Görüntüle

@@ -1,22 +1,22 @@
*** Settings ***
Suite Setup Rules Setup
Suite Teardown Rules Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/regexp.conf
${MESSAGE} ${TESTDIR}/messages/newlines.eml
${MESSAGE1} ${TESTDIR}/messages/fws_fn.eml
${MESSAGE2} ${TESTDIR}/messages/fws_fp.eml
${MESSAGE3} ${TESTDIR}/messages/fws_tp.eml
${MESSAGE4} ${TESTDIR}/messages/broken_richtext.eml
${MESSAGE5} ${TESTDIR}/messages/badboundary.eml
${MESSAGE6} ${TESTDIR}/messages/pdf_encrypted.eml
${MESSAGE7} ${TESTDIR}/messages/pdf_js.eml
${MESSAGE8} ${TESTDIR}/messages/yand_forward.eml
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${CONFIG} ${RSPAMD_TESTDIR}/configs/regexp.conf
${MESSAGE} ${RSPAMD_TESTDIR}/messages/newlines.eml
${MESSAGE1} ${RSPAMD_TESTDIR}/messages/fws_fn.eml
${MESSAGE2} ${RSPAMD_TESTDIR}/messages/fws_fp.eml
${MESSAGE3} ${RSPAMD_TESTDIR}/messages/fws_tp.eml
${MESSAGE4} ${RSPAMD_TESTDIR}/messages/broken_richtext.eml
${MESSAGE5} ${RSPAMD_TESTDIR}/messages/badboundary.eml
${MESSAGE6} ${RSPAMD_TESTDIR}/messages/pdf_encrypted.eml
${MESSAGE7} ${RSPAMD_TESTDIR}/messages/pdf_js.eml
${MESSAGE8} ${RSPAMD_TESTDIR}/messages/yand_forward.eml
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_SCOPE} Suite


@@ -57,27 +57,27 @@ PDF javascript
Expect Symbol PDF_JAVASCRIPT

BITCOIN ADDR
Scan File ${TESTDIR}/messages/btc.eml
Scan File ${RSPAMD_TESTDIR}/messages/btc.eml
Expect Symbol BITCOIN_ADDR

BITCOIN ADDR 2
Scan File ${TESTDIR}/messages/btc2.eml
Scan File ${RSPAMD_TESTDIR}/messages/btc2.eml
Expect Symbol BITCOIN_ADDR

BITCOIN ADDR 3
Scan File ${TESTDIR}/messages/btc3.eml
Scan File ${RSPAMD_TESTDIR}/messages/btc3.eml
Expect Symbol BITCOIN_ADDR

RCVD_COUNT_ONE
Scan File ${TESTDIR}/messages/btc.eml
Scan File ${RSPAMD_TESTDIR}/messages/btc.eml
Expect Symbol RCVD_COUNT_ONE

RCVD_COUNT_FIVE
Scan File ${TESTDIR}/messages/yand_forward.eml
Scan File ${RSPAMD_TESTDIR}/messages/yand_forward.eml
Expect Symbol RCVD_COUNT_FIVE

RCVD_COUNT_SEVEN
Scan File ${TESTDIR}/messages/rcvd7.eml
Scan File ${RSPAMD_TESTDIR}/messages/rcvd7.eml
Expect Symbol RCVD_COUNT_SEVEN

FROM_NEQ_ENVFROM
@@ -85,39 +85,39 @@ FROM_NEQ_ENVFROM
Expect Symbol FROM_NEQ_ENVFROM

PHISH_SENDER_A
Scan File ${TESTDIR}/messages/phish_sender.eml
Scan File ${RSPAMD_TESTDIR}/messages/phish_sender.eml
Expect Symbol With Score And Exact Options MULTIPLE_FROM 9.0 <any@attack.com> <admin@legitimate.com>
Expect Symbol With Score And Exact Options MULTIPLE_UNIQUE_HEADERS 7.0 From

PHISH_SENDER_B
Scan File ${TESTDIR}/messages/phish_sender2.eml
Scan File ${RSPAMD_TESTDIR}/messages/phish_sender2.eml
Expect Symbol BROKEN_HEADERS

PHISH_SENDER_C
Scan File ${TESTDIR}/messages/phish_sender3.eml
Scan File ${RSPAMD_TESTDIR}/messages/phish_sender3.eml
Expect Symbol BROKEN_HEADERS

PHISH_SENDER_D
Scan File ${TESTDIR}/messages/phish_sender4.eml
Scan File ${RSPAMD_TESTDIR}/messages/phish_sender4.eml
Expect Symbol BROKEN_HEADERS

PHISH_SENDER_E
Scan File ${TESTDIR}/messages/phish_sender5.eml
Scan File ${RSPAMD_TESTDIR}/messages/phish_sender5.eml
Expect Symbol MULTIPLE_FROM
Expect Symbol With Exact Options DMARC_NA Duplicate From header

PHISH_SENDER_ROUTING_PART
Scan File ${TESTDIR}/messages/phish_sender6.eml
Scan File ${RSPAMD_TESTDIR}/messages/phish_sender6.eml
Expect Symbol FROM_INVALID

REPLYTO_ADDR_EQ_FROM
Scan File ${TESTDIR}/messages/replyto_addr_eq_from.eml
Scan File ${RSPAMD_TESTDIR}/messages/replyto_addr_eq_from.eml
Expect Symbol REPLYTO_ADDR_EQ_FROM


*** Keywords ***
Rules Setup
New Setup URL_TLD=${URL_TLD}
New Setup

Rules Teardown
Normal Teardown

+ 8
- 12
test/functional/cases/281_fnames.robot Dosyayı Görüntüle

@@ -1,23 +1,19 @@
*** Settings ***
Suite Setup FNames Setup
Suite Setup New Setup
Suite Teardown Normal Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/lua_script.conf
${LUA_SCRIPT} ${TESTDIR}/lua/test_fname.lua
${CONFIG} ${RSPAMD_TESTDIR}/configs/lua_script.conf
${RSPAMD_LUA_SCRIPT} ${RSPAMD_TESTDIR}/lua/test_fname.lua
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat


*** Test Cases ***
FILE NAMES
Scan File ${TESTDIR}/messages/fname.eml
Scan File ${RSPAMD_TESTDIR}/messages/fname.eml
Expect Symbol With Option TEST_FNAME [삼성생명]2020.08.14 데일리 경제뉴스.pdf
Expect Symbol With Option TEST_FNAME 01029_402110_10620_RGT06902_PRT180ML_20200803_101820.pdf

*** Keyword ***
FNames Setup
New Setup LUA_SCRIPT=${LUA_SCRIPT}

+ 7
- 7
test/functional/cases/290_greylist.robot Dosyayı Görüntüle

@@ -1,16 +1,16 @@
*** Settings ***
Suite Setup Greylist Setup
Suite Teardown Greylist Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/greylist.conf
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${CONFIG} ${RSPAMD_TESTDIR}/configs/greylist.conf
${MESSAGE} ${RSPAMD_TESTDIR}/messages/spam_message.eml
${REDIS_SCOPE} Suite
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat

*** Test Cases ***
GREYLIST NEW
@@ -28,7 +28,7 @@ GREYLIST PASS

*** Keywords ***
Greylist Setup
New Setup URL_TLD=${URL_TLD}
New Setup
Run Redis

Greylist Teardown

+ 13
- 13
test/functional/cases/300_rbl.robot Dosyayı Görüntüle

@@ -1,15 +1,15 @@
*** Settings ***
Suite Setup Rbl Setup
Suite Teardown Rbl Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/rbl.conf
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${CONFIG} ${RSPAMD_TESTDIR}/configs/rbl.conf
${MESSAGE} ${RSPAMD_TESTDIR}/messages/spam_message.eml
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat

*** Test Cases ***
RBL FROM MISS
@@ -39,19 +39,19 @@ RBL FROM HIT WL
Expect Symbol With Exact Options FAKE_WL_RBL_CODE_2 4.3.2.4:from

EMAILBL Compose Map 1
Scan File ${TESTDIR}/messages/url14.eml
Scan File ${RSPAMD_TESTDIR}/messages/url14.eml
Expect Symbol With Exact Options RSPAMD_EMAILBL dirty.sanchez.com:email

EMAILBL Compose Map 2
Scan File ${TESTDIR}/messages/url15.eml
Scan File ${RSPAMD_TESTDIR}/messages/url15.eml
Expect Symbol With Exact Options RSPAMD_EMAILBL very.dirty.sanchez.com:email

EMAILBL Compose Map 3
Scan File ${TESTDIR}/messages/url16.eml
Scan File ${RSPAMD_TESTDIR}/messages/url16.eml
Expect Symbol With Exact Options RSPAMD_EMAILBL 41.black.sanchez.com:email

CONTENT URLS
Scan File ${TESTDIR}/messages/content_url.eml
Scan File ${RSPAMD_TESTDIR}/messages/content_url.eml
Expect Symbol With Exact Options URIBL_NOCONTENT example.org:url
Expect Symbol With Option URIBL_WITHCONTENT example.com:url
Expect Symbol With Option URIBL_WITHCONTENT example.org:url
@@ -59,19 +59,19 @@ CONTENT URLS
Expect Symbol With Exact Options URIBL_CONTENTONLY example.com:url

SELECTORS
Scan File ${TESTDIR}/messages/btc.eml From=user@example.com Helo=example.org
Scan File ${RSPAMD_TESTDIR}/messages/btc.eml From=user@example.com Helo=example.org
Expect Symbol With Exact Options RBL_SELECTOR_SINGLE example.org:selector
Expect Symbol With Option RBL_SELECTOR_MULTIPLE example.com:sel_from
Expect Symbol With Option RBL_SELECTOR_MULTIPLE example.org:sel_helo

SELECTORS COMBINED
Scan File ${TESTDIR}/messages/btc.eml From=user@example.org Helo=example.org
Scan File ${RSPAMD_TESTDIR}/messages/btc.eml From=user@example.org Helo=example.org
Expect Symbol With Option RBL_SELECTOR_MULTIPLE example.org:sel_from
Expect Symbol With Option RBL_SELECTOR_MULTIPLE example.org:sel_helo

*** Keywords ***
Rbl Setup
New Setup URL_TLD=${URL_TLD}
New Setup

Rbl Teardown
Normal Teardown

+ 9
- 8
test/functional/cases/310_udp.robot Dosyayı Görüntüle

@@ -2,15 +2,16 @@
Test Setup UDP Setup
Test Teardown UDP Teardown
Library Process
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${CONFIG} ${TESTDIR}/configs/lua_test.conf
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat
${CONFIG} ${RSPAMD_TESTDIR}/configs/lua_test.conf
${MESSAGE} ${RSPAMD_TESTDIR}/messages/spam_message.eml
${RSPAMD_SCOPE} Test
${RSPAMD_LUA_SCRIPT} ${RSPAMD_TESTDIR}/lua/udp.lua

*** Test Cases ***
Simple UDP request
@@ -28,7 +29,7 @@ Errored UDP request
*** Keywords ***
UDP Setup
Run Dummy UDP
New Setup LUA_SCRIPT=${TESTDIR}/lua/udp.lua URL_TLD=${URL_TLD}
New Setup

UDP Teardown
${udp_pid} = Get File /tmp/dummy_udp.pid
@@ -37,5 +38,5 @@ UDP Teardown

Run Dummy UDP
[Arguments]
${result} = Start Process ${TESTDIR}/util/dummy_udp.py 5005
${result} = Start Process ${RSPAMD_TESTDIR}/util/dummy_udp.py 5005
Wait Until Created /tmp/dummy_udp.pid

+ 7
- 7
test/functional/cases/320_arc_signing/001_simple.robot Dosyayı Görüntüle

@@ -1,17 +1,17 @@
*** Settings ***
Suite Setup New Setup
Suite Teardown Normal Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/arc_signing/simple.conf
${MESSAGE} ${TESTDIR}/messages/dmarc/fail_none.eml
${MESSAGE_FAIL} ${TESTDIR}/messages/dmarc/fail_none1.eml
${CONFIG} ${RSPAMD_TESTDIR}/configs/arc_signing/simple.conf
${MESSAGE} ${RSPAMD_TESTDIR}/messages/dmarc/fail_none.eml
${MESSAGE_FAIL} ${RSPAMD_TESTDIR}/messages/dmarc/fail_none1.eml
${REDIS_SCOPE} Suite
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat

*** Test Cases ***
TEST SIGNED

+ 7
- 7
test/functional/cases/320_arc_signing/002_redis.robot Dosyayı Görüntüle

@@ -1,16 +1,16 @@
*** Settings ***
Suite Setup ARC Signing Setup
Suite Teardown Normal Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/arc_signing/redis.conf
${MESSAGE} ${TESTDIR}/messages/dmarc/fail_none.eml
${CONFIG} ${RSPAMD_TESTDIR}/configs/arc_signing/redis.conf
${MESSAGE} ${RSPAMD_TESTDIR}/messages/dmarc/fail_none.eml
${REDIS_SCOPE} Suite
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat

*** Test Cases ***
TEST SIGNED
@@ -25,6 +25,6 @@ TEST NOT SIGNED - USERNAME WRONG DOMAIN
ARC Signing Setup
Run Redis
Redis HSET TEST_DKIM_SELECTORS cacophony.za.org arc
${key} = Get File ${TESTDIR}/configs/dkim.key
${key} = Get File ${RSPAMD_TESTDIR}/configs/dkim.key
Redis HSET TEST_DKIM_KEYS arc.cacophony.za.org ${key}
New Setup

+ 8
- 8
test/functional/cases/321_arc_check.robot Dosyayı Görüntüle

@@ -1,25 +1,25 @@
*** Settings ***
Suite Setup ARC Setup
Suite Teardown Simple Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/arc.conf
${CONFIG} ${RSPAMD_TESTDIR}/configs/arc.conf
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../../contrib/publicsuffix/effective_tld_names.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../../contrib/publicsuffix/effective_tld_names.dat

*** Test Cases ***
ARC ALLOW CHECK
Scan File ${TESTDIR}/messages/arcallow.eml
Scan File ${RSPAMD_TESTDIR}/messages/arcallow.eml
Expect Symbol ARC_ALLOW

ARC BAD CHECK
Scan File ${TESTDIR}/messages/arcbad.eml
Scan File ${RSPAMD_TESTDIR}/messages/arcbad.eml
Expect Symbol ARC_INVALID


*** Keywords ***
ARC Setup
New Setup URL_TLD=${URL_TLD}
New Setup

+ 7
- 7
test/functional/cases/330_neural/001_autotrain.robot Dosyayı Görüntüle

@@ -2,14 +2,14 @@
Suite Setup Neural Setup
Suite Teardown Normal Teardown
Library Process
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${CONFIG} ${TESTDIR}/configs/neural.conf
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat
${CONFIG} ${RSPAMD_TESTDIR}/configs/neural.conf
${MESSAGE} ${RSPAMD_TESTDIR}/messages/spam_message.eml
${REDIS_SCOPE} Suite
${RSPAMD_SCOPE} Suite

@@ -65,4 +65,4 @@ Check Neural SPAM INVERSE
*** Keywords ***
Neural Setup
Run Redis
New Setup URL_TLD=${URL_TLD}
New Setup

+ 11
- 11
test/functional/cases/330_neural/002_manualtrain.robot Dosyayı Görüntüle

@@ -2,14 +2,14 @@
Suite Setup Neural Setup
Suite Teardown Normal Teardown
Library Process
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${CONFIG} ${TESTDIR}/configs/neural_noauto.conf
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat
${CONFIG} ${RSPAMD_TESTDIR}/configs/neural_noauto.conf
${MESSAGE} ${RSPAMD_TESTDIR}/messages/spam_message.eml
${REDIS_SCOPE} Suite
${RSPAMD_SCOPE} Suite

@@ -25,9 +25,9 @@ Collect training vectors & train manually
# Save neural inputs for later
${HAM_ROW} = Get File ${SCAN_RESULT}[symbols][SAVE_NN_ROW][options][0]
Remove File ${SCAN_RESULT}[symbols][SAVE_NN_ROW][options][0]
${HAM_ROW} = Run ${RSPAMADM} lua -a ${HAM_ROW} ${TESTDIR}/util/nn_unpack.lua
${HAM_ROW} = Run ${RSPAMADM} lua -a ${HAM_ROW} ${RSPAMD_TESTDIR}/util/nn_unpack.lua
${HAM_ROW} = Evaluate json.loads("${HAM_ROW}")
${SPAM_ROW} = Run ${RSPAMADM} lua -a ${SPAM_ROW} ${TESTDIR}/util/nn_unpack.lua
${SPAM_ROW} = Run ${RSPAMADM} lua -a ${SPAM_ROW} ${RSPAMD_TESTDIR}/util/nn_unpack.lua
${SPAM_ROW} = Evaluate json.loads("${SPAM_ROW}")
${HAM_VEC} = Evaluate [${HAM_ROW}] * 10
${SPAM_VEC} = Evaluate [${SPAM_ROW}] * 10
@@ -35,7 +35,7 @@ Collect training vectors & train manually
# Save variables for use in inverse training
Set Suite Variable ${HAM_VEC}
Set Suite Variable ${SPAM_VEC}
HTTP POST ${LOCAL_ADDR} ${PORT_CONTROLLER} /plugins/neural/learn ${json1}
HTTP POST ${RSPAMD_LOCAL_ADDR} ${RSPAMD_PORT_CONTROLLER} /plugins/neural/learn ${json1}
Sleep 2s Wait for neural to be loaded

Check Neural HAM
@@ -50,7 +50,7 @@ Check Neural SPAM

Train inverse
${json2} = Evaluate json.dumps({"spam_vec": ${HAM_VEC}, "ham_vec": ${SPAM_VEC}, "rule": "SHORT"})
HTTP POST ${LOCAL_ADDR} ${PORT_CONTROLLER} /plugins/neural/learn ${json2}
HTTP POST ${RSPAMD_LOCAL_ADDR} ${RSPAMD_PORT_CONTROLLER} /plugins/neural/learn ${json2}
Sleep 2s Wait for neural to be loaded

Check Neural HAM - inverse
@@ -66,4 +66,4 @@ Check Neural SPAM - inverse
*** Keywords ***
Neural Setup
Run Redis
New Setup URL_TLD=${URL_TLD}
New Setup

+ 30
- 30
test/functional/cases/340_surbl.robot Dosyayı Görüntüle

@@ -1,45 +1,45 @@
*** Settings ***
Suite Setup Surbl Setup
Suite Teardown Surbl Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/surbl.conf
${CONFIG} ${RSPAMD_TESTDIR}/configs/surbl.conf
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat

*** Test Cases ***
SURBL resolve ip
Scan File ${TESTDIR}/messages/url7.eml
Scan File ${RSPAMD_TESTDIR}/messages/url7.eml
Expect Symbol With Exact Options URIBL_SBL_CSS 8.8.8.9:example.ru:url
Expect Symbol With Exact Options URIBL_XBL 8.8.8.8:example.ru:url
Expect Symbol With Exact Options URIBL_PBL 8.8.8.8:example.ru:url

SURBL Example.com domain
Scan File ${TESTDIR}/messages/url4.eml
Scan File ${RSPAMD_TESTDIR}/messages/url4.eml
Expect Symbol RSPAMD_URIBL
Expect Symbol DBL_SPAM
Do Not Expect Symbol DBL_PHISH
Do Not Expect Symbol URIBL_BLACK

SURBL Example.net domain
Scan File ${TESTDIR}/messages/url5.eml
Scan File ${RSPAMD_TESTDIR}/messages/url5.eml
Expect Symbol DBL_PHISH
Do Not Expect Symbol DBL_SPAM
Do Not Expect Symbol RSPAMD_URIBL
Do Not Expect Symbol URIBL_BLACK

SURBL Example.org domain
Scan File ${TESTDIR}/messages/url6.eml
Scan File ${RSPAMD_TESTDIR}/messages/url6.eml
Expect Symbol URIBL_BLACK
Do Not Expect Symbol DBL_SPAM
Do Not Expect Symbol RSPAMD_URIBL
Do Not Expect Symbol DBL_PHISH

SURBL Example.ru domain
Scan File ${TESTDIR}/messages/url7.eml
Scan File ${RSPAMD_TESTDIR}/messages/url7.eml
Expect Symbol URIBL_GREY
Expect Symbol URIBL_RED
Do Not Expect Symbol DBL_SPAM
@@ -48,7 +48,7 @@ SURBL Example.ru domain
Do Not Expect Symbol URIBL_BLACK

SURBL Example.ru ZEN domain
Scan File ${TESTDIR}/messages/url7.eml
Scan File ${RSPAMD_TESTDIR}/messages/url7.eml
Expect Symbol URIBL_SBL_CSS
Expect Symbol URIBL_XBL
Expect Symbol URIBL_PBL
@@ -59,7 +59,7 @@ SURBL Example.ru ZEN domain
Do Not Expect Symbol URIBL_BLACK

SURBL Example.com domain image false
Scan File ${TESTDIR}/messages/urlimage.eml
Scan File ${RSPAMD_TESTDIR}/messages/urlimage.eml
Expect Symbol RSPAMD_URIBL_IMAGES
Do Not Expect Symbol DBL_SPAM
Do Not Expect Symbol RSPAMD_URIBL
@@ -67,7 +67,7 @@ SURBL Example.com domain image false
Do Not Expect Symbol URIBL_BLACK

SURBL @example.com mail html
Scan File ${TESTDIR}/messages/mailadr.eml
Scan File ${RSPAMD_TESTDIR}/messages/mailadr.eml
Expect Symbol RSPAMD_URIBL
Expect Symbol With Exact Options DBL_SPAM example.com:email
Do Not Expect Symbol RSPAMD_URIBL_IMAGES
@@ -75,7 +75,7 @@ SURBL @example.com mail html
Do Not Expect Symbol URIBL_BLACK

SURBL @example.com mail text
Scan File ${TESTDIR}/messages/mailadr2.eml
Scan File ${RSPAMD_TESTDIR}/messages/mailadr2.eml
Expect Symbol RSPAMD_URIBL
Expect Symbol With Exact Options DBL_SPAM example.com:email
Do Not Expect Symbol RSPAMD_URIBL_IMAGES
@@ -83,87 +83,87 @@ SURBL @example.com mail text
Do Not Expect Symbol URIBL_BLACK

SURBL example.com not encoded url in subject
Scan File ${TESTDIR}/messages/urlinsubject.eml
Scan File ${RSPAMD_TESTDIR}/messages/urlinsubject.eml
Expect Symbol RSPAMD_URIBL
Expect Symbol DBL_SPAM
Do Not Expect Symbol DBL_PHISH
Do Not Expect Symbol URIBL_BLACK

SURBL example.com encoded url in subject
Scan File ${TESTDIR}/messages/urlinsubjectencoded.eml
Scan File ${RSPAMD_TESTDIR}/messages/urlinsubjectencoded.eml
Expect Symbol RSPAMD_URIBL
Expect Symbol DBL_SPAM
Do Not Expect Symbol DBL_PHISH
Do Not Expect Symbol URIBL_BLACK

WHITELIST
Scan File ${TESTDIR}/messages/whitelist.eml
Scan File ${RSPAMD_TESTDIR}/messages/whitelist.eml
Do Not Expect Symbol RSPAMD_URIBL
Do Not Expect Symbol DBL_SPAM
Do Not Expect Symbol RSPAMD_URIBL_IMAGES

EMAILBL full address & domain only
Scan File ${TESTDIR}/messages/emailbltext.eml
Scan File ${RSPAMD_TESTDIR}/messages/emailbltext.eml
Expect Symbol RSPAMD_EMAILBL_FULL
Expect Symbol RSPAMD_EMAILBL_DOMAINONLY

EMAILBL full subdomain address
Scan File ${TESTDIR}/messages/emailbltext2.eml
Scan File ${RSPAMD_TESTDIR}/messages/emailbltext2.eml
Expect Symbol RSPAMD_EMAILBL_FULL

EMAILBL full subdomain address & domain only
Scan File ${TESTDIR}/messages/emailbltext3.eml
Scan File ${RSPAMD_TESTDIR}/messages/emailbltext3.eml
Expect Symbol With Exact Options RSPAMD_EMAILBL_DOMAINONLY baddomain.com:email
Expect Symbol With Exact Options RSPAMD_EMAILBL_FULL user.subdomain.baddomain.com:email

EMAILBL REPLY TO full address
Scan File ${TESTDIR}/messages/replyto.eml
Scan File ${RSPAMD_TESTDIR}/messages/replyto.eml
Expect Symbol RSPAMD_EMAILBL_FULL
Do Not Expect Symbol RSPAMD_EMAILBL_DOMAINONLY

EMAILBL REPLY TO domain only
Scan File ${TESTDIR}/messages/replyto2.eml
Scan File ${RSPAMD_TESTDIR}/messages/replyto2.eml
Expect Symbol RSPAMD_EMAILBL_DOMAINONLY
Do Not Expect Symbol RSPAMD_EMAILBL_FULL

EMAILBL REPLY TO full subdomain address
Scan File ${TESTDIR}/messages/replytosubdomain.eml
Scan File ${RSPAMD_TESTDIR}/messages/replytosubdomain.eml
Expect Symbol RSPAMD_EMAILBL_FULL
Do Not Expect Symbol RSPAMD_EMAILBL_DOMAINONLY

SURBL IDN domain
Scan File ${TESTDIR}/messages/url8.eml
Scan File ${RSPAMD_TESTDIR}/messages/url8.eml
Expect Symbol RSPAMD_URIBL
Expect Symbol DBL_SPAM
Do Not Expect Symbol DBL_PHISH
Do Not Expect Symbol URIBL_BLACK

SURBL IDN Punycode domain
Scan File ${TESTDIR}/messages/url9.eml
Scan File ${RSPAMD_TESTDIR}/messages/url9.eml
Expect Symbol RSPAMD_URIBL
Expect Symbol DBL_SPAM
Do Not Expect Symbol DBL_PHISH
Do Not Expect Symbol URIBL_BLACK

SURBL html entity&shy
Scan File ${TESTDIR}/messages/url10.eml
Scan File ${RSPAMD_TESTDIR}/messages/url10.eml
Expect Symbol RSPAMD_URIBL

SURBL url compose map 1
Scan File ${TESTDIR}/messages/url11.eml
Scan File ${RSPAMD_TESTDIR}/messages/url11.eml
Expect Symbol With Exact Options BAD_SUBDOMAIN clean.dirty.sanchez.com:url

SURBL url compose map 2
Scan File ${TESTDIR}/messages/url12.eml
Scan File ${RSPAMD_TESTDIR}/messages/url12.eml
Expect Symbol With Exact Options BAD_SUBDOMAIN 4.very.dirty.sanchez.com:url

SURBL url compose map 3
Scan File ${TESTDIR}/messages/url13.eml
Scan File ${RSPAMD_TESTDIR}/messages/url13.eml
Expect Symbol With Exact Options BAD_SUBDOMAIN 41.black.sanchez.com:url

*** Keywords ***
Surbl Setup
New Setup URL_TLD=${URL_TLD}
New Setup

Surbl Teardown
Normal Teardown

+ 8
- 8
test/functional/cases/350_magic.robot Dosyayı Görüntüle

@@ -1,19 +1,19 @@
*** Settings ***
Suite Setup Magic Setup
Suite Teardown Simple Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/lua_script.conf
${LUA_SCRIPT} ${TESTDIR}/lua/magic.lua
${CONFIG} ${RSPAMD_TESTDIR}/configs/lua_script.conf
${RSPAMD_LUA_SCRIPT} ${RSPAMD_TESTDIR}/lua/magic.lua
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat

*** Test Cases ***
Magic detections bundle 1
Scan File ${TESTDIR}/messages/gargantua.eml
Scan File ${RSPAMD_TESTDIR}/messages/gargantua.eml
Expect Symbols MAGIC_SYM_ZIP_2
... MAGIC_SYM_RAR_3
... MAGIC_SYM_EXE_4
@@ -72,4 +72,4 @@ Magic detections bundle 1

*** Keywords ***
Magic Setup
New Setup LUA_SCRIPT=${LUA_SCRIPT}
New Setup

+ 6
- 6
test/functional/cases/360_force_actions.robot Dosyayı Görüntüle

@@ -1,14 +1,14 @@
*** Settings ***
Suite Setup Force Actions Setup
Suite Teardown Force Actions Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
Library ${RSPAMD_TESTDIR}/lib/rspamd.py
Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
Variables ${RSPAMD_TESTDIR}/lib/vars.py

*** Variables ***
${CONFIG} ${TESTDIR}/configs/force_actions.conf
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
${MESSAGE} ${TESTDIR}/messages/url7.eml
${CONFIG} ${RSPAMD_TESTDIR}/configs/force_actions.conf
${RSPAMD_URL_TLD} ${RSPAMD_TESTDIR}/../lua/unit/test_tld.dat
${MESSAGE} ${RSPAMD_TESTDIR}/messages/url7.eml
${RSPAMD_SCOPE} Suite

*** Test Cases ***

+ 4
- 4
test/functional/cases/__init__.robot Dosyayı Görüntüle

@@ -5,15 +5,15 @@ Variables ../lib/vars.py

*** Keywords ***
Export Global Variables
${TESTDIR} = Get Test Directory
${RSPAMD_TESTDIR} = Get Test Directory
${TOPDIR} = Get Top Dir
${RSPAMADM} = Get Rspamadm
${RSPAMC} = Get Rspamc
${RSPAMD} = Get Rspamd
${INSTALLROOT} = Get Install Root
Set Global Variable ${INSTALLROOT}
${RSPAMD_INSTALLROOT} = Get Install Root
Set Global Variable ${RSPAMD_INSTALLROOT}
Set Global Variable ${RSPAMADM}
Set Global Variable ${RSPAMC}
Set Global Variable ${RSPAMD}
Set Global Variable ${TESTDIR}
Set Global Variable ${RSPAMD_TESTDIR}
Set Global Variable ${TOPDIR}

+ 4
- 4
test/functional/configs/clickhouse-config.xml Dosyayı Görüntüle

@@ -3,8 +3,8 @@
<logger>
<!-- Possible levels: https://github.com/pocoproject/poco/blob/develop/Foundation/include/Poco/Logger.h#L105 -->
<level>debug</level>
<log>${TMPDIR}/clickhouse/clickhouse-server.log</log>
<errorlog>${TMPDIR}/clickhouse/clickhouse-server.err.log</errorlog>
<log>${RSPAMD_TMPDIR}/clickhouse/clickhouse-server.log</log>
<errorlog>${RSPAMD_TMPDIR}/clickhouse/clickhouse-server.err.log</errorlog>
<size>1000M</size>
<count>10</count>
<!-- <console>1</console> --> <!-- Default behavior is autodetection (log to console if not daemon mode and is tty) -->
@@ -14,7 +14,7 @@
<http_port>${CLICKHOUSE_PORT}</http_port>

<!-- Path to configuration file with users, access rights, profiles of settings, quotas. -->
<users_config>${TMPDIR}/users.xml</users_config>
<users_config>${RSPAMD_TMPDIR}/users.xml</users_config>

<!-- <listen_reuse_port>0</listen_reuse_port> -->

@@ -37,7 +37,7 @@
<mark_cache_size>5368709120</mark_cache_size>

<!-- Path to data directory, with trailing slash. -->
<path>${TMPDIR}/clickhouse/</path>
<path>${RSPAMD_TMPDIR}/clickhouse/</path>

<!-- Default profile of settings. -->
<default_profile>default</default_profile>

+ 7
- 7
test/functional/configs/clickhouse.conf Dosyayı Görüntüle

@@ -1,6 +1,6 @@
options = {
filters = ["spf", "dkim", "regexp"]
pidfile = "${TMPDIR}/rspamd.pid"
pidfile = "${RSPAMD_TMPDIR}/rspamd.pid"
lua_path = "${INSTALLROOT}/share/rspamd/lib/?.lua"
dns {
nameserver = ["8.8.8.8", "8.8.4.4"];
@@ -34,7 +34,7 @@ clickhouse {
logging = {
type = "file",
level = "debug"
filename = "${TMPDIR}/rspamd.log"
filename = "${RSPAMD_TMPDIR}/rspamd.log"
}
metric = {
name = "default",
@@ -45,19 +45,19 @@ metric = {
}
worker {
type = normal
bind_socket = ${LOCAL_ADDR}:${PORT_NORMAL}
bind_socket = ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_NORMAL}
count = 1
task_timeout = 60s;
}
worker {
type = controller
bind_socket = ${LOCAL_ADDR}:${PORT_CONTROLLER}
bind_socket = ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_CONTROLLER}
count = 1
secure_ip = ["127.0.0.1", "::1"];
stats_path = "${TMPDIR}/stats.ucl"
stats_path = "${RSPAMD_TMPDIR}/stats.ucl"
}
lua = "${TESTDIR}/lua/test_coverage.lua";
lua = "${RSPAMD_TESTDIR}/lua/test_coverage.lua";
modules {
path = "${TESTDIR}/../../src/plugins/lua/"
path = "${RSPAMD_TESTDIR}/../../src/plugins/lua/"
}
lua = "${INSTALLROOT}/share/rspamd/rules/rspamd.lua"

+ 1
- 1
test/functional/configs/fuzzy_master_worker.conf Dosyayı Görüntüle

@@ -7,6 +7,6 @@ sync_keypair {
}
slave {
name = "slave1";
hosts = "${LOCAL_ADDR}:${PORT_FUZZY_SLAVE}";
hosts = "${RSPAMD_LOCAL_ADDR}:${PORT_FUZZY_SLAVE}";
key = "caen11q4eczdqgsb8u55zmmoh4z5qxd61y1rph7pz1fcubmfccdy";
}

+ 1
- 1
test/functional/configs/fuzzy_slave_worker.conf Dosyayı Görüntüle

@@ -7,5 +7,5 @@ sync_keypair {
type = "kex";
}

masters = "${LOCAL_ADDR}";
masters = "${RSPAMD_LOCAL_ADDR}";
master_key = "kmtnjffjzq9bq8qe14ii4gb4e1ihuq84ubfibe79ba85ob5nr3my";

+ 3
- 3
test/functional/configs/nginx.conf Dosyayı Görüntüle

@@ -1,8 +1,8 @@
events {
}
worker_processes 1;
pid ${TMPDIR}/nginx.pid;
error_log ${TMPDIR}/error.log;
pid ${RSPAMD_TMPDIR}/nginx.pid;
error_log ${RSPAMD_TMPDIR}/error.log;
http {
default_type application/octet-stream;
sendfile on;
@@ -13,7 +13,7 @@ http {
server_name localhost;

location / {
root ${TMPDIR};
root ${RSPAMD_TMPDIR};
autoindex on;
}
}

+ 7
- 7
test/functional/configs/pluginsplus.conf Dosyayı Görüntüle

@@ -1,7 +1,7 @@
options = {
filters = ["spf", "dkim", "regexp"]
url_tld = "${URL_TLD}"
pidfile = "${TMPDIR}/rspamd.pid"
url_tld = "${RSPAMD_URL_TLD}"
pidfile = "${RSPAMD_TMPDIR}/rspamd.pid"
lua_path = "${INSTALLROOT}/share/rspamd/lib/?.lua"
dns {
nameserver = ["8.8.8.8", "8.8.4.4"];
@@ -12,7 +12,7 @@ options = {
logging = {
type = "file",
level = "debug"
filename = "${TMPDIR}/rspamd.log"
filename = "${RSPAMD_TMPDIR}/rspamd.log"
}
metric = {
name = "default",
@@ -23,19 +23,19 @@ metric = {
}
worker {
type = normal
bind_socket = ${LOCAL_ADDR}:${PORT_NORMAL}
bind_socket = ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_NORMAL}
count = 1
task_timeout = 60s;
}
worker {
type = controller
bind_socket = ${LOCAL_ADDR}:${PORT_CONTROLLER}
bind_socket = ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_CONTROLLER}
count = 1
secure_ip = ["127.0.0.1", "::1"];
stats_path = "${TMPDIR}/stats.ucl"
stats_path = "${RSPAMD_TMPDIR}/stats.ucl"
}
modules {
path = "${TESTDIR}/../../src/plugins/lua/"
path = "${RSPAMD_TESTDIR}/../../src/plugins/lua/"
}
lua = "${LUA}";
${PLUGIN_CONFIG}

+ 5
- 5
test/functional/configs/redis-server.conf Dosyayı Görüntüle

@@ -1,7 +1,7 @@
bind ${REDIS_ADDR}
bind ${RSPAMD_REDIS_ADDR}
daemonize yes
loglevel debug
logfile ${TMPDIR}/redis.log
pidfile ${TMPDIR}/redis.pid
port ${REDIS_PORT}
dir ${TMPDIR}
logfile ${RSPAMD_TMPDIR}/redis.log
pidfile ${RSPAMD_TMPDIR}/redis.pid
port ${RSPAMD_REDIS_PORT}
dir ${RSPAMD_TMPDIR}

+ 1
- 1
test/functional/configs/url_tags.conf Dosyayı Görüntüle

@@ -1,7 +1,7 @@
url_tags {
}
redis {
servers = "${REDIS_ADDR}:${REDIS_PORT}";
servers = "${RSPAMD_REDIS_ADDR}:${RSPAMD_REDIS_PORT}";
}

options {

+ 5
- 5
test/functional/lib/rspamd.py Dosyayı Görüntüle

@@ -106,7 +106,7 @@ def make_temporary_directory():
"""Creates and returns a unique temporary directory

Example:
| ${TMPDIR} = | Make Temporary Directory |
| ${RSPAMD_TMPDIR} = | Make Temporary Directory |
"""
dirname = tempfile.mkdtemp()
os.chmod(dirname, stat.S_IRUSR |
@@ -140,8 +140,8 @@ def rspamc(addr, port, filename):
return r.decode('utf-8')

def Scan_File(filename, **headers):
addr = BuiltIn().get_variable_value("${LOCAL_ADDR}")
port = BuiltIn().get_variable_value("${PORT_NORMAL}")
addr = BuiltIn().get_variable_value("${RSPAMD_LOCAL_ADDR}")
port = BuiltIn().get_variable_value("${RSPAMD_PORT_NORMAL}")
headers["Queue-Id"] = BuiltIn().get_variable_value("${TEST_NAME}")
c = http.client.HTTPConnection("%s:%s" % (addr, port))
c.request("POST", "/checkv2", open(filename, "rb"), headers)
@@ -314,7 +314,7 @@ LUA_STATSFILE = "luacov.stats.out"

def collect_lua_coverage():
"""
Merges ${TMPDIR}/*.luacov.stats.out into luacov.stats.out
Merges ${RSPAMD_TMPDIR}/*.luacov.stats.out into luacov.stats.out

Example:
| Collect Lua Coverage |
@@ -324,7 +324,7 @@ def collect_lua_coverage():
# logger.info("ENABLE_LUA_COVERAGE is not present in env, will not collect Lua coverage")
# return

tmp_dir = BuiltIn().get_variable_value("${TMPDIR}")
tmp_dir = BuiltIn().get_variable_value("${RSPAMD_TMPDIR}")

coverage = {}
input_files = []

+ 46
- 53
test/functional/lib/rspamd.robot Dosyayı Görüntüle

@@ -5,7 +5,7 @@ Library Process

*** Keywords ***
Check Controller Errors
@{result} = HTTP GET ${LOCAL_ADDR} ${PORT_CONTROLLER} /errors
@{result} = HTTP GET ${RSPAMD_LOCAL_ADDR} ${RSPAMD_PORT_CONTROLLER} /errors
Should Be Equal As Integers ${result}[0] 200
Log ${result}[1]

@@ -141,6 +141,12 @@ Expect Symbol With Score And Exact Options
Expect Symbol With Exact Options ${symbol} @{options}
Expect Symbol With Score ${symbol} ${score}

Export Rspamd Variables To Environment
&{all_vars} = Get Variables no_decoration=True
FOR ${k} ${v} IN &{all_vars}
Run Keyword If '${k}'.startswith("RSPAMD_") Set Environment Variable ${k} ${v}
END

Export Scoped Variables
[Arguments] ${scope} &{vars}
FOR ${k} ${v} IN &{vars}
@@ -155,10 +161,10 @@ Generic Teardown
#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
Save Run Results ${RSPAMD_TMPDIR} rspamd.conf rspamd.log redis.log clickhouse-config.xml
Log does not contain segfault record
Collect Lua Coverage
Cleanup Temporary Directory ${TMPDIR}
Cleanup Temporary Directory ${RSPAMD_TMPDIR}

# Possibly deal with Redis
${redis_tmpdir} = Get Variable Value ${REDIS_TMPDIR}
@@ -168,33 +174,27 @@ Generic Teardown
Shutdown Process With Children ${redis_pid}

Log does not contain segfault record
${log} = Get File ${TMPDIR}/rspamd.log encoding_errors=ignore
${log} = Get File ${RSPAMD_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}
${RSPAMD_TMPDIR} = Make Temporary Directory
Set Directory Ownership ${RSPAMD_TMPDIR} ${RSPAMD_USER} ${RSPAMD_GROUP}

# 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}
# Export ${RSPAMD_TMPDIR} to appropriate scope according to ${RSPAMD_SCOPE}
Export Scoped Variables ${RSPAMD_SCOPE} RSPAMD_TMPDIR=${RSPAMD_TMPDIR}

New Run Rspamd &{kw}
New Run Rspamd

Normal Teardown
Generic Teardown

Redis HSET
[Arguments] ${hash} ${key} ${value}
${result} = Run Process redis-cli -h ${REDIS_ADDR} -p ${REDIS_PORT}
${result} = Run Process redis-cli -h ${RSPAMD_REDIS_ADDR} -p ${RSPAMD_REDIS_PORT}
... HSET ${hash} ${key} ${value}
Run Keyword If ${result.rc} != 0 Log ${result.stderr}
Log ${result.stdout}
@@ -202,93 +202,86 @@ Redis HSET

Redis SET
[Arguments] ${key} ${value}
${result} = Run Process redis-cli -h ${REDIS_ADDR} -p ${REDIS_PORT}
${result} = Run Process redis-cli -h ${RSPAMD_REDIS_ADDR} -p ${RSPAMD_REDIS_PORT}
... SET ${key} ${value}
Run Keyword If ${result.rc} != 0 Log ${result.stderr}
Log ${result.stdout}
Should Be Equal As Integers ${result.rc} 0

Run Redis
${TMPDIR} = Make Temporary Directory
${template} = Get File ${TESTDIR}/configs/redis-server.conf
${RSPAMD_TMPDIR} = Make Temporary Directory
${template} = Get File ${RSPAMD_TESTDIR}/configs/redis-server.conf
${config} = Replace Variables ${template}
Create File ${TMPDIR}/redis-server.conf ${config}
Create File ${RSPAMD_TMPDIR}/redis-server.conf ${config}
Log ${config}
${result} = Run Process redis-server ${TMPDIR}/redis-server.conf
${result} = Run Process redis-server ${RSPAMD_TMPDIR}/redis-server.conf
Run Keyword If ${result.rc} != 0 Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
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
Wait Until Keyword Succeeds 5x 1 sec Check Pidfile ${RSPAMD_TMPDIR}/redis.pid timeout=0.5s
Wait Until Keyword Succeeds 5x 1 sec Redis Check ${RSPAMD_REDIS_ADDR} ${RSPAMD_REDIS_PORT}
${REDIS_PID} = Get File ${RSPAMD_TMPDIR}/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
Export Scoped Variables ${REDIS_SCOPE} REDIS_PID=${REDIS_PID} REDIS_TMPDIR=${RSPAMD_TMPDIR}
${redis_log} = Get File ${RSPAMD_TMPDIR}/redis.log
Log ${redis_log}

Run Rspamd
[Arguments] &{kwargs}
New Run Rspamd &{kwargs}
New Run Rspamd

Run Nginx
${template} = Get File ${TESTDIR}/configs/nginx.conf
${template} = Get File ${RSPAMD_TESTDIR}/configs/nginx.conf
${config} = Replace Variables ${template}
Create File ${TMPDIR}/nginx.conf ${config}
Create File ${RSPAMD_TMPDIR}/nginx.conf ${config}
Log ${config}
${result} = Run Process nginx -c ${TMPDIR}/nginx.conf
${result} = Run Process nginx -c ${RSPAMD_TMPDIR}/nginx.conf
Run Keyword If ${result.rc} != 0 Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Wait Until Keyword Succeeds 10x 1 sec Check Pidfile ${TMPDIR}/nginx.pid timeout=0.5s
Wait Until Keyword Succeeds 10x 1 sec Check Pidfile ${RSPAMD_TMPDIR}/nginx.pid timeout=0.5s
Wait Until Keyword Succeeds 5x 1 sec TCP Connect ${NGINX_ADDR} ${NGINX_PORT}
${NGINX_PID} = Get File ${TMPDIR}/nginx.pid
${NGINX_PID} = Get File ${RSPAMD_TMPDIR}/nginx.pid
Run Keyword If '${NGINX_SCOPE}' == 'Test' Set Test Variable ${NGINX_PID}
... ELSE IF '${NGINX_SCOPE}' == 'Suite' Set Suite Variable ${NGINX_PID}
${nginx_log} = Get File ${TMPDIR}/nginx.log
${nginx_log} = Get File ${RSPAMD_TMPDIR}/nginx.log
Log ${nginx_log}

Run Rspamc
[Arguments] @{args}
${result} = Run Process ${RSPAMC} -t 60 --header Queue-ID\=${TEST NAME}
... @{args} env:LD_LIBRARY_PATH=${TESTDIR}/../../contrib/aho-corasick
... @{args} env:LD_LIBRARY_PATH=${RSPAMD_TESTDIR}/../../contrib/aho-corasick
Log ${result.stdout}
[Return] ${result}

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
Export Rspamd Variables To Environment

# 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
... stdout=${RSPAMD_TMPDIR}/configdump.stdout stderr=${RSPAMD_TMPDIR}/configdump.stderr
${configdump} = Run Keyword If ${result.rc} == 0 Get File ${RSPAMD_TMPDIR}/configdump.stdout
... ELSE Get File ${RSPAMD_TMPDIR}/configdump.stderr
Log ${configdump}

# Fix directory ownership (maybe do this somewhere else)
Set Directory Ownership ${TMPDIR} ${RSPAMD_USER} ${RSPAMD_GROUP}
Set Directory Ownership ${RSPAMD_TMPDIR} ${RSPAMD_USER} ${RSPAMD_GROUP}

# Run Rspamd
${result} = Run Process ${RSPAMD} -u ${RSPAMD_USER} -g ${RSPAMD_GROUP}
... -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}
... -c ${CONFIG} env:TMPDIR=${RSPAMD_TMPDIR} env:DBDIR=${RSPAMD_TMPDIR} env:LD_LIBRARY_PATH=${RSPAMD_TESTDIR}/../../contrib/aho-corasick
# We need to send output to files (or discard output) to avoid hanging Robot
... stdout=${TMPDIR}/rspamd.stdout stderr=${TMPDIR}/rspamd.stderr
... stdout=${RSPAMD_TMPDIR}/rspamd.stdout stderr=${RSPAMD_TMPDIR}/rspamd.stderr

# Abort if it failed
Should Be Equal As Integers ${result.rc} 0

# Wait for pid file to be written
Wait Until Keyword Succeeds 10x 1 sec Check Pidfile ${TMPDIR}/rspamd.pid timeout=0.5s
Wait Until Keyword Succeeds 10x 1 sec Check Pidfile ${RSPAMD_TMPDIR}/rspamd.pid timeout=0.5s

# Confirm worker is reachable
Wait Until Keyword Succeeds 5x 1 sec Ping Rspamd ${LOCAL_ADDR} ${PORT_NORMAL}
Wait Until Keyword Succeeds 5x 1 sec Ping Rspamd ${RSPAMD_LOCAL_ADDR} ${RSPAMD_PORT_NORMAL}

# Read PID from PIDfile and export it to appropriate scope as ${RSPAMD_PID}
${RSPAMD_PID} = Get File ${TMPDIR}/rspamd.pid
${RSPAMD_PID} = Get File ${RSPAMD_TMPDIR}/rspamd.pid
Export Scoped Variables ${RSPAMD_SCOPE} RSPAMD_PID=${RSPAMD_PID}

Simple Teardown
@@ -302,14 +295,14 @@ Scan File By Reference

Scan Message With Rspamc
[Arguments] ${msg_file} @{vargs}
${result} = Run Rspamc -p -h ${LOCAL_ADDR}:${PORT_NORMAL} @{vargs} ${msg_file}
${result} = Run Rspamc -p -h ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_NORMAL} @{vargs} ${msg_file}
[Return] ${result}

Sync Fuzzy Storage
[Arguments] @{vargs}
${len} = Get Length ${vargs}
${result} = Run Keyword If $len == 0 Run Process ${RSPAMADM} control -s
... ${TMPDIR}/rspamd.sock fuzzy_sync
... ${RSPAMD_TMPDIR}/rspamd.sock fuzzy_sync
... ELSE Run Process ${RSPAMADM} control -s ${vargs}[0]/rspamd.sock
... fuzzy_sync
Log ${result.stdout}

+ 20
- 20
test/functional/lib/vars.py Dosyayı Görüntüle

@@ -1,26 +1,26 @@
import socket

CONTROLLER_ERRORS = True
KEY_PVT1 = 'ekd3x36tfa5gd76t6pa8hqif3ott7n1siuux68exbkk7ukscte9y'
KEY_PUB1 = 'm8kneubpcjsb8sbsoj7jy7azj9fdd3xmj63txni86a8ye9ncomny'
LOCAL_ADDR = '127.0.0.1'
MAP_WATCH_INTERVAL = '1min'
PORT_CONTROLLER = 56790
PORT_CONTROLLER_SLAVE = 56793
PORT_FUZZY = 56791
PORT_FUZZY_SLAVE = 56792
PORT_NORMAL = 56789
PORT_NORMAL_SLAVE = 56794
PORT_PROXY = 56795
PORT_CLAM = 2100
PORT_FPROT = 2101
PORT_FPROT2_DUPLICATE = 2102
PORT_AVAST = 2103
P0F_SOCKET = '/tmp/p0f.sock'
REDIS_ADDR = '127.0.0.1'
REDIS_PORT = 56379
NGINX_ADDR = '127.0.0.1'
NGINX_PORT = 56380
RSPAMD_KEY_PVT1 = 'ekd3x36tfa5gd76t6pa8hqif3ott7n1siuux68exbkk7ukscte9y'
RSPAMD_KEY_PUB1 = 'm8kneubpcjsb8sbsoj7jy7azj9fdd3xmj63txni86a8ye9ncomny'
RSPAMD_LOCAL_ADDR = '127.0.0.1'
RSPAMD_MAP_WATCH_INTERVAL = '1min'
RSPAMD_PORT_CONTROLLER = 56790
RSPAMD_PORT_CONTROLLER_SLAVE = 56793
RSPAMD_PORT_FUZZY = 56791
RSPAMD_PORT_FUZZY_SLAVE = 56792
RSPAMD_PORT_NORMAL = 56789
RSPAMD_PORT_NORMAL_SLAVE = 56794
RSPAMD_PORT_PROXY = 56795
RSPAMD_PORT_CLAM = 2100
RSPAMD_PORT_FPROT = 2101
RSPAMD_PORT_FPROT2_DUPLICATE = 2102
RSPAMD_PORT_AVAST = 2103
RSPAMD_P0F_SOCKET = '/tmp/p0f.sock'
RSPAMD_REDIS_ADDR = '127.0.0.1'
RSPAMD_REDIS_PORT = 56379
RSPAMD_NGINX_ADDR = '127.0.0.1'
RSPAMD_NGINX_PORT = 56380
RSPAMD_GROUP = 'nogroup'
RSPAMD_USER = 'nobody'
SOCK_DGRAM = socket.SOCK_DGRAM

Loading…
İptal
Kaydet