From 024a2481dfe320b7e4604d8e3088d6b88dab7325 Mon Sep 17 00:00:00 2001 From: J08nY Date: Wed, 23 Aug 2017 23:15:23 +0200 Subject: Implement signature stripping if the list is set to. --- src/mailman_pgp/pipelines/__init__.py | 0 src/mailman_pgp/pipelines/default.py | 50 +++++++++++++++++++++++++ src/mailman_pgp/pipelines/tests/__init__.py | 0 src/mailman_pgp/pipelines/tests/test_default.py | 34 +++++++++++++++++ 4 files changed, 84 insertions(+) create mode 100644 src/mailman_pgp/pipelines/__init__.py create mode 100644 src/mailman_pgp/pipelines/default.py create mode 100644 src/mailman_pgp/pipelines/tests/__init__.py create mode 100644 src/mailman_pgp/pipelines/tests/test_default.py (limited to 'src/mailman_pgp/pipelines') diff --git a/src/mailman_pgp/pipelines/__init__.py b/src/mailman_pgp/pipelines/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/mailman_pgp/pipelines/default.py b/src/mailman_pgp/pipelines/default.py new file mode 100644 index 0000000..e24ff05 --- /dev/null +++ b/src/mailman_pgp/pipelines/default.py @@ -0,0 +1,50 @@ +# Copyright (C) 2017 Jan Jancar +# +# This file is a part of the Mailman PGP plugin. +# +# This program is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. +# +# You should have received a copy of the GNU General Public License along with +# this program. If not, see . + +"""""" +from mailman.pipelines.base import BasePipeline + +from public import public + + +@public +class PGPPostingPipeline(BasePipeline): + """The built-in owner pipeline.""" + + name = 'pgp-posting-pipeline' + description = 'PGP posting pipeline' + + _default_handlers = ( + 'pgp-signature-strip', + 'mime-delete', + 'tagger', + 'member-recipients', + 'avoid-duplicates', + 'cleanse', + 'cleanse-dkim', + 'cook-headers', + 'subject-prefix', + 'rfc-2369', + 'to-archive', + 'to-digest', + 'to-usenet', + 'after-delivery', + 'acknowledge', + 'decorate', + 'dmarc', + 'to-outgoing', + ) diff --git a/src/mailman_pgp/pipelines/tests/__init__.py b/src/mailman_pgp/pipelines/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/mailman_pgp/pipelines/tests/test_default.py b/src/mailman_pgp/pipelines/tests/test_default.py new file mode 100644 index 0000000..5bb54ce --- /dev/null +++ b/src/mailman_pgp/pipelines/tests/test_default.py @@ -0,0 +1,34 @@ +# Copyright (C) 2017 Jan Jancar +# +# This file is a part of the Mailman PGP plugin. +# +# This program is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. +# +# You should have received a copy of the GNU General Public License along with +# this program. If not, see . + +import unittest + +from mailman_pgp.config import mm_config +from mailman_pgp.handlers.signature_strip import SignatureStrip +from mailman_pgp.pipelines.default import PGPPostingPipeline +from mailman_pgp.testing.layers import PGPConfigLayer + + +class TestPGPPostingPipeline(unittest.TestCase): + layer = PGPConfigLayer + + def test_has_pipeline(self): + self.assertIn(PGPPostingPipeline.name, mm_config.pipelines.keys()) + + def test_has_handler(self): + pipeline = PGPPostingPipeline() + self.assertEqual(SignatureStrip, type(next(iter(pipeline)))) -- cgit v1.2.3-70-g09d2