From 91443f3b8aba3abe7d0a5cef117c236a2aa8f4da Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Sat, 24 Aug 2019 19:08:30 +0100 Subject: [PATCH] [Test] Add SURBL tests --- test/functional/cases/340_surbl.robot | 52 +++++++++++++++++++++++++++ test/functional/configs/plugins.conf | 35 ++++++++++++++++-- test/functional/configs/surbl.conf | 42 ++++++++++++++++++++++ test/functional/messages/url6.eml | 3 ++ test/functional/messages/url7.eml | 3 ++ 5 files changed, 133 insertions(+), 2 deletions(-) create mode 100644 test/functional/cases/340_surbl.robot create mode 100644 test/functional/configs/surbl.conf create mode 100644 test/functional/messages/url6.eml create mode 100644 test/functional/messages/url7.eml diff --git a/test/functional/cases/340_surbl.robot b/test/functional/cases/340_surbl.robot new file mode 100644 index 000000000..40ef9855c --- /dev/null +++ b/test/functional/cases/340_surbl.robot @@ -0,0 +1,52 @@ +*** Settings *** +Suite Setup Surbl Setup +Suite Teardown Surbl Teardown +Library ${TESTDIR}/lib/rspamd.py +Resource ${TESTDIR}/lib/rspamd.robot +Variables ${TESTDIR}/lib/vars.py + +*** Variables *** +${CONFIG} ${TESTDIR}/configs/plugins.conf +${RSPAMD_SCOPE} Suite +${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat + +*** Test Cases *** +SURBL Example.com domain + ${result} = Scan Message With Rspamc ${TESTDIR}/messages/url4.eml + Should Contain ${result.stdout} RSPAMD_URIBL + Should Contain ${result.stdout} DBL_SPAM + Should Not Contain ${result.stdout} DBL_PHISH + Should Not Contain ${result.stdout} URIBL_BLACK + +SURBL Example.net domain + ${result} = Scan Message With Rspamc ${TESTDIR}/messages/url5.eml + Should Contain ${result.stdout} DBL_PHISH + Should Not Contain ${result.stdout} DBL_SPAM + Should Not Contain ${result.stdout} RSPAMD_URIBL + Should Not Contain ${result.stdout} URIBL_BLACK + +SURBL Example.org domain + ${result} = Scan Message With Rspamc ${TESTDIR}/messages/url6.eml + Should Contain ${result.stdout} URIBL_BLACK + Should Not Contain ${result.stdout} DBL_SPAM + Should Not Contain ${result.stdout} RSPAMD_URIBL + Should Not Contain ${result.stdout} DBL_PHISH + +SURBL Example.ru domain + ${result} = Scan Message With Rspamc ${TESTDIR}/messages/url7.eml + Should Contain ${result.stdout} URIBL_GREY + Should Contain ${result.stdout} URIBL_RED + Should Not Contain ${result.stdout} DBL_SPAM + Should Not Contain ${result.stdout} RSPAMD_URIBL + Should Not Contain ${result.stdout} DBL_PHISH + Should Not Contain ${result.stdout} URIBL_BLACK + +*** Keywords *** +Surbl Setup + ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/surbl.conf + Set Suite Variable ${PLUGIN_CONFIG} + Generic Setup PLUGIN_CONFIG + +Surbl Teardown + Normal Teardown + Terminate All Processes kill=True \ No newline at end of file diff --git a/test/functional/configs/plugins.conf b/test/functional/configs/plugins.conf index bc8fb01ba..05ff16a1e 100644 --- a/test/functional/configs/plugins.conf +++ b/test/functional/configs/plugins.conf @@ -1,5 +1,5 @@ options = { - filters = ["spf", "dkim", "regexp"] + filters = ["spf", "dkim", "regexp", "surbl"] url_tld = "${URL_TLD}" pidfile = "${TMPDIR}/rspamd.pid" lua_path = "${INSTALLROOT}/share/rspamd/lib/?.lua" @@ -532,7 +532,38 @@ options = { name = "131.193.18.151.fake.rbl"; type = "a"; replies = ["127.0.0.3"]; - } + }, + # SURBL tests + { + name = "rciuosbadgpq6b5wt436nhgnwzmfh9w9.test.uribl"; + type = a; + replies = ["127.0.0.2"]; + }, + { + name = "example.com.test2.uribl"; + type = a; + replies = ["127.0.1.2"]; + }, + { + name = "example.net.test2.uribl"; + type = a; + replies = ["127.0.1.4"]; + }, + { + name = "rspamd.tk.test2.uribl"; + type = a; + replies = ["127.0.1.4"]; + }, + { + name = "example.org.test3.uribl"; + type = a; + replies = ["127.0.0.2"]; + }, + { + name = "example.ru.test3.uribl"; + type = a; + replies = ["127.0.0.12"]; + }, ]; } } diff --git a/test/functional/configs/surbl.conf b/test/functional/configs/surbl.conf new file mode 100644 index 000000000..944ee747f --- /dev/null +++ b/test/functional/configs/surbl.conf @@ -0,0 +1,42 @@ + +surbl { + rules { + "RSPAMD_URIBL" { + suffix = "test.uribl"; + check_dkim = true; + check_emails = true; + process_script =<hello diff --git a/test/functional/messages/url7.eml b/test/functional/messages/url7.eml new file mode 100644 index 000000000..63d1c53c1 --- /dev/null +++ b/test/functional/messages/url7.eml @@ -0,0 +1,3 @@ +Content-Type: text/html + +hello hello -- 2.39.5