summaryrefslogtreecommitdiff
path: root/tests/commands
diff options
context:
space:
mode:
Diffstat (limited to 'tests/commands')
-rw-r--r--tests/commands/utils_tests.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/commands/utils_tests.py b/tests/commands/utils_tests.py
index 9abc36e1..5339bbf8 100644
--- a/tests/commands/utils_tests.py
+++ b/tests/commands/utils_tests.py
@@ -126,6 +126,12 @@ class TestGetKeys(unittest.TestCase):
ui.choice.assert_called_once()
+class _Account(object):
+ def __init__(self, encrypt_to_self=True, gpg_key=None):
+ self.encrypt_to_self = encrypt_to_self
+ self.gpg_key = gpg_key
+
+
class TestSetEncrypt(unittest.TestCase):
@inlineCallbacks
@@ -169,3 +175,32 @@ class TestSetEncrypt(unittest.TestCase):
yield utils.set_encrypt(ui, envelope)
self.assertFalse(envelope.encrypt)
self.assertEqual(envelope.encrypt_keys, {})
+
+ @inlineCallbacks
+ def test_encrypt_to_self_true(self):
+ ui = mock.Mock()
+ envelope = Envelope()
+ envelope['From'] = 'test@example.com'
+ envelope['To'] = 'ambig@example.com'
+ gpg_key = crypto.get_key(FPR)
+ account = _Account(encrypt_to_self=True, gpg_key=gpg_key)
+ with mock.patch('alot.commands.thread.settings.get_account_by_address',
+ mock.Mock(return_value=account)):
+ yield utils.set_encrypt(ui, envelope)
+ self.assertTrue(envelope.encrypt)
+ self.assertIn(FPR, envelope.encrypt_keys)
+ self.assertEqual(gpg_key, envelope.encrypt_keys[FPR])
+
+ @inlineCallbacks
+ def test_encrypt_to_self_false(self):
+ ui = mock.Mock()
+ envelope = Envelope()
+ envelope['From'] = 'test@example.com'
+ envelope['To'] = 'ambig@example.com'
+ gpg_key = crypto.get_key(FPR)
+ account = _Account(encrypt_to_self=False, gpg_key=gpg_key)
+ with mock.patch('alot.commands.thread.settings.get_account_by_address',
+ mock.Mock(return_value=account)):
+ yield utils.set_encrypt(ui, envelope)
+ self.assertTrue(envelope.encrypt)
+ self.assertNotIn(FPR, envelope.encrypt_keys)