diff options
Diffstat (limited to 'test/functional/cases/110_statistics')
6 files changed, 146 insertions, 0 deletions
diff --git a/test/functional/cases/110_statistics/090-peruser.robot b/test/functional/cases/110_statistics/090-peruser.robot new file mode 100644 index 0000000..cd8f3ac --- /dev/null +++ b/test/functional/cases/110_statistics/090-peruser.robot @@ -0,0 +1,15 @@ +*** Settings *** +Suite Setup Rspamd Redis Setup +Suite Teardown Rspamd Redis Teardown +Resource lib.robot + +*** Variables *** +${RSPAMD_REDIS_SERVER} ${RSPAMD_REDIS_ADDR}:${RSPAMD_REDIS_PORT} +${RSPAMD_STATS_PER_USER} true + +*** Test Cases *** +Learn + Learn Test test@example.com + +Relearn + Relearn Test test@example.com diff --git a/test/functional/cases/110_statistics/100-redis-keyed-siphash.robot b/test/functional/cases/110_statistics/100-redis-keyed-siphash.robot new file mode 100644 index 0000000..d889502 --- /dev/null +++ b/test/functional/cases/110_statistics/100-redis-keyed-siphash.robot @@ -0,0 +1,16 @@ +*** Settings *** +Suite Setup Rspamd Redis Setup +Suite Teardown Rspamd Redis Teardown +Resource lib.robot + +*** Variables *** +${RSPAMD_REDIS_SERVER} ${RSPAMD_REDIS_ADDR}:${RSPAMD_REDIS_PORT} +${RSPAMD_STATS_HASH} siphash +${RSPAMD_STATS_KEY} ${RSPAMD_KEY_PVT1} + +*** Test Cases *** +Learn + Learn Test + +Relearn + Relearn Test diff --git a/test/functional/cases/110_statistics/110-redis-keyed-xxhash.robot b/test/functional/cases/110_statistics/110-redis-keyed-xxhash.robot new file mode 100644 index 0000000..928a9ea --- /dev/null +++ b/test/functional/cases/110_statistics/110-redis-keyed-xxhash.robot @@ -0,0 +1,16 @@ +*** Settings *** +Suite Setup Rspamd Redis Setup +Suite Teardown Rspamd Redis Teardown +Resource lib.robot + +*** Variables *** +${RSPAMD_REDIS_SERVER} ${RSPAMD_REDIS_ADDR}:${RSPAMD_REDIS_PORT} +${RSPAMD_STATS_HASH} xxhash +${RSPAMD_STATS_KEY} ${RSPAMD_KEY_PVT1} + +*** Test Cases *** +Learn + Learn Test + +Relearn + Relearn Test diff --git a/test/functional/cases/110_statistics/200-redis-plain-siphash.robot b/test/functional/cases/110_statistics/200-redis-plain-siphash.robot new file mode 100644 index 0000000..790a63e --- /dev/null +++ b/test/functional/cases/110_statistics/200-redis-plain-siphash.robot @@ -0,0 +1,15 @@ +*** Settings *** +Suite Setup Rspamd Redis Setup +Suite Teardown Rspamd Redis Teardown +Resource lib.robot + +*** Variables *** +${RSPAMD_REDIS_SERVER} ${RSPAMD_REDIS_ADDR}:${RSPAMD_REDIS_PORT} +${RSPAMD_STATS_HASH} siphash + +*** Test Cases *** +Learn + Learn Test + +Relearn + Relearn Test diff --git a/test/functional/cases/110_statistics/210-redis-plain-xxhash.robot b/test/functional/cases/110_statistics/210-redis-plain-xxhash.robot new file mode 100644 index 0000000..55e7524 --- /dev/null +++ b/test/functional/cases/110_statistics/210-redis-plain-xxhash.robot @@ -0,0 +1,15 @@ +*** Settings *** +Suite Setup Rspamd Redis Setup +Suite Teardown Rspamd Redis Teardown +Resource lib.robot + +*** Variables *** +${RSPAMD_REDIS_SERVER} ${RSPAMD_REDIS_ADDR}:${RSPAMD_REDIS_PORT} +${RSPAMD_STATS_HASH} xxhash + +*** Test Cases *** +Learn + Learn Test + +Relearn + Relearn Test diff --git a/test/functional/cases/110_statistics/lib.robot b/test/functional/cases/110_statistics/lib.robot new file mode 100644 index 0000000..7928063 --- /dev/null +++ b/test/functional/cases/110_statistics/lib.robot @@ -0,0 +1,69 @@ +*** Settings *** +Library ${RSPAMD_TESTDIR}/lib/rspamd.py +Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot +Variables ${RSPAMD_TESTDIR}/lib/vars.py + +*** Variables *** +${CONFIG} ${RSPAMD_TESTDIR}/configs/stats.conf +${MESSAGE_HAM} ${RSPAMD_TESTDIR}/messages/ham.eml +${MESSAGE_SPAM} ${RSPAMD_TESTDIR}/messages/spam_message.eml +${REDIS_SCOPE} Suite +${RSPAMD_REDIS_SERVER} null +${RSPAMD_SCOPE} Suite +${RSPAMD_STATS_BACKEND} redis +${RSPAMD_STATS_HASH} null +${RSPAMD_STATS_KEY} null +${RSPAMD_STATS_PER_USER} ${EMPTY} + +*** Keywords *** +Broken Learn Test + ${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} ${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 + [Arguments] ${user} ${class} ${message} + IF "${user}" + ${result} = Run Rspamc -d ${user} -h ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_CONTROLLER} learn_${class} ${message} + ELSE + ${result} = Run Rspamc -h ${RSPAMD_LOCAL_ADDR}:${RSPAMD_PORT_CONTROLLER} learn_${class} ${message} + END + Check Rspamc ${result} + +Learn Test + [Arguments] ${user}=${EMPTY} + Set Suite Variable ${RSPAMD_STATS_LEARNTEST} 0 + Set Test Variable ${kwargs} &{EMPTY} + IF "${user}" + Set To Dictionary ${kwargs} Deliver-To=${user} + END + Learn ${user} spam ${MESSAGE_SPAM} + Learn ${user} ham ${MESSAGE_HAM} + Scan File ${MESSAGE_SPAM} &{kwargs} + Expect Symbol BAYES_SPAM + Scan File ${MESSAGE_HAM} &{kwargs} + Expect Symbol BAYES_HAM + Set Suite Variable ${RSPAMD_STATS_LEARNTEST} 1 + +Relearn Test + [Arguments] ${user}=${EMPTY} + IF ${RSPAMD_STATS_LEARNTEST} == 0 + Fail "Learn test was not run" + END + Learn ${user} ham ${MESSAGE_SPAM} + Set Test Variable ${kwargs} &{EMPTY} + IF "${user}" + Set To Dictionary ${kwargs} Deliver-To=${user} + END + Scan File ${MESSAGE_SPAM} &{kwargs} + ${pass} = Run Keyword And Return Status Expect Symbol BAYES_HAM + IF ${pass} + Pass Execution What Me Worry + END + Do Not Expect Symbol BAYES_SPAM |