Browse Source

[Test] Some tests for whitelist module

tags/1.7.0
Andrew Lewis 6 years ago
parent
commit
745bc065bb

+ 52
- 0
test/functional/cases/123_whitelist.robot View File

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

*** Variables ***
${CONFIG} ${TESTDIR}/configs/plugins.conf
${M_DMARC_OK} ${TESTDIR}/messages/dmarc/pass_none.eml
${M_DMARC_BAD} ${TESTDIR}/messages/dmarc/fail_none.eml
${UTF_MESSAGE} ${TESTDIR}/messages/utf.eml
${RSPAMD_SCOPE} Suite
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat

*** Test Cases ***
WHITELISTS
${result} = Scan Message With Rspamc ${M_DMARC_OK} -i 8.8.4.4 -F foo@spf.cacophony.za.org
Check Rspamc ${result} WHITELIST_DKIM (-1
Should Contain ${result.stdout} STRICT_DMARC (-3
Should Contain ${result.stdout} WHITELIST_DDS (-3
Should Contain ${result.stdout} WHITELIST_DMARC (-2
Should Contain ${result.stdout} WHITELIST_DMARC_DKIM (-2
Should Contain ${result.stdout} WHITELIST_SPF (-1
Should Not Contain ${result.stdout} BLACKLIST_SPF (
Should Not Contain ${result.stdout} BLACKLIST_DKIM (
Should Not Contain ${result.stdout} BLACKLIST_DMARC (

BLACKLIST SHOULD FIRE IF ANY CONSTRAINT FAILED
${result} = Scan Message With Rspamc ${M_DMARC_OK} -i 9.8.4.4 -F foo@spf.cacophony.za.org
Check Rspamc ${result} BLACKLIST_DDS (3
Should Not Contain ${result.stdout} WHITELIST_DDS (
Should Not Contain ${result.stdout} WHITELIST_SPF (

BLACKLISTS
${result} = Scan Message With Rspamc ${M_DMARC_BAD} -i 9.8.4.4 -F foo@cacophony.za.org
Check Rspamc ${result} BLACKLIST_SPF (3
Should Contain ${result.stdout} BLACKLIST_SPF (3
Should Contain ${result.stdout} STRICT_DMARC (3
Should Contain ${result.stdout} BLACKLIST_DDS (3
Should Contain ${result.stdout} BLACKLIST_DMARC (3
Should Not Contain ${result.stdout} WHITELIST_DDS (
Should Not Contain ${result.stdout} WHITELIST_SPF (
Should Not Contain ${result.stdout} WHITEIST_DKIM (
Should Not Contain ${result.stdout} WHITELIST_DMARC (
Should Not Contain ${result.stdout} WHITELIST_DMARC_DKIM (

*** Keywords ***
Whitelist Setup
${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/whitelist.conf
Set Suite Variable ${PLUGIN_CONFIG}
Generic Setup PLUGIN_CONFIG

+ 2
- 1
test/functional/configs/maps/domains.list View File

@@ -1,2 +1,3 @@
example.com
#other.com
cacophony.za.org
#other.com

+ 101
- 0
test/functional/configs/whitelist.conf View File

@@ -0,0 +1,101 @@
dmarc {}

whitelist {

rules {
"BLACKLIST_DDS" = {
blacklist = true;
valid_dkim = true;
valid_dmarc = true;
valid_spf = true;
domains = [
"${TESTDIR}/configs/maps/domains.list",
];
score = 3.0
}

"WHITELIST_DDS" = {
valid_dkim = true;
valid_dmarc = true;
valid_spf = true;
domains = [
"${TESTDIR}/configs/maps/domains.list",
];
score = -3.0
}

"WHITELIST_DKIM" = {
valid_dkim = true;
domains = [
"${TESTDIR}/configs/maps/domains.list",
];
description = "Mail comes from the whitelisted domain and has a valid DKIM signature";
score = -1.0
}

"BLACKLIST_DKIM" = {
blacklist = true;
valid_dkim = true;
domains = [
"${TESTDIR}/configs/maps/domains.list",
];
score = 3.0
}

"WHITELIST_SPF" = {
valid_spf = true;
domains = [
"${TESTDIR}/configs/maps/domains.list",
];
score = -1.0
description = "Mail comes from the whitelisted domain and has a valid SPF policy";
}

"BLACKLIST_SPF" = {
blacklist = true;
valid_spf = true;
domains = [
"${TESTDIR}/configs/maps/domains.list",
];
score = 3.0
}

"WHITELIST_DMARC_DKIM" = {
valid_dmarc = true;
valid_dkim = true;
domains = [
"${TESTDIR}/configs/maps/domains.list",
];
score = -2.0;
description = "Mail comes from the whitelisted domain and has valid DMARC and DKIM policies";
}

"WHITELIST_DMARC" = {
valid_dmarc = true;
domains = [
"${TESTDIR}/configs/maps/domains.list",
];
score = -2.0;
description = "Mail comes from the whitelisted domain and has valid DMARC policy";
}

"BLACKLIST_DMARC" = {
blacklist = true;
valid_dmarc = true;
domains = [
"${TESTDIR}/configs/maps/domains.list",
];
score = 3.0;
}

"STRICT_DMARC" = {
strict = true;
valid_dmarc = true;
domains = [
"${TESTDIR}/configs/maps/domains.list",
];
score = -3.0;
}

}
}

Loading…
Cancel
Save