|
8 | 8 | from azure.appconfiguration.aio import AzureAppConfigurationClient
|
9 | 9 | from testcase import get_configs
|
10 | 10 | from azure.appconfiguration.provider.aio import load
|
11 |
| -from azure.appconfiguration.provider import SettingSelector, AzureAppConfigurationKeyVaultOptions |
| 11 | +from azure.appconfiguration.provider import AzureAppConfigurationKeyVaultOptions |
12 | 12 | from test_constants import FEATURE_MANAGEMENT_KEY, FEATURE_FLAG_KEY
|
13 | 13 |
|
14 | 14 |
|
15 | 15 | 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 |
32 | 19 |
|
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"]) |
35 | 22 | else:
|
36 |
| - keyvault_cred = None |
| 23 | + client = AzureAppConfigurationClient(kwargs["endpoint"], credential) |
37 | 24 |
|
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" |
40 | 27 |
|
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 |
88 | 30 |
|
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 |
106 | 33 |
|
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") |
122 | 36 | 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) |
152 | 41 |
|
153 | 42 | @staticmethod
|
154 | 43 | def create_sdk_client(appconfiguration_connection_string):
|
|
0 commit comments