Fix the failed refresh mock
This commit is contained in:
parent
9b8d9b2270
commit
c5e6a75f55
@ -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],
|
||||||
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user