diff options
| author | Aurélien Bompard | 2016-02-02 18:10:18 +0100 |
|---|---|---|
| committer | Barry Warsaw | 2016-02-29 21:52:13 -0500 |
| commit | 994660913bbd7dc08b8cef909b6715f43d37f0d5 (patch) | |
| tree | d17930b6d325f2d785883dc17ea71cf6eaef848f /src/mailman/chains | |
| parent | 9bf90986117e39450ec5bf1f86d29e5ed91f480d (diff) | |
| download | mailman-994660913bbd7dc08b8cef909b6715f43d37f0d5.tar.gz mailman-994660913bbd7dc08b8cef909b6715f43d37f0d5.tar.zst mailman-994660913bbd7dc08b8cef909b6715f43d37f0d5.zip | |
Rename the HeaderMatch.chain column to action
It makes it clearer what values are valid, and allows validation.
Diffstat (limited to 'src/mailman/chains')
| -rw-r--r-- | src/mailman/chains/headers.py | 6 | ||||
| -rw-r--r-- | src/mailman/chains/tests/test_headers.py | 9 |
2 files changed, 10 insertions, 5 deletions
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 = [] |
