33"""
44
55import pytest
6+ from azure .keyvault .secrets import SecretClient
67from pydantic import BaseModel , Field
78from pytest_mock import MockerFixture
89
2324 azure_key_vault = False
2425
2526
26- MODULE = 'pydantic_settings.sources.providers.azure'
27-
28-
2927@pytest .mark .skipif (not azure_key_vault , reason = 'pydantic-settings[azure-key-vault] is not installed' )
3028class TestAzureKeyVaultSettingsSource :
3129 """Test AzureKeyVaultSettingsSource."""
@@ -36,7 +34,10 @@ def test___init__(self, mocker: MockerFixture) -> None:
3634 class AzureKeyVaultSettings (BaseSettings ):
3735 """AzureKeyVault settings."""
3836
39- mocker .patch (f'{ MODULE } .SecretClient.list_properties_of_secrets' , return_value = [])
37+ mocker .patch (
38+ f'{ AzureKeyVaultSettingsSource .__module__ } .{ SecretClient .list_properties_of_secrets .__qualname__ } ' ,
39+ return_value = [],
40+ )
4041
4142 AzureKeyVaultSettingsSource (
4243 AzureKeyVaultSettings , 'https://my-resource.vault.azure.net/' , DefaultAzureCredential ()
@@ -55,11 +56,17 @@ class AzureKeyVaultSettings(BaseSettings):
5556 sql_server_user : str = Field (..., alias = 'SqlServerUser' )
5657 sql_server : SqlServer = Field (..., alias = 'SqlServer' )
5758
58- expected_secrets = [type ('' , (), {'name' : 'SqlServerUser' }), type ('' , (), {'name' : 'SqlServer--Password' })]
59+ expected_secrets = [
60+ type ('' , (), {'name' : 'SqlServerUser' , 'enabled' : True }),
61+ type ('' , (), {'name' : 'SqlServer--Password' , 'enabled' : True }),
62+ ]
5963 expected_secret_value = 'SecretValue'
60- mocker .patch (f'{ MODULE } .SecretClient.list_properties_of_secrets' , return_value = expected_secrets )
6164 mocker .patch (
62- f'{ MODULE } .SecretClient.get_secret' ,
65+ f'{ AzureKeyVaultSettingsSource .__module__ } .{ SecretClient .list_properties_of_secrets .__qualname__ } ' ,
66+ return_value = expected_secrets ,
67+ )
68+ mocker .patch (
69+ f'{ AzureKeyVaultSettingsSource .__module__ } .{ SecretClient .get_secret .__qualname__ } ' ,
6370 side_effect = self ._raise_resource_not_found_when_getting_parent_secret_name ,
6471 )
6572 obj = AzureKeyVaultSettingsSource (
@@ -99,11 +106,17 @@ def settings_customise_sources(
99106 ),
100107 )
101108
102- expected_secrets = [type ('' , (), {'name' : 'SqlServerUser' }), type ('' , (), {'name' : 'SqlServer--Password' })]
109+ expected_secrets = [
110+ type ('' , (), {'name' : 'SqlServerUser' , 'enabled' : True }),
111+ type ('' , (), {'name' : 'SqlServer--Password' , 'enabled' : True }),
112+ ]
103113 expected_secret_value = 'SecretValue'
104- mocker .patch (f'{ MODULE } .SecretClient.list_properties_of_secrets' , return_value = expected_secrets )
105114 mocker .patch (
106- f'{ MODULE } .SecretClient.get_secret' ,
115+ f'{ AzureKeyVaultSettingsSource .__module__ } .{ SecretClient .list_properties_of_secrets .__qualname__ } ' ,
116+ return_value = expected_secrets ,
117+ )
118+ mocker .patch (
119+ f'{ AzureKeyVaultSettingsSource .__module__ } .{ SecretClient .get_secret .__qualname__ } ' ,
107120 side_effect = self ._raise_resource_not_found_when_getting_parent_secret_name ,
108121 )
109122
0 commit comments