]> source.dussan.org Git - rspamd.git/commitdiff
[Test] Beginnings of tests for SpamAssassin plugin
authorAndrew Lewis <nerf@judo.za.org>
Thu, 4 Aug 2016 13:39:19 +0000 (14:39 +0100)
committerAndrew Lewis <nerf@judo.za.org>
Thu, 4 Aug 2016 13:39:19 +0000 (14:39 +0100)
test/functional/cases/135_spamassassin.robot [new file with mode: 0644]
test/functional/configs/spamassassin.conf [new file with mode: 0644]
test/functional/configs/spamassassin.rules [new file with mode: 0644]
test/functional/messages/freemail.eml [new file with mode: 0644]

diff --git a/test/functional/cases/135_spamassassin.robot b/test/functional/cases/135_spamassassin.robot
new file mode 100644 (file)
index 0000000..31082c9
--- /dev/null
@@ -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 (file)
index 0000000..ddd65b9
--- /dev/null
@@ -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 (file)
index 0000000..e020fe7
--- /dev/null
@@ -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 (file)
index 0000000..a64094b
--- /dev/null
@@ -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