Skip to content

Commit d0732f5

Browse files
test(test_get_azure_ad_token_provider.py): add unit test to ensure default azure credentials used in the right context
1 parent 84a7329 commit d0732f5

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

tests/test_litellm/secret_managers/test_get_azure_ad_token_provider.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,3 +214,32 @@ def test_get_azure_ad_token_provider_default_azure_credential(
214214
# Test that the returned callable works
215215
token = result()
216216
assert token == "mock-certificate-token"
217+
218+
@patch.dict(os.environ, {}, clear=True) # Clear all environment variables
219+
@patch("azure.identity.get_bearer_token_provider")
220+
@patch("azure.identity.DefaultAzureCredential")
221+
def test_get_azure_ad_token_provider_defaults_to_default_azure_credential(
222+
self, mock_default_azure_credential, mock_get_bearer_token_provider
223+
):
224+
"""Test get_azure_ad_token_provider defaults to DefaultAzureCredential when no credentials are present."""
225+
# Mock the Azure identity credential instance
226+
mock_credential_instance = MagicMock()
227+
mock_default_azure_credential.return_value = mock_credential_instance
228+
229+
# Mock the bearer token provider
230+
mock_token_provider = MagicMock(return_value="mock-default-token")
231+
mock_get_bearer_token_provider.return_value = mock_token_provider
232+
233+
# Call the function
234+
result = get_azure_ad_token_provider()
235+
236+
# Assertions
237+
assert callable(result)
238+
mock_default_azure_credential.assert_called_once_with()
239+
mock_get_bearer_token_provider.assert_called_once_with(
240+
mock_credential_instance, "https://cognitiveservices.azure.com/.default"
241+
)
242+
243+
# Test that the returned callable works
244+
token = result()
245+
assert token == "mock-default-token"

0 commit comments

Comments
 (0)