From 994660913bbd7dc08b8cef909b6715f43d37f0d5 Mon Sep 17 00:00:00 2001 From: Aurélien Bompard Date: Tue, 2 Feb 2016 18:10:18 +0100 Subject: Rename the HeaderMatch.chain column to action It makes it clearer what values are valid, and allows validation. --- src/mailman/chains/headers.py | 6 +++++- src/mailman/chains/tests/test_headers.py | 9 +++++---- 2 files changed, 10 insertions(+), 5 deletions(-) (limited to 'src/mailman/chains') diff --git a/src/mailman/chains/headers.py b/src/mailman/chains/headers.py index a952c4ffd..dd5cd1be0 100644 --- a/src/mailman/chains/headers.py +++ b/src/mailman/chains/headers.py @@ -150,4 +150,8 @@ class HeaderMatchChain(Chain): yield Link('any', LinkAction.jump, config.antispam.jump_chain) # Then return all the list-specific header matches. for entry in mlist.header_matches: - yield make_link(entry.header, entry.pattern, entry.chain) + if entry.action is None: + chain = None + else: + chain = entry.action.name + yield make_link(entry.header, entry.pattern, chain) diff --git a/src/mailman/chains/tests/test_headers.py b/src/mailman/chains/tests/test_headers.py index d42baa55e..c2e01e5e3 100644 --- a/src/mailman/chains/tests/test_headers.py +++ b/src/mailman/chains/tests/test_headers.py @@ -29,6 +29,7 @@ from mailman.chains.headers import HeaderMatchRule, make_link from mailman.config import config from mailman.core.chains import process from mailman.email.message import Message +from mailman.interfaces.action import Action from mailman.interfaces.chain import LinkAction, HoldEvent from mailman.interfaces.mailinglist import IHeaderMatchList from mailman.testing.helpers import ( @@ -160,9 +161,9 @@ class TestHeaderChain(unittest.TestCase): # properly. chain = config.chains['header-match'] header_matches = IHeaderMatchList(self._mlist) - header_matches.append('Foo', 'a+', 'reject') - header_matches.append('Bar', 'b+', 'discard') - header_matches.append('Baz', 'z+', 'accept') + header_matches.append('Foo', 'a+', Action.reject) + header_matches.append('Bar', 'b+', Action.discard) + header_matches.append('Baz', 'z+', Action.accept) links = [link for link in chain.get_links(self._mlist, Message(), {}) if link.rule.name != 'any'] self.assertEqual(len(links), 3) @@ -193,7 +194,7 @@ A message body. """) msgdata = {} header_matches = IHeaderMatchList(self._mlist) - header_matches.append('Foo', 'foo', 'accept') + header_matches.append('Foo', 'foo', Action.accept) # This event subscriber records the event that occurs when the message # is processed by the owner chain. events = [] -- cgit v1.2.3-70-g09d2