Skip to content

Commit 8fc57b8

Browse files
Resolve test cases error
1 parent ec8d7a0 commit 8fc57b8

2 files changed

Lines changed: 14 additions & 16 deletions

File tree

src/tests/ContentProcessor/utils/test_azure_credential_utils.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
from unittest.mock import MagicMock, patch
99

10+
import pytest
11+
1012
import libs.utils.azure_credential_utils as azure_credential_utils
1113

1214
MODULE = "libs.utils.azure_credential_utils"
@@ -45,16 +47,16 @@ def test_returns_user_assigned_with_client_id(self, mock_managed):
4547
mock_managed.assert_called_once_with(client_id="test-client-id")
4648
assert credential == mock_instance
4749

48-
@patch(f"{MODULE}.DefaultAzureCredential")
4950
@patch(f"{MODULE}.AzureDeveloperCliCredential", side_effect=Exception("no azd"))
5051
@patch(f"{MODULE}.AzureCliCredential", side_effect=Exception("no az"))
5152
@patch.dict("os.environ", {}, clear=True)
52-
def test_falls_back_to_default(self, mock_cli, mock_dev_cli, mock_default):
53-
mock_instance = MagicMock()
54-
mock_default.return_value = mock_instance
55-
credential = azure_credential_utils.get_azure_credential()
56-
mock_default.assert_called_once()
57-
assert credential == mock_instance
53+
def test_raises_when_no_credentials_available(
54+
self, mock_cli, mock_dev_cli
55+
):
56+
with pytest.raises(RuntimeError) as exc:
57+
azure_credential_utils.get_azure_credential()
58+
59+
assert "No Azure authentication available" in str(exc.value)
5860

5961

6062
# ── TestGetAsyncAzureCredential ─────────────────────────────────────────

src/tests/ContentProcessor/utils/test_azure_credential_utils_extended.py

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,26 +42,22 @@ def test_get_azure_credential_with_website_site_name(self, monkeypatch):
4242
assert credential == mock_instance
4343

4444
def test_get_azure_credential_cli_failure_fallback(self, monkeypatch):
45-
"""Test fallback to DefaultAzureCredential when CLI credentials fail"""
45+
"""Test RuntimeError when all credential options fail"""
4646
# Clear all Azure environment indicators
4747
for key in ["WEBSITE_SITE_NAME", "AZURE_CLIENT_ID", "MSI_ENDPOINT",
4848
"IDENTITY_ENDPOINT", "KUBERNETES_SERVICE_HOST", "CONTAINER_REGISTRY_LOGIN"]:
4949
monkeypatch.delenv(key, raising=False)
5050

5151
with patch('libs.utils.azure_credential_utils.AzureCliCredential') as mock_cli_cred, \
52-
patch('libs.utils.azure_credential_utils.AzureDeveloperCliCredential') as mock_azd_cred, \
53-
patch('libs.utils.azure_credential_utils.DefaultAzureCredential') as mock_default:
52+
patch('libs.utils.azure_credential_utils.AzureDeveloperCliCredential') as mock_azd_cred:
5453

55-
# Make both CLI credentials raise exceptions
5654
mock_cli_cred.side_effect = Exception("CLI credential failed")
5755
mock_azd_cred.side_effect = Exception("AZD credential failed")
58-
mock_default_instance = Mock()
59-
mock_default.return_value = mock_default_instance
6056

61-
credential = get_azure_credential()
57+
with pytest.raises(RuntimeError) as exc:
58+
get_azure_credential()
6259

63-
assert credential == mock_default_instance
64-
mock_default.assert_called_once()
60+
assert "No Azure authentication available" in str(exc.value)
6561

6662
def test_get_azure_credential_azd_success(self, monkeypatch):
6763
"""Test successful Azure Developer CLI credential"""

0 commit comments

Comments
 (0)