diff options
| author | Aurélien Bompard | 2016-02-29 11:59:53 +0100 |
|---|---|---|
| committer | Barry Warsaw | 2016-02-29 21:52:13 -0500 |
| commit | ef9cdf45000b1172c3973b329ebe7ed32d604fb1 (patch) | |
| tree | e44b8848fe306eb295a2d0ed599c553aa793c4f6 | |
| parent | 567aab277deaba88329aa25a0d1f2a8959522071 (diff) | |
| download | mailman-ef9cdf45000b1172c3973b329ebe7ed32d604fb1.tar.gz mailman-ef9cdf45000b1172c3973b329ebe7ed32d604fb1.tar.zst mailman-ef9cdf45000b1172c3973b329ebe7ed32d604fb1.zip | |
| -rw-r--r-- | src/mailman/interfaces/mailinglist.py | 3 | ||||
| -rw-r--r-- | src/mailman/model/mailinglist.py | 9 | ||||
| -rw-r--r-- | src/mailman/model/tests/test_mailinglist.py | 58 |
3 files changed, 45 insertions, 25 deletions
diff --git a/src/mailman/interfaces/mailinglist.py b/src/mailman/interfaces/mailinglist.py index d8a9977eb..fc92425a8 100644 --- a/src/mailman/interfaces/mailinglist.py +++ b/src/mailman/interfaces/mailinglist.py @@ -927,9 +927,10 @@ class IHeaderMatchList(Interface): :param key: The index of the header match to return. :type key: integer + :return: The header match at this index. + :rtype: `IHeaderMatch`. :raises IndexError: if there is no header match at this index for this mailing list. - :rtype: `IHeaderMatch`. """ def __delitem__(key): diff --git a/src/mailman/model/mailinglist.py b/src/mailman/model/mailinglist.py index 601163b1b..b5c83ff29 100644 --- a/src/mailman/model/mailinglist.py +++ b/src/mailman/model/mailinglist.py @@ -695,12 +695,11 @@ class HeaderMatch(Model): @implementer(IHeaderMatchList) class HeaderMatchList: - """See `IHeaderMatchList`. + """See `IHeaderMatchList`.""" - All write operations must mark the mailing list's header_matches collection - as expired: - http://docs.sqlalchemy.org/en/latest/orm/session_state_management.html#refreshing-expiring - """ + # All write operations must mark the mailing list's header_matches + # collection as expired: + # http://docs.sqlalchemy.org/en/latest/orm/session_state_management.html#refreshing-expiring def __init__(self, mailing_list): self._mailing_list = mailing_list diff --git a/src/mailman/model/tests/test_mailinglist.py b/src/mailman/model/tests/test_mailinglist.py index 29b721cf4..63e1cd300 100644 --- a/src/mailman/model/tests/test_mailinglist.py +++ b/src/mailman/model/tests/test_mailinglist.py @@ -263,17 +263,21 @@ class TestHeaderMatch(unittest.TestCase): def test_get_by_index(self): header_matches = IHeaderMatchList(self._mlist) - header_matches.append('header', 'pattern') - hm = header_matches[0] - self.assertEqual(hm.header, 'header') - self.assertEqual(hm.pattern, 'pattern') + header_matches.append('header-1', 'pattern-1') + header_matches.append('header-2', 'pattern-2') + header_matches.append('header-3', 'pattern-3') + hm = header_matches[1] + self.assertEqual(hm.header, 'header-2') + self.assertEqual(hm.pattern, 'pattern-2') def test_get_by_negative_index(self): header_matches = IHeaderMatchList(self._mlist) - header_matches.append('header', 'pattern') + header_matches.append('header-1', 'pattern-1') + header_matches.append('header-2', 'pattern-2') + header_matches.append('header-3', 'pattern-3') hm = header_matches[-1] - self.assertEqual(hm.header, 'header') - self.assertEqual(hm.pattern, 'pattern') + self.assertEqual(hm.header, 'header-3') + self.assertEqual(hm.pattern, 'pattern-3') def test_get_non_existent_by_index(self): header_matches = IHeaderMatchList(self._mlist) @@ -334,14 +338,20 @@ class TestHeaderMatch(unittest.TestCase): header_matches.append('header-1', 'pattern') header_matches.append('header-2', 'pattern') self.assertEqual( - [(match.header, match.position) for match in header_matches], - [('header-0', 0), ('header-1', 1), ('header-2', 2)]) + [(match.header, match.position) for match in header_matches], [ + ('header-0', 0), + ('header-1', 1), + ('header-2', 2), + ]) header_match_1 = self._mlist.header_matches[1] self.assertEqual(header_match_1.position, 1) header_match_1.position = 1 self.assertEqual( - [(match.header, match.position) for match in header_matches], - [('header-0', 0), ('header-1', 1), ('header-2', 2)]) + [(match.header, match.position) for match in header_matches], [ + ('header-0', 0), + ('header-1', 1), + ('header-2', 2), + ]) def test_move_negative(self): header_matches = IHeaderMatchList(self._mlist) @@ -362,12 +372,17 @@ class TestHeaderMatch(unittest.TestCase): header_matches.append('header-0', 'pattern') header_matches.append('header-1', 'pattern') self.assertEqual( - [(match.header, match.position) for match in header_matches], - [('header-0', 0), ('header-1', 1)]) + [(match.header, match.position) for match in header_matches], [ + ('header-0', 0), + ('header-1', 1), + ]) header_matches.insert(1, 'header-2', 'pattern') self.assertEqual( - [(match.header, match.position) for match in header_matches], - [('header-0', 0), ('header-2', 1), ('header-1', 2)]) + [(match.header, match.position) for match in header_matches], [ + ('header-0', 0), + ('header-2', 1), + ('header-1', 2), + ]) def test_rebuild_sequence_after_remove(self): header_matches = IHeaderMatchList(self._mlist) @@ -375,12 +390,17 @@ class TestHeaderMatch(unittest.TestCase): header_matches.append('header-1', 'pattern') header_matches.append('header-2', 'pattern') self.assertEqual( - [(match.header, match.position) for match in header_matches], - [('header-0', 0), ('header-1', 1), ('header-2', 2)]) + [(match.header, match.position) for match in header_matches], [ + ('header-0', 0), + ('header-1', 1), + ('header-2', 2), + ]) del header_matches[0] self.assertEqual( - [(match.header, match.position) for match in header_matches], - [('header-1', 0), ('header-2', 1)]) + [(match.header, match.position) for match in header_matches], [ + ('header-1', 0), + ('header-2', 1), + ]) header_matches.remove('header-1', 'pattern') self.assertEqual( [(match.header, match.position) for match in header_matches], |
