Skip to content

Commit 41bf085

Browse files
fix unittestcase
1 parent bb0cec0 commit 41bf085

File tree

1 file changed

+20
-28
lines changed

1 file changed

+20
-28
lines changed

src/tests/api/helpers/test_azure_credential_utils.py

Lines changed: 20 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -7,93 +7,85 @@
77

88
import helpers.azure_credential_utils as azure_credential_utils
99

10+
@pytest.fixture
11+
def mock_env_vars():
12+
return {
13+
"app_env": "dev"
14+
}
15+
1016
class TestAzureCredentialUtils:
11-
@patch("helpers.azure_credential_utils.Config")
17+
@patch.dict(os.environ, clear=True)
1218
@patch("helpers.azure_credential_utils.DefaultAzureCredential")
1319
@patch("helpers.azure_credential_utils.ManagedIdentityCredential")
14-
def test_get_azure_credential_dev_env(self, mock_managed_identity_credential, mock_default_azure_credential, mock_config):
20+
def test_get_azure_credential_dev_env(self, mock_managed_identity_credential, mock_default_azure_credential, mock_env_vars):
1521
"""Test get_azure_credential in dev environment."""
1622
# Arrange
17-
mock_config_instance = MagicMock()
18-
mock_config_instance.app_env = "dev"
19-
mock_config.return_value = mock_config_instance
20-
23+
os.environ.update(mock_env_vars)
2124
mock_default_credential = MagicMock()
2225
mock_default_azure_credential.return_value = mock_default_credential
2326

2427
# Act
2528
credential = azure_credential_utils.get_azure_credential()
2629

2730
# Assert
28-
mock_config.assert_called_once()
2931
mock_default_azure_credential.assert_called_once()
3032
mock_managed_identity_credential.assert_not_called()
3133
assert credential == mock_default_credential
3234

33-
@patch("helpers.azure_credential_utils.Config")
35+
@patch.dict(os.environ, clear=True)
3436
@patch("helpers.azure_credential_utils.DefaultAzureCredential")
3537
@patch("helpers.azure_credential_utils.ManagedIdentityCredential")
36-
def test_get_azure_credential_non_dev_env(self, mock_managed_identity_credential, mock_default_azure_credential, mock_config):
38+
def test_get_azure_credential_non_dev_env(self, mock_managed_identity_credential, mock_default_azure_credential, mock_env_vars):
3739
"""Test get_azure_credential in non-dev environment."""
3840
# Arrange
39-
mock_config_instance = MagicMock()
40-
mock_config_instance.app_env = "Prod"
41-
mock_config.return_value = mock_config_instance
42-
41+
mock_env_vars["app_env"] = "prod"
42+
os.environ.update(mock_env_vars)
4343
mock_managed_credential = MagicMock()
4444
mock_managed_identity_credential.return_value = mock_managed_credential
4545

4646
# Act
4747
credential = azure_credential_utils.get_azure_credential(client_id="test-client-id")
4848

4949
# Assert
50-
mock_config.assert_called_once()
5150
mock_managed_identity_credential.assert_called_once_with(client_id="test-client-id")
5251
mock_default_azure_credential.assert_not_called()
5352
assert credential == mock_managed_credential
5453

5554
@pytest.mark.asyncio
56-
@patch("helpers.azure_credential_utils.Config")
55+
@patch.dict(os.environ, clear=True)
5756
@patch("helpers.azure_credential_utils.AioDefaultAzureCredential")
5857
@patch("helpers.azure_credential_utils.AioManagedIdentityCredential")
59-
async def test_get_azure_credential_async_dev_env(self, mock_aio_managed_identity_credential, mock_aio_default_azure_credential, mock_config):
58+
async def test_get_azure_credential_async_dev_env(self, mock_aio_managed_identity_credential, mock_aio_default_azure_credential, mock_env_vars):
6059
"""Test get_azure_credential_async in dev environment."""
6160
# Arrange
62-
mock_config_instance = MagicMock()
63-
mock_config_instance.app_env = "dev"
64-
mock_config.return_value = mock_config_instance
65-
61+
os.environ.update(mock_env_vars)
6662
mock_aio_default_credential = MagicMock()
6763
mock_aio_default_azure_credential.return_value = mock_aio_default_credential
6864

6965
# Act
7066
credential = await azure_credential_utils.get_azure_credential_async()
7167

7268
# Assert
73-
mock_config.assert_called_once()
7469
mock_aio_default_azure_credential.assert_called_once()
7570
mock_aio_managed_identity_credential.assert_not_called()
7671
assert credential == mock_aio_default_credential
7772

7873
@pytest.mark.asyncio
79-
@patch("helpers.azure_credential_utils.Config")
74+
@patch.dict(os.environ, clear=True)
8075
@patch("helpers.azure_credential_utils.AioDefaultAzureCredential")
8176
@patch("helpers.azure_credential_utils.AioManagedIdentityCredential")
82-
async def test_get_azure_credential_async_non_dev_env(self, mock_aio_managed_identity_credential, mock_aio_default_azure_credential, mock_config):
77+
async def test_get_azure_credential_async_non_dev_env(self, mock_aio_managed_identity_credential, mock_aio_default_azure_credential, mock_env_vars):
8378
"""Test get_azure_credential_async in non-dev environment."""
8479
# Arrange
85-
mock_config_instance = MagicMock()
86-
mock_config_instance.app_env = "Prod"
87-
mock_config.return_value = mock_config_instance
88-
80+
mock_env_vars["app_env"] = "prod"
81+
os.environ.update(mock_env_vars)
8982
mock_aio_managed_credential = MagicMock()
9083
mock_aio_managed_identity_credential.return_value = mock_aio_managed_credential
9184

9285
# Act
9386
credential = await azure_credential_utils.get_azure_credential_async(client_id="test-client-id")
9487

9588
# Assert
96-
mock_config.assert_called_once()
9789
mock_aio_managed_identity_credential.assert_called_once_with(client_id="test-client-id")
9890
mock_aio_default_azure_credential.assert_not_called()
9991
assert credential == mock_aio_managed_credential

0 commit comments

Comments
 (0)