From 12ff0dfbb6c1882b454ac201040bb30f78d04ad3 Mon Sep 17 00:00:00 2001 From: Andrew Lewis Date: Thu, 4 Aug 2016 14:39:19 +0100 Subject: [PATCH] [Test] Beginnings of tests for SpamAssassin plugin --- test/functional/cases/135_spamassassin.robot | 33 +++++++++++++++++++ test/functional/configs/spamassassin.conf | 3 ++ test/functional/configs/spamassassin.rules | 34 ++++++++++++++++++++ test/functional/messages/freemail.eml | 7 ++++ 4 files changed, 77 insertions(+) create mode 100644 test/functional/cases/135_spamassassin.robot create mode 100644 test/functional/configs/spamassassin.conf create mode 100644 test/functional/configs/spamassassin.rules create mode 100644 test/functional/messages/freemail.eml diff --git a/test/functional/cases/135_spamassassin.robot b/test/functional/cases/135_spamassassin.robot new file mode 100644 index 000000000..31082c96d --- /dev/null +++ b/test/functional/cases/135_spamassassin.robot @@ -0,0 +1,33 @@ +*** Settings *** +Suite Setup SpamAssassin Setup +Suite Teardown Generic 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 + +*** Test Cases *** +Freemail Scan + Set Suite Variable ${FREEMAIL_RESULT} ${EMPTY} + ${FREEMAIL_RESULT} = Scan Message With Rspamc ${TESTDIR}/messages/freemail.eml + ... --from faked.asdfjisiwosp372@outlook.com + Check Rspamc ${FREEMAIL_RESULT} ${EMPTY} + Set Suite Variable ${FREEMAIL_RESULT} ${FREEMAIL_RESULT.stdout} + +Freemail From + Should Contain ${FREEMAIL_RESULT} FREEMAIL_FROM + +Freemail From Enddigit + Should Contain ${FREEMAIL_RESULT} FREEMAIL_ENVFROM_END_DIGIT + +Freemail Subject + Should Contain ${FREEMAIL_RESULT} FREEMAIL_SUBJECT + +*** Keywords *** +SpamAssassin Setup + ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/spamassassin.conf + Set Suite Variable ${PLUGIN_CONFIG} + Generic Setup PLUGIN_CONFIG diff --git a/test/functional/configs/spamassassin.conf b/test/functional/configs/spamassassin.conf new file mode 100644 index 000000000..ddd65b95e --- /dev/null +++ b/test/functional/configs/spamassassin.conf @@ -0,0 +1,3 @@ +spamassassin { + rules = "${TESTDIR}/configs/spamassassin.rules" +} diff --git a/test/functional/configs/spamassassin.rules b/test/functional/configs/spamassassin.rules new file mode 100644 index 000000000..e020fe7b9 --- /dev/null +++ b/test/functional/configs/spamassassin.rules @@ -0,0 +1,34 @@ +# These rules are from SpamAssasin project! (but might be modified) +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to you under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +ifplugin Mail::SpamAssassin::Plugin::FreeMail + +freemail_domains qq.com yahoo.com outlook.com +freemail_domains lycosmail.com hotmail.com + +header FREEMAIL_FROM eval:check_freemail_from() +describe FREEMAIL_FROM Sender email is commonly abused enduser mail provider +score FREEMAIL_FROM 1.0 + +header FREEMAIL_ENVFROM_END_DIGIT eval:check_freemail_header('EnvelopeFrom', '\d@') +describe FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends in digit +score FREEMAIL_ENVFROM_END_DIGIT 1.0 + +header FREEMAIL_SUBJECT eval:check_freemail_header('Subject') +describe FREEMAIL_SUBJECT Subject contains freemail +score FREEMAIL_SUBJECT 1.0 + +endif diff --git a/test/functional/messages/freemail.eml b/test/functional/messages/freemail.eml new file mode 100644 index 000000000..a64094b74 --- /dev/null +++ b/test/functional/messages/freemail.eml @@ -0,0 +1,7 @@ +From: +Subject: Reply me at faked.asdfjisiwosp372@hotmail.com +Date: Sun, 31 Jul 2016 11:40:08 +0100 +Content-type: text/plain +MIME-Version: 1.0 + +hello -- 2.39.5