Skip to content

Commit

Permalink
test: improve auth test coverage
Browse files Browse the repository at this point in the history
by adding missing and failed app install tests

Signed-off-by: Zack Koppert <[email protected]>
  • Loading branch information
zkoppert committed Nov 5, 2024
1 parent 69267c5 commit 8197448
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 @@ -12,6 +12,7 @@
from unittest.mock import MagicMock, patch

import github3
import requests
from auth import auth_to_github, get_github_app_installation_token


Expand Down Expand Up @@ -87,3 +88,39 @@ 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 = 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_missing_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_to_github("not_a_valid_token", "", "", b"", "", False)

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

0 comments on commit 8197448

Please sign in to comment.