Fix the failed refresh mock

This commit is contained in:
shamoon 2024-10-07 11:50:41 -07:00
parent 9b8d9b2270
commit c5e6a75f55

View File

@ -7,6 +7,7 @@ from django.test import TestCase
from django.test import override_settings from django.test import override_settings
from django.utils import timezone from django.utils import timezone
from httpx_oauth.oauth2 import GetAccessTokenError from httpx_oauth.oauth2 import GetAccessTokenError
from httpx_oauth.oauth2 import RefreshTokenError
from rest_framework import status from rest_framework import status
from paperless_mail.mail import MailAccountHandler from paperless_mail.mail import MailAccountHandler
@ -261,6 +262,7 @@ class TestMailOAuth(
- handle_mail_account is called - handle_mail_account is called
- Refresh token is called but fails - Refresh token is called but fails
THEN: THEN:
- Error is logged
- 0 processed mails is returned - 0 processed mails is returned
""" """
@ -278,13 +280,16 @@ class TestMailOAuth(
expiration=timezone.now() - timedelta(days=1), expiration=timezone.now() - timedelta(days=1),
) )
mock_refresh_token.return_value = { mock_refresh_token.side_effect = RefreshTokenError("test_error")
"error": "test_error",
}
with self.assertLogs("paperless_mail", level="ERROR") as cm:
# returns 0 processed mails # returns 0 processed mails
self.assertEqual( self.assertEqual(
self.mail_account_handler.handle_mail_account(mail_account), self.mail_account_handler.handle_mail_account(mail_account),
0, 0,
) )
mock_refresh_token.assert_called_once() mock_refresh_token.assert_called_once()
self.assertIn(
f"Failed to refresh oauth token for account {mail_account}: test_error",
cm.output[0],
)