123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- *** Settings ***
- Library OperatingSystem
- Library ${RSPAMD_TESTDIR}/lib/rspamd.py
- Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot
- Variables ${RSPAMD_TESTDIR}/lib/vars.py
-
- *** Variables ***
- ${CONFIG} ${RSPAMD_TESTDIR}/configs/fuzzy.conf
- ${FLAG1_SYMBOL} R_TEST_FUZZY_DENIED
- ${FLAG2_SYMBOL} R_TEST_FUZZY_WHITE
- ${REDIS_SCOPE} Suite
- ${RSPAMD_FLAG1_NUMBER} 50
- ${RSPAMD_FLAG2_NUMBER} 51
- ${RSPAMD_FUZZY_BACKEND} redis
- ${RSPAMD_FUZZY_ENCRYPTED_ONLY} false
- ${RSPAMD_FUZZY_ENCRYPTION_KEY} null
- ${RSPAMD_FUZZY_INCLUDE} ${RSPAMD_TESTDIR}/configs/empty.conf
- ${RSPAMD_FUZZY_KEY} null
- ${RSPAMD_FUZZY_SHINGLES_KEY} null
- ${RSPAMD_SCOPE} Suite
- ${SETTINGS_FUZZY_CHECK} ${EMPTY}
- ${SETTINGS_FUZZY_WORKER} ${EMPTY}
- @{MESSAGES_SKIP} ${RSPAMD_TESTDIR}/messages/priority.eml
- @{MESSAGES} ${RSPAMD_TESTDIR}/messages/spam_message.eml ${RSPAMD_TESTDIR}/messages/zip.eml
- @{RANDOM_MESSAGES} ${RSPAMD_TESTDIR}/messages/bad_message.eml ${RSPAMD_TESTDIR}/messages/zip-doublebad.eml
-
- *** Keywords ***
- Fuzzy Skip Add Test Base
- [Arguments] ${message}
- Set Suite Variable ${RSPAMD_FUZZY_ADD_${message}} 0
- ${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 ${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
-
- Fuzzy Add Test
- [Arguments] ${message}
- Set Suite Variable ${RSPAMD_FUZZY_ADD_${message}} 0
- ${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 ${FLAG1_SYMBOL}
- Set Suite Variable ${RSPAMD_FUZZY_ADD_${message}} 1
-
- Fuzzy Delete Test
- [Arguments] ${message}
- IF ${RSPAMD_FUZZY_ADD_${message}} == 0
- Fail "Fuzzy Add was not run"
- END
- ${result} = Run Rspamc -h ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_CONTROLLER} -f ${RSPAMD_FLAG1_NUMBER} fuzzy_del
- ... ${message}
- Check Rspamc ${result}
- Sync Fuzzy Storage
- Scan File ${message}
- Do Not Expect Symbol ${FLAG1_SYMBOL}
-
- Fuzzy Fuzzy Test
- [Arguments] ${message}
- IF ${RSPAMD_FUZZY_ADD_${message}} != 1
- Fail "Fuzzy Add was not run"
- END
- @{path_info} = Path Splitter ${message}
- @{fuzzy_files} = List Files In Directory ${pathinfo}[0] pattern=${pathinfo}[1].fuzzy* absolute=1
- FOR ${i} IN @{fuzzy_files}
- Scan File ${i}
- Expect Symbol ${FLAG1_SYMBOL}
- END
-
- Fuzzy Encrypted Test
- [Arguments] ${message}
- @{path_info} = Path Splitter ${message}
- @{fuzzy_files} = List Files In Directory ${pathinfo}[0] pattern=${pathinfo}[1].fuzzy* absolute=1
- FOR ${i} IN @{fuzzy_files}
- ${result} = Run Rspamc -p -h ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_NORMAL} --key ${RSPAMD_FUZZY_ENCRYPTION_KEY} ${i}
- Check Rspamc ${result} ${FLAG1_SYMBOL}
- END
-
- Fuzzy Miss Test
- [Arguments] ${message}
- Scan File ${message}
- Do Not Expect Symbol ${FLAG1_SYMBOL}
-
- Fuzzy Overwrite Test
- [Arguments] ${message}
- ${flag_numbers} = Create List ${RSPAMD_FLAG1_NUMBER} ${RSPAMD_FLAG2_NUMBER}
- FOR ${i} IN @{flag_numbers}
- ${result} = Run Rspamc -h ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_CONTROLLER} -w 10
- ... -f ${i} fuzzy_add ${message}
- Check Rspamc ${result}
- END
- Sync Fuzzy Storage
- Scan File ${message}
- Do Not Expect Symbol ${FLAG1_SYMBOL}
- Expect Symbol ${FLAG2_SYMBOL}
-
- Fuzzy Setup Encrypted
- [Arguments] ${algorithm}
- 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_CLIENT_ENCRYPTION_KEY} ${RSPAMD_KEY_PUB1}
- Set Suite Variable ${RSPAMD_FUZZY_INCLUDE} ${RSPAMD_TESTDIR}/configs/fuzzy-encryption-key.conf
- Rspamd Redis Setup
-
- Fuzzy Setup Encrypted Dyn1
- [Arguments] ${algorithm}
- 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_CLIENT_ENCRYPTION_KEY} ${RSPAMD_KEY_PUB2}
- Set Suite Variable ${RSPAMD_FUZZY_INCLUDE} ${RSPAMD_TESTDIR}/configs/fuzzy-encryption-key.conf
- Rspamd Redis Setup
-
- Fuzzy Setup Encrypted Dyn2
- [Arguments] ${algorithm}
- 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_CLIENT_ENCRYPTION_KEY} ${RSPAMD_KEY_PUB3}
- Set Suite Variable ${RSPAMD_FUZZY_INCLUDE} ${RSPAMD_TESTDIR}/configs/fuzzy-encryption-key.conf
- Rspamd Redis Setup
-
- Fuzzy Setup Encrypted Keyed
- [Arguments] ${algorithm}
- 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_CLIENT_ENCRYPTION_KEY} ${RSPAMD_KEY_PUB1}
- Set Suite Variable ${RSPAMD_FUZZY_KEY} mYN888sydwLTfE32g2hN
- Set Suite Variable ${RSPAMD_FUZZY_SHINGLES_KEY} hXUCgul9yYY3Zlk1QIT2
- Rspamd Redis Setup
-
- Fuzzy Setup Plain
- [Arguments] ${algorithm}
- Set Suite Variable ${RSPAMD_FUZZY_ALGORITHM} ${algorithm}
- Rspamd Redis Setup
-
- Fuzzy Setup Keyed
- [Arguments] ${algorithm}
- Set Suite Variable ${RSPAMD_FUZZY_ALGORITHM} ${algorithm}
- Set Suite Variable ${RSPAMD_FUZZY_KEY} mYN888sydwLTfE32g2hN
- Set Suite Variable ${RSPAMD_FUZZY_SHINGLES_KEY} hXUCgul9yYY3Zlk1QIT2
- Rspamd Redis Setup
-
- Fuzzy Setup Plain Fasthash
- Fuzzy Setup Plain fasthash
-
- Fuzzy Setup Plain Mumhash
- Fuzzy Setup Plain mumhash
-
- Fuzzy Setup Plain Siphash
- Fuzzy Setup Plain siphash
-
- Fuzzy Setup Plain Xxhash
- Fuzzy Setup Plain xxhash
-
- Fuzzy Setup Keyed Fasthash
- Fuzzy Setup Keyed fasthash
-
- Fuzzy Setup Keyed Mumhash
- Fuzzy Setup Keyed mumhash
-
- Fuzzy Setup Keyed Siphash
- Fuzzy Setup Keyed siphash
-
- Fuzzy Setup Keyed Xxhash
- Fuzzy Setup Keyed xxhash
-
- Fuzzy Setup Encrypted Siphash
- Fuzzy Setup Encrypted siphash
-
- Fuzzy Setup Encrypted Dyn1 Siphash
- Fuzzy Setup Encrypted Dyn1 siphash
-
- Fuzzy Setup Encrypted Dyn2 Siphash
- Fuzzy Setup Encrypted Dyn2 siphash
-
- Fuzzy Skip Hash Test Message
- FOR ${i} IN @{MESSAGES_SKIP}
- Fuzzy Skip Add Test Base ${i}
- END
-
- Fuzzy Multimessage Add Test
- FOR ${i} IN @{MESSAGES}
- Fuzzy Add Test ${i}
- END
-
- Fuzzy Multimessage Fuzzy Test
- FOR ${i} IN @{MESSAGES}
- Fuzzy Fuzzy Test ${i}
- END
-
- Fuzzy Multimessage Fuzzy Encrypted Test
- FOR ${i} IN @{MESSAGES}
- Fuzzy Encrypted Test ${i}
- END
-
- Fuzzy Multimessage Miss Test
- FOR ${i} IN @{RANDOM_MESSAGES}
- Fuzzy Miss Test ${i}
- END
-
- Fuzzy Multimessage Delete Test
- FOR ${i} IN @{MESSAGES}
- Fuzzy Delete Test ${i}
- END
-
- Fuzzy Multimessage Overwrite Test
- FOR ${i} IN @{MESSAGES}
- Fuzzy Overwrite Test ${i}
- END
|