aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2016-08-04 17:34:44 +0100
committerGitHub <noreply@github.com>2016-08-04 17:34:44 +0100
commit6d33b6d3b8c824c6bc57830286939161ae4d1ff6 (patch)
tree38a286cb12bfef68572c431ed522401c5cee982e /test
parentabd7dd7e9de891ea6f0d7df9d9bf6ab50b85cfdf (diff)
parentdb8cb55bd6e001c735be65008621273fbdf81a88 (diff)
downloadrspamd-6d33b6d3b8c824c6bc57830286939161ae4d1ff6.tar.gz
rspamd-6d33b6d3b8c824c6bc57830286939161ae4d1ff6.zip
Merge pull request #808 from fatalbanana/spamassassin
Spamassassin plugin stuffs
Diffstat (limited to 'test')
-rw-r--r--test/functional/cases/102_multimap.robot8
-rw-r--r--test/functional/cases/105_mimetypes.robot6
-rw-r--r--test/functional/cases/135_spamassassin.robot33
-rw-r--r--test/functional/configs/spamassassin.conf3
-rw-r--r--test/functional/configs/spamassassin.rules34
-rw-r--r--test/functional/messages/freemail.eml7
6 files changed, 84 insertions, 7 deletions
diff --git a/test/functional/cases/102_multimap.robot b/test/functional/cases/102_multimap.robot
index 9d02ca666..cad5b56df 100644
--- a/test/functional/cases/102_multimap.robot
+++ b/test/functional/cases/102_multimap.robot
@@ -8,7 +8,7 @@ Variables ${TESTDIR}/lib/vars.py
*** Variables ***
${CONFIG} ${TESTDIR}/configs/plugins.conf
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
-${UTF_MESSAGE} ${TESTDIR}/messages/utf.eml
+${UTF_MESSAGE} ${TESTDIR}/messages/utf.eml
${RSPAMD_SCOPE} Suite
*** Test Cases ***
@@ -116,6 +116,6 @@ MAP - CDB - HOSTNAME MISS
*** Keywords ***
Multimap Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/multimap.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
+ ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/multimap.conf
+ Set Suite Variable ${PLUGIN_CONFIG}
+ Generic Setup PLUGIN_CONFIG
diff --git a/test/functional/cases/105_mimetypes.robot b/test/functional/cases/105_mimetypes.robot
index c67784f25..18eac6289 100644
--- a/test/functional/cases/105_mimetypes.robot
+++ b/test/functional/cases/105_mimetypes.robot
@@ -24,6 +24,6 @@ Rar4
*** Keywords ***
MIMETypes Setup
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/mime_types.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
+ ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/mime_types.conf
+ Set Suite Variable ${PLUGIN_CONFIG}
+ Generic Setup PLUGIN_CONFIG
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: <faked.asdfjisiwosp372@outlook.com>
+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