Skip to content

Commit 183b9a5

Browse files
authored
Update Test Case Usage (#42613)
1 parent 7c94732 commit 183b9a5

12 files changed

+129
-335
lines changed

sdk/appconfiguration/azure-appconfiguration-provider/tests/asynctestcase.py

Lines changed: 19 additions & 130 deletions
Original file line numberDiff line numberDiff line change
@@ -8,147 +8,36 @@
88
from azure.appconfiguration.aio import AzureAppConfigurationClient
99
from testcase import get_configs
1010
from azure.appconfiguration.provider.aio import load
11-
from azure.appconfiguration.provider import SettingSelector, AzureAppConfigurationKeyVaultOptions
11+
from azure.appconfiguration.provider import AzureAppConfigurationKeyVaultOptions
1212
from test_constants import FEATURE_MANAGEMENT_KEY, FEATURE_FLAG_KEY
1313

1414

1515
class AppConfigTestCase(AzureRecordedTestCase):
16-
async def create_aad_client(
17-
self,
18-
appconfiguration_endpoint_string,
19-
trim_prefixes=[],
20-
selects={SettingSelector(key_filter="*", label_filter="\0")},
21-
keyvault_secret_url=None,
22-
refresh_on=None,
23-
refresh_interval=30,
24-
secret_resolver=None,
25-
key_vault_options=None,
26-
on_refresh_success=None,
27-
feature_flag_enabled=False,
28-
feature_flag_selectors=[SettingSelector(key_filter="*", label_filter="\0")],
29-
feature_flag_refresh_enabled=False,
30-
):
31-
cred = self.get_credential(AzureAppConfigurationClient, is_async=True)
16+
async def create_client(self, **kwargs):
17+
credential = self.get_credential(AzureAppConfigurationClient, is_async=True)
18+
client = None
3219

33-
if not secret_resolver and keyvault_secret_url:
34-
keyvault_cred = cred
20+
if "connection_string" in kwargs:
21+
client = AzureAppConfigurationClient.from_connection_string(kwargs["connection_string"])
3522
else:
36-
keyvault_cred = None
23+
client = AzureAppConfigurationClient(kwargs["endpoint"], credential)
3724

38-
client = AzureAppConfigurationClient(appconfiguration_endpoint_string, cred)
39-
await setup_configs(client, keyvault_secret_url)
25+
await setup_configs(client, kwargs.get("keyvault_secret_url"))
26+
kwargs["user_agent"] = "SDK/Integration"
4027

41-
if not secret_resolver and keyvault_secret_url and not key_vault_options:
42-
keyvault_cred = cred
43-
return await load(
44-
credential=cred,
45-
endpoint=appconfiguration_endpoint_string,
46-
trim_prefixes=trim_prefixes,
47-
selects=selects,
48-
refresh_on=refresh_on,
49-
refresh_interval=refresh_interval,
50-
user_agent="SDK/Integration",
51-
keyvault_credential=keyvault_cred,
52-
on_refresh_success=on_refresh_success,
53-
feature_flag_enabled=feature_flag_enabled,
54-
feature_flag_selectors=feature_flag_selectors,
55-
feature_flag_refresh_enabled=feature_flag_refresh_enabled,
56-
)
57-
if key_vault_options:
58-
if not key_vault_options.secret_resolver:
59-
key_vault_options = AzureAppConfigurationKeyVaultOptions(credential=cred)
60-
return await load(
61-
credential=cred,
62-
endpoint=appconfiguration_endpoint_string,
63-
trim_prefixes=trim_prefixes,
64-
selects=selects,
65-
refresh_on=refresh_on,
66-
refresh_interval=refresh_interval,
67-
user_agent="SDK/Integration",
68-
key_vault_options=key_vault_options,
69-
on_refresh_success=on_refresh_success,
70-
feature_flag_enabled=feature_flag_enabled,
71-
feature_flag_selectors=feature_flag_selectors,
72-
feature_flag_refresh_enabled=feature_flag_refresh_enabled,
73-
)
74-
return await load(
75-
credential=cred,
76-
endpoint=appconfiguration_endpoint_string,
77-
trim_prefixes=trim_prefixes,
78-
selects=selects,
79-
refresh_on=refresh_on,
80-
refresh_interval=refresh_interval,
81-
user_agent="SDK/Integration",
82-
secret_resolver=secret_resolver,
83-
on_refresh_success=on_refresh_success,
84-
feature_flag_enabled=feature_flag_enabled,
85-
feature_flag_selectors=feature_flag_selectors,
86-
feature_flag_refresh_enabled=feature_flag_refresh_enabled,
87-
)
28+
if "endpoint" in kwargs:
29+
kwargs["credential"] = credential
8830

89-
async def create_client(
90-
self,
91-
appconfiguration_connection_string,
92-
trim_prefixes=[],
93-
selects={SettingSelector(key_filter="*", label_filter="\0")},
94-
keyvault_secret_url=None,
95-
refresh_on=None,
96-
refresh_interval=30,
97-
secret_resolver=None,
98-
key_vault_options=None,
99-
on_refresh_success=None,
100-
feature_flag_enabled=False,
101-
feature_flag_selectors=[SettingSelector(key_filter="*", label_filter="\0")],
102-
feature_flag_refresh_enabled=False,
103-
):
104-
client = AzureAppConfigurationClient.from_connection_string(appconfiguration_connection_string)
105-
await setup_configs(client, keyvault_secret_url)
31+
if "secret_resolver" not in kwargs and kwargs.get("keyvault_secret_url") and "key_vault_options" not in kwargs:
32+
kwargs["keyvault_credential"] = credential
10633

107-
if not secret_resolver and keyvault_secret_url and not key_vault_options:
108-
return await load(
109-
connection_string=appconfiguration_connection_string,
110-
trim_prefixes=trim_prefixes,
111-
selects=selects,
112-
refresh_on=refresh_on,
113-
refresh_interval=refresh_interval,
114-
user_agent="SDK/Integration",
115-
keyvault_credential=self.get_credential(AzureAppConfigurationClient, is_async=True),
116-
on_refresh_success=on_refresh_success,
117-
feature_flag_enabled=feature_flag_enabled,
118-
feature_flag_selectors=feature_flag_selectors,
119-
feature_flag_refresh_enabled=feature_flag_refresh_enabled,
120-
)
121-
if key_vault_options:
34+
if "key_vault_options" in kwargs:
35+
key_vault_options = kwargs.pop("key_vault_options")
12236
if not key_vault_options.secret_resolver:
123-
key_vault_options = AzureAppConfigurationKeyVaultOptions(
124-
credential=self.get_credential(AzureAppConfigurationClient, is_async=True)
125-
)
126-
return await load(
127-
connection_string=appconfiguration_connection_string,
128-
trim_prefixes=trim_prefixes,
129-
selects=selects,
130-
refresh_on=refresh_on,
131-
refresh_interval=refresh_interval,
132-
user_agent="SDK/Integration",
133-
key_vault_options=key_vault_options,
134-
on_refresh_success=on_refresh_success,
135-
feature_flag_enabled=feature_flag_enabled,
136-
feature_flag_selectors=feature_flag_selectors,
137-
feature_flag_refresh_enabled=feature_flag_refresh_enabled,
138-
)
139-
return await load(
140-
connection_string=appconfiguration_connection_string,
141-
trim_prefixes=trim_prefixes,
142-
selects=selects,
143-
refresh_on=refresh_on,
144-
refresh_interval=refresh_interval,
145-
user_agent="SDK/Integration",
146-
secret_resolver=secret_resolver,
147-
on_refresh_success=on_refresh_success,
148-
feature_flag_enabled=feature_flag_enabled,
149-
feature_flag_selectors=feature_flag_selectors,
150-
feature_flag_refresh_enabled=feature_flag_refresh_enabled,
151-
)
37+
key_vault_options = AzureAppConfigurationKeyVaultOptions(credential=credential)
38+
kwargs["key_vault_options"] = key_vault_options
39+
40+
return await load(**kwargs)
15241

15342
@staticmethod
15443
def create_sdk_client(appconfiguration_connection_string):

sdk/appconfiguration/azure-appconfiguration-provider/tests/test_async_provider.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class TestAppConfigurationProvider(AppConfigTestCase):
2222
@recorded_by_proxy_async
2323
async def test_provider_creation(self, appconfiguration_connection_string, appconfiguration_keyvault_secret_url):
2424
async with await self.create_client(
25-
appconfiguration_connection_string,
25+
connection_string=appconfiguration_connection_string,
2626
keyvault_secret_url=appconfiguration_keyvault_secret_url,
2727
feature_flag_enabled=True,
2828
) as client:
@@ -40,7 +40,7 @@ async def test_provider_trim_prefixes(
4040
):
4141
trimmed = {"test."}
4242
async with await self.create_client(
43-
appconfiguration_connection_string,
43+
connection_string=appconfiguration_connection_string,
4444
trim_prefixes=trimmed,
4545
keyvault_secret_url=appconfiguration_keyvault_secret_url,
4646
feature_flag_enabled=True,
@@ -58,7 +58,7 @@ async def test_provider_trim_prefixes(
5858
async def test_provider_selectors(self, appconfiguration_connection_string, appconfiguration_keyvault_secret_url):
5959
selects = {SettingSelector(key_filter="message*", label_filter="dev")}
6060
async with await self.create_client(
61-
appconfiguration_connection_string,
61+
connection_string=appconfiguration_connection_string,
6262
selects=selects,
6363
keyvault_secret_url=appconfiguration_keyvault_secret_url,
6464
) as client:
@@ -74,7 +74,7 @@ async def test_provider_key_vault_reference(
7474
):
7575
selects = {SettingSelector(key_filter="*", label_filter="prod")}
7676
async with await self.create_client(
77-
appconfiguration_connection_string,
77+
connection_string=appconfiguration_connection_string,
7878
selects=selects,
7979
keyvault_secret_url=appconfiguration_keyvault_secret_url,
8080
) as client:
@@ -86,7 +86,7 @@ async def test_provider_key_vault_reference(
8686
async def test_provider_secret_resolver(self, appconfiguration_connection_string):
8787
selects = {SettingSelector(key_filter="*", label_filter="prod")}
8888
async with await self.create_client(
89-
appconfiguration_connection_string, selects=selects, secret_resolver=secret_resolver
89+
connection_string=appconfiguration_connection_string, selects=selects, secret_resolver=secret_resolver
9090
) as client:
9191
assert client["secret"] == "Resolver Value"
9292

@@ -99,7 +99,7 @@ async def test_provider_key_vault_reference_options(
9999
selects = {SettingSelector(key_filter="*", label_filter="prod")}
100100
key_vault_options = AzureAppConfigurationKeyVaultOptions()
101101
async with await self.create_client(
102-
appconfiguration_connection_string,
102+
connection_string=appconfiguration_connection_string,
103103
selects=selects,
104104
keyvault_secret_url=appconfiguration_keyvault_secret_url,
105105
key_vault_options=key_vault_options,
@@ -113,7 +113,7 @@ async def test_provider_secret_resolver_options(self, appconfiguration_connectio
113113
selects = {SettingSelector(key_filter="*", label_filter="prod")}
114114
key_vault_options = AzureAppConfigurationKeyVaultOptions(secret_resolver=secret_resolver)
115115
async with await self.create_client(
116-
appconfiguration_connection_string, selects=selects, key_vault_options=key_vault_options
116+
connection_string=appconfiguration_connection_string, selects=selects, key_vault_options=key_vault_options
117117
) as client:
118118
assert client["secret"] == "Resolver Value"
119119

@@ -223,7 +223,7 @@ async def test_process_key_value_content_type(self, appconfiguration_connection_
223223
async def test_provider_tag_filters(self, appconfiguration_connection_string, appconfiguration_keyvault_secret_url):
224224
selects = {SettingSelector(key_filter="*", tag_filters=["a=b"])}
225225
async with await self.create_client(
226-
appconfiguration_connection_string,
226+
connection_string=appconfiguration_connection_string,
227227
selects=selects,
228228
feature_flag_enabled=True,
229229
feature_flag_selectors={SettingSelector(key_filter="*", tag_filters=["a=b"])},

sdk/appconfiguration/azure-appconfiguration-provider/tests/test_async_provider_aad.py

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ class TestAppConfigurationProvider(AppConfigTestCase):
1515
@app_config_decorator_async
1616
@recorded_by_proxy_async
1717
async def test_provider_creation_aad(self, appconfiguration_endpoint_string, appconfiguration_keyvault_secret_url):
18-
async with await self.create_aad_client(
19-
appconfiguration_endpoint_string,
18+
async with await self.create_client(
19+
endpoint=appconfiguration_endpoint_string,
2020
keyvault_secret_url=appconfiguration_keyvault_secret_url,
2121
feature_flag_enabled=True,
2222
) as client:
@@ -31,8 +31,8 @@ async def test_provider_creation_aad(self, appconfiguration_endpoint_string, app
3131
@recorded_by_proxy_async
3232
async def test_provider_trim_prefixes(self, appconfiguration_endpoint_string, appconfiguration_keyvault_secret_url):
3333
trimmed = {"test."}
34-
async with await self.create_aad_client(
35-
appconfiguration_endpoint_string,
34+
async with await self.create_client(
35+
endpoint=appconfiguration_endpoint_string,
3636
trim_prefixes=trimmed,
3737
keyvault_secret_url=appconfiguration_keyvault_secret_url,
3838
feature_flag_enabled=True,
@@ -48,8 +48,8 @@ async def test_provider_trim_prefixes(self, appconfiguration_endpoint_string, ap
4848
@recorded_by_proxy_async
4949
async def test_provider_selectors(self, appconfiguration_endpoint_string, appconfiguration_keyvault_secret_url):
5050
selects = {SettingSelector(key_filter="message*", label_filter="dev")}
51-
async with await self.create_aad_client(
52-
appconfiguration_endpoint_string,
51+
async with await self.create_client(
52+
endpoint=appconfiguration_endpoint_string,
5353
selects=selects,
5454
keyvault_secret_url=appconfiguration_keyvault_secret_url,
5555
) as client:
@@ -64,8 +64,10 @@ async def test_provider_key_vault_reference(
6464
self, appconfiguration_endpoint_string, appconfiguration_keyvault_secret_url
6565
):
6666
selects = {SettingSelector(key_filter="*", label_filter="prod")}
67-
async with await self.create_aad_client(
68-
appconfiguration_endpoint_string, selects=selects, keyvault_secret_url=appconfiguration_keyvault_secret_url
67+
async with await self.create_client(
68+
endpoint=appconfiguration_endpoint_string,
69+
selects=selects,
70+
keyvault_secret_url=appconfiguration_keyvault_secret_url,
6971
) as client:
7072
assert client["secret"] == "Very secret value"
7173

@@ -74,8 +76,8 @@ async def test_provider_key_vault_reference(
7476
@recorded_by_proxy_async
7577
async def test_provider_secret_resolver(self, appconfiguration_endpoint_string):
7678
selects = {SettingSelector(key_filter="*", label_filter="prod")}
77-
async with await self.create_aad_client(
78-
appconfiguration_endpoint_string, selects=selects, secret_resolver=secret_resolver
79+
async with await self.create_client(
80+
endpoint=appconfiguration_endpoint_string, selects=selects, secret_resolver=secret_resolver
7981
) as client:
8082
assert client["secret"] == "Resolver Value"
8183

@@ -87,8 +89,8 @@ async def test_provider_key_vault_reference_options(
8789
):
8890
selects = {SettingSelector(key_filter="*", label_filter="prod")}
8991
key_vault_options = AzureAppConfigurationKeyVaultOptions()
90-
async with await self.create_aad_client(
91-
appconfiguration_endpoint_string,
92+
async with await self.create_client(
93+
endpoint=appconfiguration_endpoint_string,
9294
selects=selects,
9395
keyvault_secret_url=appconfiguration_keyvault_secret_url,
9496
key_vault_options=key_vault_options,
@@ -101,17 +103,17 @@ async def test_provider_key_vault_reference_options(
101103
async def test_provider_secret_resolver_options(self, appconfiguration_endpoint_string):
102104
selects = {SettingSelector(key_filter="*", label_filter="prod")}
103105
key_vault_options = AzureAppConfigurationKeyVaultOptions(secret_resolver=secret_resolver)
104-
async with await self.create_aad_client(
105-
appconfiguration_endpoint_string, selects=selects, key_vault_options=key_vault_options
106+
async with await self.create_client(
107+
endpoint=appconfiguration_endpoint_string, selects=selects, key_vault_options=key_vault_options
106108
) as client:
107109
assert client["secret"] == "Resolver Value"
108110

109111
@app_config_decorator_async
110112
@recorded_by_proxy_async
111113
async def test_provider_tag_filters(self, appconfiguration_endpoint_string, appconfiguration_keyvault_secret_url):
112114
selects = {SettingSelector(key_filter="*", tag_filters=["a=b"])}
113-
async with await self.create_aad_client(
114-
appconfiguration_endpoint_string,
115+
async with await self.create_client(
116+
endpoint=appconfiguration_endpoint_string,
115117
selects=selects,
116118
feature_flag_enabled=True,
117119
feature_flag_selectors={SettingSelector(key_filter="*", tag_filters=["a=b"])},

sdk/appconfiguration/azure-appconfiguration-provider/tests/test_async_provider_feature_management.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class TestAppConfigurationProviderFeatureManagement(AppConfigTestCase):
1818
@recorded_by_proxy_async
1919
async def test_load_only_feature_flags(self, appconfiguration_connection_string):
2020
async with await self.create_client(
21-
appconfiguration_connection_string,
21+
connection_string=appconfiguration_connection_string,
2222
selects=[],
2323
feature_flag_enabled=True,
2424
) as client:

sdk/appconfiguration/azure-appconfiguration-provider/tests/test_async_provider_refresh.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ class TestAppConfigurationProvider(AppConfigTestCase, unittest.TestCase):
2626
@pytest.mark.asyncio
2727
async def test_refresh(self, appconfiguration_endpoint_string, appconfiguration_keyvault_secret_url):
2828
mock_callback = AsyncMock()
29-
async with await self.create_aad_client(
30-
appconfiguration_endpoint_string,
29+
async with await self.create_client(
30+
endpoint=appconfiguration_endpoint_string,
3131
keyvault_secret_url=appconfiguration_keyvault_secret_url,
3232
refresh_on=[WatchKey("refresh_message")],
3333
refresh_interval=1,
@@ -95,8 +95,8 @@ async def test_refresh(self, appconfiguration_endpoint_string, appconfiguration_
9595
@pytest.mark.asyncio
9696
async def test_empty_refresh(self, appconfiguration_endpoint_string, appconfiguration_keyvault_secret_url):
9797
mock_callback = AsyncMock()
98-
async with await self.create_aad_client(
99-
appconfiguration_endpoint_string,
98+
async with await self.create_client(
99+
endpoint=appconfiguration_endpoint_string,
100100
keyvault_secret_url=appconfiguration_keyvault_secret_url,
101101
on_refresh_success=mock_callback,
102102
feature_flag_enabled=True,

0 commit comments

Comments
 (0)