Browse Source

[Test] Add tests for redis maps in multimap

tags/1.3.3
Andrew Lewis 7 years ago
parent
commit
46bc488da9

+ 1
- 1
circle.yml View File

@@ -1,7 +1,7 @@
dependencies:
pre:
- sudo apt-get update -qq
- sudo apt-get install -qq cmake gcc lcov libevent-dev libglib2.0-dev libgmime-2.6-dev libluajit-5.1-dev liblua5.1-0-dev libmagic-dev libpcre3-dev libsqlite3-dev libssl-dev make python-dev ragel redis-server
- sudo apt-get install -qq cmake gcc lcov libevent-dev libglib2.0-dev libgmime-2.6-dev libluajit-5.1-dev liblua5.1-0-dev libmagic-dev libpcre3-dev libsqlite3-dev libssl-dev make python-dev ragel redis-server redis-tools
- gem install coveralls-lcov
- sudo pip install demjson psutil robotframework


+ 34
- 1
test/functional/cases/102_multimap.robot View File

@@ -1,6 +1,6 @@
*** Settings ***
Suite Setup Multimap Setup
Suite Teardown Generic Teardown
Suite Teardown Multimap Teardown
Library ${TESTDIR}/lib/rspamd.py
Resource ${TESTDIR}/lib/rspamd.robot
Variables ${TESTDIR}/lib/vars.py
@@ -9,6 +9,7 @@ Variables ${TESTDIR}/lib/vars.py
${CONFIG} ${TESTDIR}/configs/plugins.conf
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${UTF_MESSAGE} ${TESTDIR}/messages/utf.eml
${REDIS_SCOPE} Suite
${RSPAMD_SCOPE} Suite

*** Test Cases ***
@@ -114,8 +115,40 @@ MAP - CDB - HOSTNAME MISS
${result} = Scan Message With Rspamc ${MESSAGE} --ip 127.0.0.1 --hostname rspamd.com
Check Rspamc ${result} CDB_HOSTNAME inverse=1 rc_noinverse=1

MAP - REDIS - HOSTNAME
Redis HSET hostname redistest.example.net ${EMPTY}
${result} = Scan Message With Rspamc ${MESSAGE} --ip 127.0.0.1 --hostname redistest.example.net
Check Rspamc ${result} REDIS_HOSTNAME

MAP - REDIS - HOSTNAME MISS
${result} = Scan Message With Rspamc ${MESSAGE} --ip 127.0.0.1 --hostname rspamd.com
Check Rspamc ${result} REDIS_HOSTNAME inverse=1 rc_noinverse=1

MAP - REDIS - IP
Redis HSET ipaddr 127.0.0.1 ${EMPTY}
${result} = Scan Message With Rspamc ${MESSAGE} --ip 127.0.0.1
Check Rspamc ${result} REDIS_IPADDR

MAP - REDIS - IP - MISS
${result} = Scan Message With Rspamc ${MESSAGE} --ip 8.8.8.8
Check Rspamc ${result} REDIS_IPADDR inverse=1 rc_noinverse=1

MAP - REDIS - FROM
Redis HSET emailaddr from@rspamd.tk ${EMPTY}
${result} = Scan Message With Rspamc ${MESSAGE} --from from@rspamd.tk
Check Rspamc ${result} REDIS_FROMADDR

MAP - REDIS - FROM MISS
${result} = Scan Message With Rspamc ${MESSAGE} --from user@other.com
Check Rspamc ${result} REDIS_FROMADDR inverse=1 rc_noinverse=1

*** Keywords ***
Multimap Setup
${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/multimap.conf
Set Suite Variable ${PLUGIN_CONFIG}
Generic Setup PLUGIN_CONFIG
Run Redis

Multimap Teardown
Shutdown Process With Children ${REDIS_PID}
Generic Teardown

+ 16
- 0
test/functional/configs/multimap.conf View File

@@ -1,3 +1,6 @@
redis {
servers = "${REDIS_ADDR}:${REDIS_PORT}";
}
multimap {
DNSBL_MAP {
type = "dnsbl";
@@ -46,4 +49,17 @@ multimap {
type = "hostname";
map = "cdb://${TESTDIR}/configs/maps/domains.cdb";
}
REDIS_HOSTNAME {
type = "hostname";
map = "redis://hostname";
}
REDIS_IPADDR {
type = "ip";
map = "redis://ipaddr";
}
REDIS_FROMADDR {
type = "from";
filter = "email:addr";
map = "redis://emailaddr";
}
}

+ 8
- 0
test/functional/lib/rspamd.robot View File

@@ -70,6 +70,14 @@ Log Logs
Log ${the_log}
[Return] ${position}

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

Run Redis
${template} = Get File ${TESTDIR}/configs/redis-server.conf
${config} = Replace Variables ${template}

Loading…
Cancel
Save