summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAndrew Lewis <nerf@judo.za.org>2016-08-04 14:39:19 +0100
committerAndrew Lewis <nerf@judo.za.org>2016-08-04 14:39:19 +0100
commit12ff0dfbb6c1882b454ac201040bb30f78d04ad3 (patch)
tree7303319568fe9989ab9ec87ee9591fa7a1f0c251 /test
parentf022a45ae3124e642b584e12623f7a0b4882df6e (diff)
downloadrspamd-12ff0dfbb6c1882b454ac201040bb30f78d04ad3.tar.gz
rspamd-12ff0dfbb6c1882b454ac201040bb30f78d04ad3.zip
[Test] Beginnings of tests for SpamAssassin plugin
Diffstat (limited to 'test')
-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
4 files changed, 77 insertions, 0 deletions
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