diff options
author | Anike Arni <anikarni@gmail.com> | 2017-04-20 09:50:11 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-20 09:50:11 -0300 |
commit | 1a725d7dd2ae8d8bff41de0570c1d4e62ebd027e (patch) | |
tree | aff13dcb8e0fa2e50c10ff71413b4f2ba2b469bf /service/test/unit/test_account_recovery.py | |
parent | 3d394a960f43a87e38c2b8ffcbfc521ec5c759ff (diff) | |
parent | 014dde1cf661d2cc43dda79dcfa94ddc6a6b5ed0 (diff) |
Merge pull request #1056 from pixelated/recovery-code-email-template
Recovery code email translations and formatting
Diffstat (limited to 'service/test/unit/test_account_recovery.py')
-rw-r--r-- | service/test/unit/test_account_recovery.py | 51 |
1 files changed, 42 insertions, 9 deletions
diff --git a/service/test/unit/test_account_recovery.py b/service/test/unit/test_account_recovery.py index b0edc466..4dc9621f 100644 --- a/service/test/unit/test_account_recovery.py +++ b/service/test/unit/test_account_recovery.py @@ -50,25 +50,58 @@ class AccountRecoveryTest(unittest.TestCase): yield self.account_recovery.update_recovery_code() self.mock_bonafide_session.update_recovery_code.assert_called_once_with(self.generated_code) + @defer.inlineCallbacks + def test_creates_recovery_code(self): + when(self.account_recovery)._send_mail(ANY).thenReturn(defer.succeed(None)) + yield self.account_recovery.update_recovery_code() + self.mock_soledad.create_recovery_code.assert_called_once() + + @patch('pixelated.account_recovery.smtp.sendmail') + @patch('pixelated.account_recovery.pkg_resources.resource_filename') + @defer.inlineCallbacks + def test_default_email_template(self, mock_resource, mock_sendmail): + mock_sendmail.return_value = defer.succeed(None) + + with patch('pixelated.account_recovery.open', mock_open(read_data=''), create=True): + yield self.account_recovery.update_recovery_code() + mock_resource.assert_called_once_with('pixelated.assets', + 'recovery.mail.en-US') + + @patch('pixelated.account_recovery.smtp.sendmail') + @patch('pixelated.account_recovery.pkg_resources.resource_filename') + @defer.inlineCallbacks + def test_portuguese_email_template(self, mock_resource, mock_sendmail): + self.account_recovery = AccountRecovery( + self.mock_bonafide_session, + self.mock_soledad, + self.mock_smtp_config, + self.backup_email, + self.domain, + language='pt-BR') + mock_sendmail.return_value = defer.succeed(None) + + with patch('pixelated.account_recovery.open', mock_open(read_data=''), create=True): + yield self.account_recovery.update_recovery_code() + mock_resource.assert_called_once_with('pixelated.assets', + 'recovery.mail.pt-BR') + + @patch('pixelated.account_recovery.formatdate') @patch('pixelated.account_recovery.smtp.sendmail') @patch('pixelated.account_recovery.pkg_resources.resource_filename') @defer.inlineCallbacks - def test_send_recovery_code_by_email(self, mock_resource, mock_sendmail): + def test_send_recovery_code_by_email(self, mock_resource, mock_sendmail, mock_formatdate): mock_sendmail.return_value = defer.succeed(None) + mock_formatdate.return_value = 'Sat, 21 Mar 2015 19:30:09 -0300' sender = 'team@{}'.format(self.domain) - mock_file_content = '{domain}, {recovery_code}, {account_recovery_url}' - recovery_code_email = 'test.com, 4645a2f8997e5d0d, test.com/account-recovery' - msg = MIMEText(recovery_code_email) - msg['Subject'] = 'Recovery Code' - msg['From'] = sender - msg['To'] = self.backup_email + mock_file_content = '{backup_email}, {sender}, {date}, {domain}, {recovery_code}' + recovery_code_email = '\ntest@test.com, team@test.com, Sat, 21 Mar 2015 19:30:09 -0300, test.com, 34363435613266383939376535643064' with patch('pixelated.account_recovery.open', mock_open(read_data=mock_file_content), create=True): - yield self.account_recovery._send_mail(self.generated_code, self.backup_email) + yield self.account_recovery.update_recovery_code() mock_sendmail.assert_called_with( self.mock_smtp_config.remote_smtp_host, sender, [self.backup_email], - msg.as_string()) + recovery_code_email) |