|
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