Skip to content

Commit

Permalink
improve auth test coverage by adding invalid and failed app install t…
Browse files Browse the repository at this point in the history
…ests

Signed-off-by: Zack Koppert <zkoppert@github.com>
  • Loading branch information
zkoppert committed Nov 5, 2024
1 parent ea3d489 commit dc513b4
Showing 1 changed file with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions test_auth.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
from unittest.mock import MagicMock, patch

import auth
import requests


class TestAuth(unittest.TestCase):
Expand Down Expand Up @@ -91,6 +92,42 @@ def test_get_github_app_installation_token(self, mock_post):

self.assertEqual(result, dummy_token)

@patch("github3.apps.create_jwt_headers", MagicMock(return_value="gh_token"))
@patch("auth.requests.post")
def test_get_github_app_installation_token_request_failure(self, mock_post):
"""
Test the get_github_app_installation_token function returns None when the request fails.
"""
# Mock the post request to raise a RequestException
mock_post.side_effect = requests.exceptions.RequestException("Request failed")

# Call the function with test data
result = auth.get_github_app_installation_token(
ghe="https://api.github.com",
gh_app_id=12345,
gh_app_private_key_bytes=b"private_key",
gh_app_installation_id=678910,
)

# Assert that the result is None
self.assertIsNone(result)

@patch("github3.login")
def test_auth_to_github_invalid_credentials(self, mock_login):
"""
Test the auth_to_github function raises correct ValueError
when credentials are present but incorrect.
"""
mock_login.return_value = None
with self.assertRaises(ValueError) as context_manager:
auth.auth_to_github("not_a_valid_token", "", "", b"", "", False)

the_exception = context_manager.exception
self.assertEqual(
str(the_exception),
"Unable to authenticate to GitHub",
)


if __name__ == "__main__":
unittest.main()

0 comments on commit dc513b4

Please sign in to comment.