summaryrefslogtreecommitdiff
path: root/src/mailman/chains
diff options
context:
space:
mode:
authorAurélien Bompard2016-02-02 18:10:18 +0100
committerBarry Warsaw2016-02-29 21:52:13 -0500
commit994660913bbd7dc08b8cef909b6715f43d37f0d5 (patch)
treed17930b6d325f2d785883dc17ea71cf6eaef848f /src/mailman/chains
parent9bf90986117e39450ec5bf1f86d29e5ed91f480d (diff)
downloadmailman-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.py6
-rw-r--r--src/mailman/chains/tests/test_headers.py9
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 = []