diff options
author | Patrick Totzke <patricktotzke@gmail.com> | 2019-05-27 18:52:31 +0100 |
---|---|---|
committer | Patrick Totzke <patricktotzke@gmail.com> | 2019-06-02 14:44:13 +0100 |
commit | 7acf408aeddf903966c970ac0d31f95e7e956dd7 (patch) | |
tree | 229dafac500e7ec56b37cdb78253a1fda9c08421 /tests/db | |
parent | e9f5ff1dde0e28bbdf2b5919af1ac3bf646866f4 (diff) |
tests: move tests for db.utils.clear_my_address
Diffstat (limited to 'tests/db')
-rw-r--r-- | tests/db/test_utils.py | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/db/test_utils.py b/tests/db/test_utils.py index a27bee51..6ddc8843 100644 --- a/tests/db/test_utils.py +++ b/tests/db/test_utils.py @@ -22,6 +22,7 @@ import mock from alot import crypto from alot.db import utils from alot.errors import GPGProblem +from alot.account import Account from ..utilities import make_key, make_uid, TestCaseClassCleanup @@ -804,3 +805,54 @@ class Test_ensure_unique_address(unittest.TestCase): self.assertListEqual(actual, expected) +class _AccountTestClass(Account): + """Implements stubs for ABC methods.""" + + def send_mail(self, mail): + pass + + +class TestClearMyAddress(unittest.TestCase): + + me1 = u'me@example.com' + me2 = u'ME@example.com' + me3 = u'me+label@example.com' + me4 = u'ME+label@example.com' + me_regex = r'me\+.*@example.com' + me_named = u'alot team <me@example.com>' + you = u'you@example.com' + named = u'somebody you know <somebody@example.com>' + imposter = u'alot team <imposter@example.com>' + mine = _AccountTestClass( + address=me1, aliases=[], alias_regexp=me_regex, case_sensitive_username=True) + + + def test_empty_input_returns_empty_list(self): + self.assertListEqual( + utils.clear_my_address(self.mine, []), []) + + def test_only_my_emails_result_in_empty_list(self): + expected = [] + actual = utils.clear_my_address( + self.mine, [self.me1, self.me3, self.me_named]) + self.assertListEqual(actual, expected) + + def test_other_emails_are_untouched(self): + input_ = [self.you, self.me1, self.me_named, self.named] + expected = [self.you, self.named] + actual = utils.clear_my_address(self.mine, input_) + self.assertListEqual(actual, expected) + + def test_case_matters(self): + input_ = [self.me1, self.me2, self.me3, self.me4] + expected = [self.me2, self.me4] + actual = utils.clear_my_address(self.mine, input_) + self.assertListEqual(actual, expected) + + def test_same_address_with_different_real_name_is_removed(self): + input_ = [self.me_named, self.you] + expected = [self.you] + actual = utils.clear_my_address(self.mine, input_) + self.assertListEqual(actual, expected) + + |