From 785a25a724c429046c728bf5c500b42c3c0d9a67 Mon Sep 17 00:00:00 2001 From: Matt Metcalf Date: Fri, 23 Jan 2026 16:05:32 -0800 Subject: [PATCH 1/8] simple pylint fixes --- .../samples/conditional_operation_sample.py | 3 +- .../samples/hello_world_entra_id_sample.py | 2 +- .../hello_world_sample_entra_id_and_bleu.py | 6 +-- .../samples/snapshot_sample.py | 5 ++- .../samples/snapshot_sample_async.py | 5 ++- .../tests/asynctestcase.py | 4 +- .../tests/perfstress_tests/get.py | 2 - .../tests/perfstress_tests/set.py | 1 - .../azure-appconfiguration/tests/preparers.py | 6 ++- .../test_audience_error_handling_live.py | 9 ++-- ...test_audience_error_handling_live_async.py | 9 ++-- .../tests/test_audience_policy.py | 2 +- .../test_azure_appconfiguration_client.py | 44 ++++++++++--------- .../test_azure_appconfiguration_client_aad.py | 36 ++++++++------- ...azure_appconfiguration_client_aad_async.py | 41 +++++++++-------- ...est_azure_appconfiguration_client_async.py | 44 ++++++++++--------- .../tests/test_consistency.py | 10 ++--- .../tests/test_query_param_policy.py | 19 +++++--- .../azure-appconfiguration/tests/testcase.py | 12 ++--- 19 files changed, 139 insertions(+), 121 deletions(-) diff --git a/sdk/appconfiguration/azure-appconfiguration/samples/conditional_operation_sample.py b/sdk/appconfiguration/azure-appconfiguration/samples/conditional_operation_sample.py index 981acafbfce1..b3d433567c49 100644 --- a/sdk/appconfiguration/azure-appconfiguration/samples/conditional_operation_sample.py +++ b/sdk/appconfiguration/azure-appconfiguration/samples/conditional_operation_sample.py @@ -38,7 +38,8 @@ def main(): # Unconditional get first_get = client.get_configuration_setting(key="MyKey") if first_get is None: - return print("Error, unconditional set failed.") + print("Error, unconditional set failed.") + return print(first_get) # Conditional get, expect to return None because it is not modified diff --git a/sdk/appconfiguration/azure-appconfiguration/samples/hello_world_entra_id_sample.py b/sdk/appconfiguration/azure-appconfiguration/samples/hello_world_entra_id_sample.py index e539d26ddea1..c16da0b8b26b 100644 --- a/sdk/appconfiguration/azure-appconfiguration/samples/hello_world_entra_id_sample.py +++ b/sdk/appconfiguration/azure-appconfiguration/samples/hello_world_entra_id_sample.py @@ -26,7 +26,7 @@ def main(): # [START create_app_config_client] - ENDPOINT = os.environ["APPCONFIGURATION_ENDPOINT"] + ENDPOINT = os.environ["APPCONFIGURATION_ENDPOINT_STRING"] credential = DefaultAzureCredential() # Create app config client client = AzureAppConfigurationClient(base_url=ENDPOINT, credential=credential) diff --git a/sdk/appconfiguration/azure-appconfiguration/samples/hello_world_sample_entra_id_and_bleu.py b/sdk/appconfiguration/azure-appconfiguration/samples/hello_world_sample_entra_id_and_bleu.py index ad91cf88cd2b..72c5946826d2 100644 --- a/sdk/appconfiguration/azure-appconfiguration/samples/hello_world_sample_entra_id_and_bleu.py +++ b/sdk/appconfiguration/azure-appconfiguration/samples/hello_world_sample_entra_id_and_bleu.py @@ -10,8 +10,8 @@ FILE: hello_world_sample_entra_id_and_bleu.py DESCRIPTION: - This sample demos how to add/update/retrieve/delete configuration settings synchronously using Entra ID authentication - with Azure Bleu (French Sovereign Cloud). + This sample demos how to add/update/retrieve/delete configuration settings synchronously using Entra ID + authentication with Azure Bleu (French Sovereign Cloud). USAGE: python hello_world_sample_entra_id_and_bleu.py @@ -41,7 +41,7 @@ def main(): # [START create_app_config_client_entra_id] - ENDPOINT = os.environ["APPCONFIGURATION_ENDPOINT"] + ENDPOINT = os.environ["APPCONFIGURATION_ENDPOINT_STRING"] # Create app config client with Entra ID authentication credential = DefaultAzureCredential() diff --git a/sdk/appconfiguration/azure-appconfiguration/samples/snapshot_sample.py b/sdk/appconfiguration/azure-appconfiguration/samples/snapshot_sample.py index 833e15969c8f..a6ab605d83fe 100644 --- a/sdk/appconfiguration/azure-appconfiguration/samples/snapshot_sample.py +++ b/sdk/appconfiguration/azure-appconfiguration/samples/snapshot_sample.py @@ -10,7 +10,8 @@ FILE: snapshot_sample.py DESCRIPTION: - This sample demos how to create/retrieve/archive/recover/list configuration settings snapshot and list configuration settings of a snapshot synchronously. + This sample demos how to create/retrieve/archive/recover/list configuration settings snapshot and list + configuration settings of a snapshot synchronously. USAGE: python snapshot_sample.py @@ -18,8 +19,8 @@ 1) APPCONFIGURATION_CONNECTION_STRING: Connection String used to access the Azure App Configuration. """ import os -from azure.appconfiguration import AzureAppConfigurationClient, ConfigurationSetting from uuid import uuid4 +from azure.appconfiguration import AzureAppConfigurationClient, ConfigurationSetting def main(): diff --git a/sdk/appconfiguration/azure-appconfiguration/samples/snapshot_sample_async.py b/sdk/appconfiguration/azure-appconfiguration/samples/snapshot_sample_async.py index e96883a68078..9e1e33b755e7 100644 --- a/sdk/appconfiguration/azure-appconfiguration/samples/snapshot_sample_async.py +++ b/sdk/appconfiguration/azure-appconfiguration/samples/snapshot_sample_async.py @@ -10,7 +10,8 @@ FILE: snapshot_sample_async.py DESCRIPTION: - This sample demos how to create/retrieve/archive/recover/list configuration settings snapshot and list configuration settings of a snapshot asynchronously. + This sample demos how to create/retrieve/archive/recover/list configuration settings snapshot and list configuration + settings of a snapshot asynchronously. USAGE: python snapshot_sample_async.py @@ -19,9 +20,9 @@ """ import asyncio import os +from uuid import uuid4 from azure.appconfiguration import ConfigurationSetting from azure.appconfiguration.aio import AzureAppConfigurationClient -from uuid import uuid4 async def main(): diff --git a/sdk/appconfiguration/azure-appconfiguration/tests/asynctestcase.py b/sdk/appconfiguration/azure-appconfiguration/tests/asynctestcase.py index 1c8c524ddc23..b2659a09ca26 100644 --- a/sdk/appconfiguration/azure-appconfiguration/tests/asynctestcase.py +++ b/sdk/appconfiguration/azure-appconfiguration/tests/asynctestcase.py @@ -4,11 +4,11 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- +from typing import List +from testcase import AppConfigTestCase from azure.appconfiguration.aio import AzureAppConfigurationClient from azure.core.async_paging import AsyncItemPaged from azure.core.exceptions import ResourceExistsError -from testcase import AppConfigTestCase -from typing import List class AsyncAppConfigTestCase(AppConfigTestCase): diff --git a/sdk/appconfiguration/azure-appconfiguration/tests/perfstress_tests/get.py b/sdk/appconfiguration/azure-appconfiguration/tests/perfstress_tests/get.py index ca2a8f9bcf0a..49bb4b5059a7 100644 --- a/sdk/appconfiguration/azure-appconfiguration/tests/perfstress_tests/get.py +++ b/sdk/appconfiguration/azure-appconfiguration/tests/perfstress_tests/get.py @@ -3,8 +3,6 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -import os - from devtools_testutils.perfstress_tests import PerfStressTest from azure.appconfiguration import ConfigurationSetting, AzureAppConfigurationClient as SyncAppConfigClient diff --git a/sdk/appconfiguration/azure-appconfiguration/tests/perfstress_tests/set.py b/sdk/appconfiguration/azure-appconfiguration/tests/perfstress_tests/set.py index fff4d2737c02..1708eadb8794 100644 --- a/sdk/appconfiguration/azure-appconfiguration/tests/perfstress_tests/set.py +++ b/sdk/appconfiguration/azure-appconfiguration/tests/perfstress_tests/set.py @@ -3,7 +3,6 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -import os import uuid from devtools_testutils.perfstress_tests import PerfStressTest diff --git a/sdk/appconfiguration/azure-appconfiguration/tests/preparers.py b/sdk/appconfiguration/azure-appconfiguration/tests/preparers.py index 767af0838038..a3c0e25d5e89 100644 --- a/sdk/appconfiguration/azure-appconfiguration/tests/preparers.py +++ b/sdk/appconfiguration/azure-appconfiguration/tests/preparers.py @@ -4,14 +4,16 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- -from devtools_testutils import PowerShellPreparer import functools import inspect +from devtools_testutils import PowerShellPreparer AppConfigPreparer = functools.partial( PowerShellPreparer, "appconfiguration", - appconfiguration_connection_string="Endpoint=https://fake_app_config.azconfig-test.io;Id=0-l4-s0:h5htBaY5Z1LwFz50bIQv;Secret=lamefakesecretlamefakesecretlamefakesecrett=", + appconfiguration_connection_string=""" + Endpoint=https://fake_app_config.azconfig-test.io;Id=0-l4-s0:h5htBaY5Z1LwFz50bIQv;Secret=lamefakesecretlamefakesecretlamefakesecrett= + """, appconfiguration_endpoint_string="https://fake_app_config.azconfig-test.io", ) diff --git a/sdk/appconfiguration/azure-appconfiguration/tests/test_audience_error_handling_live.py b/sdk/appconfiguration/azure-appconfiguration/tests/test_audience_error_handling_live.py index 8265e537c632..ceb27ec4d31b 100644 --- a/sdk/appconfiguration/azure-appconfiguration/tests/test_audience_error_handling_live.py +++ b/sdk/appconfiguration/azure-appconfiguration/tests/test_audience_error_handling_live.py @@ -3,15 +3,12 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- -import pytest -from azure.core.exceptions import ClientAuthenticationError -from azure.appconfiguration._audience_error_handling_policy import ( - AudienceErrorHandlingPolicy, - INCORRECT_AUDIENCE_ERROR_MESSAGE, -) from testcase import AppConfigTestCase from preparers import app_config_aad_decorator from devtools_testutils import recorded_by_proxy +from azure.appconfiguration._audience_error_handling_policy import ( + AudienceErrorHandlingPolicy, +) # cspell:disable-next-line CORRECT_AUDIENCE = "https://azconfig.io" diff --git a/sdk/appconfiguration/azure-appconfiguration/tests/test_audience_error_handling_live_async.py b/sdk/appconfiguration/azure-appconfiguration/tests/test_audience_error_handling_live_async.py index 5cd6eb4874d0..8f7f9f7ddaf1 100644 --- a/sdk/appconfiguration/azure-appconfiguration/tests/test_audience_error_handling_live_async.py +++ b/sdk/appconfiguration/azure-appconfiguration/tests/test_audience_error_handling_live_async.py @@ -3,15 +3,12 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- -import pytest -from azure.core.exceptions import ClientAuthenticationError -from azure.appconfiguration._audience_error_handling_policy import ( - AudienceErrorHandlingPolicy, - INCORRECT_AUDIENCE_ERROR_MESSAGE, -) from asynctestcase import AsyncAppConfigTestCase from async_preparers import app_config_aad_decorator_async from devtools_testutils.aio import recorded_by_proxy_async +from azure.appconfiguration._audience_error_handling_policy import ( + AudienceErrorHandlingPolicy, +) # cspell:disable-next-line CORRECT_AUDIENCE = "https://azconfig.io" diff --git a/sdk/appconfiguration/azure-appconfiguration/tests/test_audience_policy.py b/sdk/appconfiguration/azure-appconfiguration/tests/test_audience_policy.py index 0dc222e2309e..4f025b399e02 100644 --- a/sdk/appconfiguration/azure-appconfiguration/tests/test_audience_policy.py +++ b/sdk/appconfiguration/azure-appconfiguration/tests/test_audience_policy.py @@ -3,6 +3,7 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # ------------------------------------------------------------------------- +import pytest from azure.core.exceptions import ClientAuthenticationError from azure.appconfiguration._audience_error_handling_policy import ( AudienceErrorHandlingPolicy, @@ -10,7 +11,6 @@ NO_AUDIENCE_ERROR_MESSAGE, INCORRECT_AUDIENCE_ERROR_MESSAGE, ) -import pytest def test_on_exception_no_audience(): diff --git a/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client.py b/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client.py index d52458ab630f..24c206ed86eb 100644 --- a/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client.py +++ b/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client.py @@ -3,12 +3,25 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- -import pytest import copy import json import re import time from datetime import datetime, timezone +from uuid import uuid4 +import pytest +from testcase import AppConfigTestCase +from consts import ( + KEY, + LABEL, + TEST_VALUE, + TEST_CONTENT_TYPE, + LABEL_RESERVED_CHARS, + PAGE_SIZE, + KEY_UUID, +) +from preparers import app_config_decorator +from devtools_testutils import recorded_by_proxy, set_custom_default_matcher from azure.core import MatchConditions from azure.core.exceptions import ( AzureError, @@ -17,7 +30,6 @@ ResourceExistsError, HttpResponseError, ) -from azure.core.rest import HttpRequest from azure.appconfiguration import ( ResourceReadOnlyError, AzureAppConfigurationClient, @@ -29,22 +41,9 @@ FILTER_TARGETING, FILTER_TIME_WINDOW, ) -from testcase import AppConfigTestCase -from consts import ( - KEY, - LABEL, - TEST_VALUE, - TEST_CONTENT_TYPE, - LABEL_RESERVED_CHARS, - PAGE_SIZE, - KEY_UUID, -) -from uuid import uuid4 -from preparers import app_config_decorator -from devtools_testutils import recorded_by_proxy, set_custom_default_matcher -class TestAppConfigurationClient(AppConfigTestCase): +class TestAppConfigurationClient(AppConfigTestCase): # pylint: disable=too-many-public-methods # method: add_configuration_setting @app_config_decorator @recorded_by_proxy @@ -242,7 +241,9 @@ def test_list_configuration_settings_key_label(self, appconfiguration_connection self.client.list_configuration_settings("MyKey", "MyLabel1", label_filter="MyLabel2") assert ( str(ex.value) - == "AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter'" + == """ + AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter' + """ ) with pytest.raises(TypeError) as ex: self.client.list_configuration_settings("None", key_filter="MyKey") @@ -254,7 +255,9 @@ def test_list_configuration_settings_key_label(self, appconfiguration_connection self.client.list_configuration_settings("None", "None", label_filter="MyLabel") assert ( str(ex.value) - == "AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter'" + == """ + AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter' + """ ) self.tear_down() @@ -1221,7 +1224,7 @@ def test_type_error(self): with pytest.raises(TypeError): _ = FeatureFlagConfigurationSetting("blah", value="blah") with pytest.raises(TypeError): - _ = SecretReferenceConfigurationSetting("blah", value="blah") + _ = SecretReferenceConfigurationSetting("blah", "blah") def test_mock_policies(self): from azure.core.pipeline.transport import HttpResponse, HttpTransport @@ -1248,7 +1251,8 @@ def send(self, request: PipelineRequest, **kwargs) -> PipelineResponse: response.status_code = 429 return response - def new_method(self, request): + @staticmethod + def new_method(request): request.http_request.headers["Authorization"] = str(uuid4()) from azure.appconfiguration._azure_appconfiguration_requests import AppConfigRequestsCredentialsPolicy diff --git a/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_aad.py b/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_aad.py index cbd40552d56c..41fd28db1689 100644 --- a/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_aad.py +++ b/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_aad.py @@ -3,11 +3,23 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- -import pytest import copy import json import re from datetime import datetime, timezone +import pytest +from consts import ( + KEY, + LABEL, + TEST_VALUE, + TEST_CONTENT_TYPE, + LABEL_RESERVED_CHARS, + PAGE_SIZE, + KEY_UUID, +) +from preparers import app_config_aad_decorator +from devtools_testutils import recorded_by_proxy, set_custom_default_matcher +from testcase import AppConfigTestCase from azure.core import MatchConditions from azure.core.exceptions import ( AzureError, @@ -24,21 +36,9 @@ FILTER_TARGETING, FILTER_TIME_WINDOW, ) -from testcase import AppConfigTestCase -from consts import ( - KEY, - LABEL, - TEST_VALUE, - TEST_CONTENT_TYPE, - LABEL_RESERVED_CHARS, - PAGE_SIZE, - KEY_UUID, -) -from preparers import app_config_aad_decorator -from devtools_testutils import recorded_by_proxy, set_custom_default_matcher -class TestAppConfigurationClientAAD(AppConfigTestCase): +class TestAppConfigurationClientAAD(AppConfigTestCase): # pylint: disable=too-many-public-methods # method: add_configuration_setting @app_config_aad_decorator @recorded_by_proxy @@ -236,7 +236,9 @@ def test_list_configuration_settings_key_label(self, appconfiguration_endpoint_s self.client.list_configuration_settings("MyKey", "MyLabel1", label_filter="MyLabel2") assert ( str(ex.value) - == "AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter'" + == """ + AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter' + """ ) with pytest.raises(TypeError) as ex: self.client.list_configuration_settings("None", key_filter="MyKey") @@ -248,7 +250,9 @@ def test_list_configuration_settings_key_label(self, appconfiguration_endpoint_s self.client.list_configuration_settings("None", "None", label_filter="MyLabel") assert ( str(ex.value) - == "AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter'" + == """ + AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter' + """ ) self.tear_down() diff --git a/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_aad_async.py b/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_aad_async.py index 5576a3336b5e..2627dc82e481 100644 --- a/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_aad_async.py +++ b/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_aad_async.py @@ -3,11 +3,24 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- -import pytest import copy import json import re from datetime import datetime, timezone +import pytest +from consts import ( + KEY, + LABEL, + TEST_VALUE, + TEST_CONTENT_TYPE, + LABEL_RESERVED_CHARS, + PAGE_SIZE, + KEY_UUID, +) +from async_preparers import app_config_aad_decorator_async +from devtools_testutils import set_custom_default_matcher +from devtools_testutils.aio import recorded_by_proxy_async +from asynctestcase import AsyncAppConfigTestCase from azure.core import MatchConditions from azure.core.exceptions import ( ResourceModifiedError, @@ -24,22 +37,9 @@ FILTER_TARGETING, FILTER_TIME_WINDOW, ) -from asynctestcase import AsyncAppConfigTestCase -from consts import ( - KEY, - LABEL, - TEST_VALUE, - TEST_CONTENT_TYPE, - LABEL_RESERVED_CHARS, - PAGE_SIZE, - KEY_UUID, -) -from async_preparers import app_config_aad_decorator_async -from devtools_testutils import set_custom_default_matcher -from devtools_testutils.aio import recorded_by_proxy_async -class TestAppConfigurationClientAADAsync(AsyncAppConfigTestCase): +class TestAppConfigurationClientAADAsync(AsyncAppConfigTestCase): # pylint: disable=too-many-public-methods # method: add_configuration_setting @app_config_aad_decorator_async @recorded_by_proxy_async @@ -237,7 +237,9 @@ async def test_list_configuration_settings_key_label(self, appconfiguration_endp await self.client.list_configuration_settings("MyKey", "MyLabel1", label_filter="MyLabel2") assert ( str(ex.value) - == "AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter'" + == """ + AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter' + """ ) with pytest.raises(TypeError) as ex: await self.client.list_configuration_settings("None", key_filter="MyKey") @@ -249,7 +251,9 @@ async def test_list_configuration_settings_key_label(self, appconfiguration_endp await self.client.list_configuration_settings("None", "None", label_filter="MyLabel") assert ( str(ex.value) - == "AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter'" + == """ + AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter' + """ ) await self.tear_down() @@ -315,7 +319,8 @@ async def test_list_configuration_settings_reserved_chars(self, appconfiguration assert all(x.label == LABEL_RESERVED_CHARS for x in items) await client.delete_configuration_setting(reserved_char_kv.key) - # NOTE: Label filter does not support wildcard at beginning on filters. https://learn.microsoft.com/azure/azure-app-configuration/rest-api-key-value#supported-filters + # NOTE: Label filter does not support wildcard at beginning on filters. + # https://learn.microsoft.com/azure/azure-app-configuration/rest-api-key-value#supported-filters @app_config_aad_decorator_async @recorded_by_proxy_async async def test_list_configuration_settings_contains(self, appconfiguration_endpoint_string): diff --git a/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_async.py b/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_async.py index 58e4ed390e31..441de253db6d 100644 --- a/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_async.py +++ b/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_async.py @@ -3,12 +3,26 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- -import pytest import copy import json import re import time +from uuid import uuid4 from datetime import datetime, timezone +from devtools_testutils import set_custom_default_matcher +from devtools_testutils.aio import recorded_by_proxy_async +from async_preparers import app_config_decorator_async +import pytest +from asynctestcase import AsyncAppConfigTestCase +from consts import ( + KEY, + LABEL, + TEST_VALUE, + TEST_CONTENT_TYPE, + LABEL_RESERVED_CHARS, + PAGE_SIZE, + KEY_UUID, +) from azure.core import MatchConditions from azure.core.exceptions import ( ResourceModifiedError, @@ -17,7 +31,6 @@ AzureError, HttpResponseError, ) -from azure.core.rest import HttpRequest from azure.appconfiguration import ( ResourceReadOnlyError, ConfigurationSetting, @@ -29,23 +42,9 @@ FILTER_TIME_WINDOW, ) from azure.appconfiguration.aio import AzureAppConfigurationClient -from asynctestcase import AsyncAppConfigTestCase -from consts import ( - KEY, - LABEL, - TEST_VALUE, - TEST_CONTENT_TYPE, - LABEL_RESERVED_CHARS, - PAGE_SIZE, - KEY_UUID, -) -from devtools_testutils import set_custom_default_matcher -from devtools_testutils.aio import recorded_by_proxy_async -from async_preparers import app_config_decorator_async -from uuid import uuid4 -class TestAppConfigurationClientAsync(AsyncAppConfigTestCase): +class TestAppConfigurationClientAsync(AsyncAppConfigTestCase): # pylint: disable=too-many-public-methods # method: add_configuration_setting @app_config_decorator_async @recorded_by_proxy_async @@ -243,7 +242,9 @@ async def test_list_configuration_settings_key_label(self, appconfiguration_conn await self.client.list_configuration_settings("MyKey", "MyLabel1", label_filter="MyLabel2") assert ( str(ex.value) - == "AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter'" + == """ + AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter' + """ ) with pytest.raises(TypeError) as ex: await self.client.list_configuration_settings("None", key_filter="MyKey") @@ -255,7 +256,9 @@ async def test_list_configuration_settings_key_label(self, appconfiguration_conn await self.client.list_configuration_settings("None", "None", label_filter="MyLabel") assert ( str(ex.value) - == "AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter'" + == """ + AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter' + """ ) await self.tear_down() @@ -1279,7 +1282,8 @@ async def send(self, request: PipelineRequest, **kwargs) -> PipelineResponse: response.status_code = 429 return response - def new_method(self, request): + @staticmethod + def new_method(request): request.http_request.headers["Authorization"] = str(uuid4()) from azure.appconfiguration._azure_appconfiguration_requests import AppConfigRequestsCredentialsPolicy diff --git a/sdk/appconfiguration/azure-appconfiguration/tests/test_consistency.py b/sdk/appconfiguration/azure-appconfiguration/tests/test_consistency.py index bc20bcda12e0..79d962593a0e 100644 --- a/sdk/appconfiguration/azure-appconfiguration/tests/test_consistency.py +++ b/sdk/appconfiguration/azure-appconfiguration/tests/test_consistency.py @@ -3,15 +3,15 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- +import json +import pytest +from testcase import AppConfigTestCase +from preparers import app_config_decorator +from devtools_testutils import recorded_by_proxy, set_custom_default_matcher from azure.appconfiguration import ( FeatureFlagConfigurationSetting, FILTER_PERCENTAGE, ) -from testcase import AppConfigTestCase -from preparers import app_config_decorator -from devtools_testutils import recorded_by_proxy, set_custom_default_matcher -import json -import pytest class TestAppConfigurationConsistency(AppConfigTestCase): diff --git a/sdk/appconfiguration/azure-appconfiguration/tests/test_query_param_policy.py b/sdk/appconfiguration/azure-appconfiguration/tests/test_query_param_policy.py index cb291c25f50d..dceb44cbe99e 100644 --- a/sdk/appconfiguration/azure-appconfiguration/tests/test_query_param_policy.py +++ b/sdk/appconfiguration/azure-appconfiguration/tests/test_query_param_policy.py @@ -4,11 +4,10 @@ # license information. # -------------------------------------------------------------------------- - +import pytest from azure.core.pipeline.transport import HttpRequest from azure.core.pipeline import PipelineRequest from azure.appconfiguration._query_param_policy import QueryParamPolicy -import pytest TEST_URL = "https://example.com" @@ -62,7 +61,6 @@ def __init__(self): def send(self, request): self.captured_url = request.http_request.url - return None mock_next = MockNext() query_param_policy.next = mock_next @@ -183,7 +181,9 @@ def test_comprehensive_query_parameter_normalization(): original_url = ( "?$TOP=10&API-Version=2023-10-01&$select=key,value&label=prod&$filter=startsWith(key,'app')&maxItems=100" ) - expected_url = "?%24filter=startsWith%28key%2C%27app%27%29&%24select=key%2Cvalue&%24top=10&api-version=2023-10-01&label=prod&maxitems=100" + expected_url = """ + ?%24filter=startsWith%28key%2C%27app%27%29&%24select=key%2Cvalue&%24top=10&api-version=2023-10-01&label=prod&maxitems=100 + """ run_query_param_policy_test(original_url, expected_url) @@ -211,8 +211,14 @@ def test_tags_parameters_with_complex_values(): def test_tags_parameters_mixed_with_other_parameters(): """Test that tags parameters mixed with other parameters are handled correctly.""" - original_url = "?$select=key,value&tags=feature%3Dauth&label=*&api-version=2023-11-01&$filter=startsWith(key,'app')&tags=env%3Dtest" # cspell:disable-line - expected_url = "?%24filter=startsWith%28key%2C%27app%27%29&%24select=key%2Cvalue&api-version=2023-11-01&label=%2A&tags=feature%3Dauth&tags=env%3Dtest" # cspell:disable-line + # cspell:disable-line + original_url = """ + ?$select=key,value&tags=feature%3Dauth&label=*&api-version=2023-11-01&$filter=startsWith(key,'app')&tags=env%3Dtest + """ + + expected_url = """ + ?%24filter=startsWith%28key%2C%27app%27%29&%24select=key%2Cvalue&api-version=2023-11-01&label=%2A&tags=feature%3Dauth&tags=env%3Dtest + """ run_query_param_policy_test(original_url, expected_url) @@ -268,7 +274,6 @@ def __init__(self): def send(self, request): self.captured_url = request.http_request.url - return None mock_next = MockNext() query_param_policy.next = mock_next diff --git a/sdk/appconfiguration/azure-appconfiguration/tests/testcase.py b/sdk/appconfiguration/azure-appconfiguration/tests/testcase.py index 7aa13061a570..79b03bbade4a 100644 --- a/sdk/appconfiguration/azure-appconfiguration/tests/testcase.py +++ b/sdk/appconfiguration/azure-appconfiguration/tests/testcase.py @@ -4,6 +4,12 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- +from consts import ( + KEY, + LABEL, + TEST_VALUE, + TEST_CONTENT_TYPE, +) from devtools_testutils import AzureRecordedTestCase from azure.appconfiguration import ( AzureAppConfigurationClient, @@ -13,12 +19,6 @@ ConfigurationSnapshot, ) from azure.core.exceptions import ResourceExistsError -from consts import ( - KEY, - LABEL, - TEST_VALUE, - TEST_CONTENT_TYPE, -) class AppConfigTestCase(AzureRecordedTestCase): From a5aa61d0688115e82999f48102c52826ee60af11 Mon Sep 17 00:00:00 2001 From: Matt Metcalf Date: Fri, 23 Jan 2026 17:15:32 -0800 Subject: [PATCH 2/8] provider mypy updates --- .../samples/aad_sample.py | 3 +-- .../samples/async_aad_sample.py | 5 ++--- .../samples/async_connection_string_sample.py | 4 ++-- ...vault_reference_provided_clients_sample.py | 5 ++--- .../async_key_vault_reference_sample.py | 5 ++--- .../samples/async_snapshot_sample.py | 9 ++++----- .../samples/connection_string_sample.py | 5 ++--- ...ult_reference_customized_clients_sample.py | 3 +-- .../samples/key_vault_reference_sample.py | 3 +-- .../samples/refresh_sample.py | 13 +++++++------ .../samples/refresh_sample_feature_flags.py | 13 +++++++------ .../samples/sample_utilities.py | 1 + .../samples/snapshot_sample.py | 1 - .../key_vault/test_async_secret_provider.py | 6 +++--- .../key_vault/test_async_secret_refresh.py | 5 ++--- .../tests/aio/test_async_discovery.py | 4 ++-- .../tests/aio/test_async_provider.py | 6 +++--- .../tests/aio/test_async_provider_aad.py | 2 +- .../test_async_provider_feature_management.py | 6 +++--- .../tests/aio/test_async_provider_refresh.py | 9 ++++----- .../tests/aio/test_async_snapshots.py | 19 +++++++++---------- ...test_configuration_async_client_manager.py | 12 +++++++----- ...ation_async_client_manager_load_balance.py | 3 +-- .../tests/key_vault/test_secret_provider.py | 6 +++--- .../tests/key_vault/test_secret_refresh.py | 4 ++-- .../test_configuration_client_manager.py | 2 +- ...nfiguration_client_manager_load_balance.py | 2 +- .../tests/test_discovery.py | 4 ++-- .../tests/test_json.py | 2 +- .../tests/test_provider.py | 16 +++++++--------- .../tests/test_provider_aad.py | 2 +- .../tests/test_provider_feature_management.py | 4 ++-- .../tests/test_provider_refresh.py | 2 +- .../tests/test_request_tracing_context.py | 2 +- .../tests/test_snapshots.py | 17 ++++++++--------- .../tests/test_tag_filters.py | 5 +---- .../tests/testcase.py | 2 +- 37 files changed, 99 insertions(+), 113 deletions(-) diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/samples/aad_sample.py b/sdk/appconfiguration/azure-appconfiguration-provider/samples/aad_sample.py index 017f9a40930e..8e8dc6410ce6 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/samples/aad_sample.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/samples/aad_sample.py @@ -3,10 +3,9 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # ------------------------------------------------------------------------- - -from azure.appconfiguration.provider import load, SettingSelector import os from sample_utilities import get_authority, get_credential, get_client_modifications +from azure.appconfiguration.provider import load, SettingSelector endpoint = os.environ.get("APPCONFIGURATION_ENDPOINT_STRING") authority = get_authority(endpoint) diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/samples/async_aad_sample.py b/sdk/appconfiguration/azure-appconfiguration-provider/samples/async_aad_sample.py index 61c51dc50ef8..b30cbb174dcf 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/samples/async_aad_sample.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/samples/async_aad_sample.py @@ -3,12 +3,11 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # ------------------------------------------------------------------------- - +import os import asyncio +from sample_utilities import get_authority, get_credential, get_client_modifications from azure.appconfiguration.provider.aio import load from azure.appconfiguration.provider import SettingSelector -import os -from sample_utilities import get_authority, get_credential, get_client_modifications async def main(): diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/samples/async_connection_string_sample.py b/sdk/appconfiguration/azure-appconfiguration-provider/samples/async_connection_string_sample.py index f469961a4203..58f5ed541a70 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/samples/async_connection_string_sample.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/samples/async_connection_string_sample.py @@ -3,11 +3,11 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # ------------------------------------------------------------------------- +import os import asyncio +from sample_utilities import get_client_modifications from azure.appconfiguration.provider.aio import load from azure.appconfiguration.provider import SettingSelector -from sample_utilities import get_client_modifications -import os async def main(): diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/samples/async_key_vault_reference_provided_clients_sample.py b/sdk/appconfiguration/azure-appconfiguration-provider/samples/async_key_vault_reference_provided_clients_sample.py index 7f03d4f47bc7..0739d46128d6 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/samples/async_key_vault_reference_provided_clients_sample.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/samples/async_key_vault_reference_provided_clients_sample.py @@ -3,12 +3,11 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # ------------------------------------------------------------------------- - +import os import asyncio +from sample_utilities import get_authority, get_credential, get_client_modifications from azure.appconfiguration.provider.aio import load from azure.appconfiguration.provider import SettingSelector -import os -from sample_utilities import get_authority, get_credential, get_client_modifications async def main(): diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/samples/async_key_vault_reference_sample.py b/sdk/appconfiguration/azure-appconfiguration-provider/samples/async_key_vault_reference_sample.py index 384793ad495e..e276705368d7 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/samples/async_key_vault_reference_sample.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/samples/async_key_vault_reference_sample.py @@ -3,12 +3,11 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # ------------------------------------------------------------------------- - +import os import asyncio +from sample_utilities import get_authority, get_credential, get_client_modifications from azure.appconfiguration.provider.aio import load from azure.appconfiguration.provider import SettingSelector -import os -from sample_utilities import get_authority, get_credential, get_client_modifications async def main(): diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/samples/async_snapshot_sample.py b/sdk/appconfiguration/azure-appconfiguration-provider/samples/async_snapshot_sample.py index 281061b14b46..1f7b4951c0b7 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/samples/async_snapshot_sample.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/samples/async_snapshot_sample.py @@ -3,10 +3,9 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # ------------------------------------------------------------------------- - +import os +import uuid import asyncio -from azure.appconfiguration.provider.aio import load -from azure.appconfiguration.provider import SettingSelector from azure.appconfiguration.aio import AzureAppConfigurationClient # type:ignore from azure.appconfiguration import ( # type:ignore ConfigurationSettingsFilter, @@ -14,8 +13,8 @@ FeatureFlagConfigurationSetting, ) from azure.identity.aio import DefaultAzureCredential -import os -import uuid +from azure.appconfiguration.provider.aio import load +from azure.appconfiguration.provider import SettingSelector async def main(): diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/samples/connection_string_sample.py b/sdk/appconfiguration/azure-appconfiguration-provider/samples/connection_string_sample.py index acb9e85152b8..3d4d78487d49 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/samples/connection_string_sample.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/samples/connection_string_sample.py @@ -3,10 +3,9 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # ------------------------------------------------------------------------- - -from azure.appconfiguration.provider import load, SettingSelector -from sample_utilities import get_client_modifications import os +from sample_utilities import get_client_modifications +from azure.appconfiguration.provider import load, SettingSelector kwargs = get_client_modifications() connection_string = os.environ["APPCONFIGURATION_CONNECTION_STRING"] diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/samples/key_vault_reference_customized_clients_sample.py b/sdk/appconfiguration/azure-appconfiguration-provider/samples/key_vault_reference_customized_clients_sample.py index faa394fecd8c..083166a11c52 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/samples/key_vault_reference_customized_clients_sample.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/samples/key_vault_reference_customized_clients_sample.py @@ -3,10 +3,9 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # ------------------------------------------------------------------------- - -from azure.appconfiguration.provider import load, SettingSelector import os from sample_utilities import get_authority, get_credential, get_client_modifications +from azure.appconfiguration.provider import load, SettingSelector endpoint = os.environ["APPCONFIGURATION_ENDPOINT_STRING"] key_vault_uri = os.environ["KEYVAULT_URL"] diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/samples/key_vault_reference_sample.py b/sdk/appconfiguration/azure-appconfiguration-provider/samples/key_vault_reference_sample.py index 7713bb581713..5454494bb1f5 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/samples/key_vault_reference_sample.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/samples/key_vault_reference_sample.py @@ -3,10 +3,9 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # ------------------------------------------------------------------------- - -from azure.appconfiguration.provider import load, SettingSelector import os from sample_utilities import get_authority, get_audience, get_credential, get_client_modifications +from azure.appconfiguration.provider import load, SettingSelector endpoint = os.environ["APPCONFIGURATION_ENDPOINT_STRING"] authority = get_authority(endpoint) diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/samples/refresh_sample.py b/sdk/appconfiguration/azure-appconfiguration-provider/samples/refresh_sample.py index 085f9a2f5f82..87b56092d072 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/samples/refresh_sample.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/samples/refresh_sample.py @@ -3,14 +3,14 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # ------------------------------------------------------------------------- -from azure.appconfiguration.provider import load, WatchKey +import os +import time +from sample_utilities import get_client_modifications from azure.appconfiguration import ( # type:ignore AzureAppConfigurationClient, ConfigurationSetting, ) -from sample_utilities import get_client_modifications -import os -import time +from azure.appconfiguration.provider import load, WatchKey kwargs = get_client_modifications() connection_string = os.environ.get("APPCONFIGURATION_CONNECTION_STRING") @@ -23,11 +23,12 @@ client.set_configuration_setting(configuration_setting=configuration_setting) -def my_callback_on_fail(error): +def my_callback_on_fail(_): print("Refresh failed!") -# Connecting to Azure App Configuration using connection string, and refreshing when the configuration setting message changes +# Connecting to Azure App Configuration using connection string, and refreshing when the configuration setting message +# changes config = load( connection_string=connection_string, refresh_on=[WatchKey("message")], diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/samples/refresh_sample_feature_flags.py b/sdk/appconfiguration/azure-appconfiguration-provider/samples/refresh_sample_feature_flags.py index 32b762f77566..3f4a260f32ea 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/samples/refresh_sample_feature_flags.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/samples/refresh_sample_feature_flags.py @@ -3,15 +3,15 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # ------------------------------------------------------------------------- -from azure.appconfiguration.provider import load, WatchKey +import os +import time +from sample_utilities import get_client_modifications from azure.appconfiguration import ( # type:ignore AzureAppConfigurationClient, ConfigurationSetting, FeatureFlagConfigurationSetting, ) -from sample_utilities import get_client_modifications -import os -import time +from azure.appconfiguration.provider import load, WatchKey kwargs = get_client_modifications() connection_string = os.environ.get("APPCONFIGURATION_CONNECTION_STRING") @@ -26,11 +26,12 @@ client.set_configuration_setting(configuration_setting=feature_flag_setting) -def my_callback_on_fail(error): +def my_callback_on_fail(_): print("Refresh failed!") -# Connecting to Azure App Configuration using connection string, and refreshing when the configuration setting message changes +# Connecting to Azure App Configuration using connection string, and refreshing when the configuration setting message +# changes config = load( connection_string=connection_string, refresh_on=[WatchKey("message")], diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/samples/sample_utilities.py b/sdk/appconfiguration/azure-appconfiguration-provider/samples/sample_utilities.py index 7e09ee8de8fa..2f63ca76ad12 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/samples/sample_utilities.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/samples/sample_utilities.py @@ -39,6 +39,7 @@ def get_audience(authority): return "https://management.usgovcloudapi.net" if authority == "login.azure-test.net": return "https://management.azure-test.net" + return "" def get_credential(authority, **kwargs): diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/samples/snapshot_sample.py b/sdk/appconfiguration/azure-appconfiguration-provider/samples/snapshot_sample.py index 2f0b650ad74b..f382c5aa752e 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/samples/snapshot_sample.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/samples/snapshot_sample.py @@ -10,7 +10,6 @@ from azure.appconfiguration import ( # type:ignore AzureAppConfigurationClient, ConfigurationSettingsFilter, - ConfigurationSnapshot, ConfigurationSetting, FeatureFlagConfigurationSetting, ) diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/key_vault/test_async_secret_provider.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/key_vault/test_async_secret_provider.py index e2e9afeccb44..917954294aa0 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/key_vault/test_async_secret_provider.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/key_vault/test_async_secret_provider.py @@ -5,12 +5,12 @@ # -------------------------------------------------------------------------- import unittest from unittest.mock import Mock, patch, AsyncMock -from azure.appconfiguration import SecretReferenceConfigurationSetting -from azure.appconfiguration.provider.aio._key_vault._async_secret_provider import SecretProvider -from azure.keyvault.secrets.aio import SecretClient from devtools_testutils.aio import recorded_by_proxy_async from async_preparers import app_config_decorator_async from asynctestcase import AppConfigTestCase +from azure.appconfiguration import SecretReferenceConfigurationSetting +from azure.keyvault.secrets.aio import SecretClient +from azure.appconfiguration.provider.aio._key_vault._async_secret_provider import SecretProvider TEST_SECRET_ID = "https://myvault.vault.azure.net/secrets/my_secret" diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/key_vault/test_async_secret_refresh.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/key_vault/test_async_secret_refresh.py index 95c4b4afb3ad..5213dcd3adb5 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/key_vault/test_async_secret_refresh.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/key_vault/test_async_secret_refresh.py @@ -8,11 +8,10 @@ import unittest from unittest.mock import Mock, patch from devtools_testutils.aio import recorded_by_proxy_async -from azure.appconfiguration import SecretReferenceConfigurationSetting -from azure.appconfiguration.provider import SettingSelector, WatchKey -from devtools_testutils import recorded_by_proxy from async_preparers import app_config_aad_decorator_async from asynctestcase import AppConfigTestCase +from azure.appconfiguration import SecretReferenceConfigurationSetting +from azure.appconfiguration.provider import SettingSelector, WatchKey class TestAsyncSecretRefresh(AppConfigTestCase, unittest.TestCase): diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_discovery.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_discovery.py index 89b05623a77f..89f4d9bafcfc 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_discovery.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_discovery.py @@ -3,8 +3,9 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- -import pytest from unittest.mock import patch, call +import pytest +from dns.resolver import NXDOMAIN, YXDOMAIN, LifetimeTimeout, NoNameservers # cspell:disable-line from azure.appconfiguration.provider.aio._async_discovery import ( _get_known_domain, _request_record, @@ -12,7 +13,6 @@ _find_origin, find_auto_failover_endpoints, ) -from dns.resolver import NXDOMAIN, YXDOMAIN, LifetimeTimeout, NoNameservers, Answer # cspell:disable-line AZCONFIG_IO = ".azconfig.io" # cspell:disable-line APPCONFIG_IO = ".appconfig.io" # cspell:disable-line diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_provider.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_provider.py index 0a01cfb92e19..d57945d8c702 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_provider.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_provider.py @@ -3,13 +3,13 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- -from azure.appconfiguration.provider import SettingSelector, AzureAppConfigurationKeyVaultOptions from devtools_testutils.aio import recorded_by_proxy_async from async_preparers import app_config_decorator_async from testcase import has_feature_flag from asynctestcase import AppConfigTestCase from test_constants import FEATURE_MANAGEMENT_KEY from unittest.mock import MagicMock, patch +from azure.appconfiguration.provider import SettingSelector, AzureAppConfigurationKeyVaultOptions from azure.appconfiguration.provider.aio._azureappconfigurationproviderasync import ( _buildprovider, ) @@ -226,8 +226,8 @@ async def test_mapper(setting): configuration_mapper=test_mapper, trim_prefixes=["refresh_"], ) as client: - # Because our processing happens after mapping and refresh_message is alphabetically after message the override - # value isn't used, as the mapped value is overridden by the first value. + # Because our processing happens after mapping and refresh_message is alphabetically after message the + # override value isn't used, as the mapped value is overridden by the first value. assert client["message"] == "original value" assert "refresh_message" not in client diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_provider_aad.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_provider_aad.py index e223cc247c36..81018b1ef6fc 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_provider_aad.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_provider_aad.py @@ -3,12 +3,12 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- -from azure.appconfiguration.provider import SettingSelector, AzureAppConfigurationKeyVaultOptions from devtools_testutils.aio import recorded_by_proxy_async from async_preparers import app_config_decorator_async from testcase import has_feature_flag from asynctestcase import AppConfigTestCase from test_constants import FEATURE_MANAGEMENT_KEY +from azure.appconfiguration.provider import SettingSelector, AzureAppConfigurationKeyVaultOptions class TestAppConfigurationProvider(AppConfigTestCase): diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_provider_feature_management.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_provider_feature_management.py index 78905b2a8921..8d8a70794b07 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_provider_feature_management.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_provider_feature_management.py @@ -3,14 +3,14 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- -from azure.appconfiguration.provider import SettingSelector -from azure.appconfiguration.provider.aio import load -from azure.appconfiguration.aio import AzureAppConfigurationClient from devtools_testutils.aio import recorded_by_proxy_async from async_preparers import app_config_decorator_async from testcase import has_feature_flag from asynctestcase import AppConfigTestCase, setup_configs from test_constants import FEATURE_MANAGEMENT_KEY +from azure.appconfiguration.provider import SettingSelector +from azure.appconfiguration.provider.aio import load +from azure.appconfiguration.aio import AzureAppConfigurationClient class TestAppConfigurationProviderFeatureManagement(AppConfigTestCase): diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_provider_refresh.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_provider_refresh.py index 0d01874c9cb3..687b6e1e6331 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_provider_refresh.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_provider_refresh.py @@ -5,17 +5,16 @@ # -------------------------------------------------------------------------- import time import unittest -import pytest import sys - -from azure.appconfiguration import ConfigurationSetting -from azure.appconfiguration.provider import WatchKey +from unittest.mock import Mock +import pytest from devtools_testutils.aio import recorded_by_proxy_async from async_preparers import app_config_decorator_async from testcase import has_feature_flag from asynctestcase import AppConfigTestCase from test_constants import FEATURE_MANAGEMENT_KEY -from unittest.mock import Mock +from azure.appconfiguration import ConfigurationSetting +from azure.appconfiguration.provider import WatchKey try: # Python 3.7 does not support AsyncMock diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_snapshots.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_snapshots.py index 926542d82872..0da564c00c44 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_snapshots.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_snapshots.py @@ -3,13 +3,12 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- - -import pytest import time -from azure.appconfiguration.provider._models import SettingSelector -from azure.appconfiguration.provider._constants import NULL_CHAR -from azure.appconfiguration.provider.aio import load -from azure.appconfiguration.provider import WatchKey +import pytest +from devtools_testutils import is_live +from devtools_testutils.aio import recorded_by_proxy_async +from async_preparers import app_config_decorator_async +from asynctestcase import AppConfigTestCase from azure.appconfiguration import ( ConfigurationSetting, ConfigurationSettingsFilter, @@ -17,10 +16,10 @@ SnapshotStatus, ) from azure.core.exceptions import ResourceNotFoundError -from devtools_testutils import is_live -from devtools_testutils.aio import recorded_by_proxy_async -from async_preparers import app_config_decorator_async -from asynctestcase import AppConfigTestCase +from azure.appconfiguration.provider._models import SettingSelector +from azure.appconfiguration.provider._constants import NULL_CHAR +from azure.appconfiguration.provider.aio import load +from azure.appconfiguration.provider import WatchKey class TestSnapshotSupport: diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_configuration_async_client_manager.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_configuration_async_client_manager.py index 8fe84ba840e8..8cfdbe6398fd 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_configuration_async_client_manager.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_configuration_async_client_manager.py @@ -3,10 +3,9 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- -import pytest - import time from unittest.mock import patch, call +import pytest from azure.appconfiguration.provider.aio._async_client_manager import AsyncConfigurationClientManager @@ -26,7 +25,8 @@ class TestAsyncConfigurationClientManager: @pytest.mark.asyncio @patch("azure.appconfiguration.provider.aio._async_client_manager.find_auto_failover_endpoints") @patch( - "azure.appconfiguration.provider.aio._async_client_manager._AsyncConfigurationClientWrapper.from_connection_string" + "azure.appconfiguration.provider.aio._async_client_manager" + "._AsyncConfigurationClientWrapper.from_connection_string" ) async def test_create_client_manager_connection_string(self, mock_client, mock_update_failover_endpoints): endpoint = "https://fake.endpoint" @@ -56,7 +56,8 @@ async def test_create_client_manager_connection_string(self, mock_client, mock_u @pytest.mark.asyncio @patch("azure.appconfiguration.provider.aio._async_client_manager.find_auto_failover_endpoints") @patch( - "azure.appconfiguration.provider.aio._async_client_manager._AsyncConfigurationClientWrapper.from_connection_string" + "azure.appconfiguration.provider.aio._async_client_manager" + "._AsyncConfigurationClientWrapper.from_connection_string" ) async def test_failover_create_client_manager_connection_string(self, mock_client, mock_update_failover_endpoints): endpoint = "https://fake.endpoint" @@ -221,7 +222,8 @@ async def test_refresh_clients_credential(self, mock_client, mock_update_failove @pytest.mark.asyncio @patch("azure.appconfiguration.provider.aio._async_client_manager.find_auto_failover_endpoints") @patch( - "azure.appconfiguration.provider.aio._async_client_manager._AsyncConfigurationClientWrapper.from_connection_string" + "azure.appconfiguration.provider.aio._async_client_manager" + "._AsyncConfigurationClientWrapper.from_connection_string" ) async def test_refresh_clients_connection_string(self, mock_client, mock_update_failover_endpoints): endpoint = "https://fake.endpoint" diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_configuration_async_client_manager_load_balance.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_configuration_async_client_manager_load_balance.py index 64805085d3ce..9b041bf2ad71 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_configuration_async_client_manager_load_balance.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_configuration_async_client_manager_load_balance.py @@ -3,9 +3,8 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- -import pytest -import unittest from unittest.mock import patch +import pytest from azure.appconfiguration.provider.aio._async_client_manager import AsyncConfigurationClientManager diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/key_vault/test_secret_provider.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/key_vault/test_secret_provider.py index 50f589de2d4d..925055e14181 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/key_vault/test_secret_provider.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/key_vault/test_secret_provider.py @@ -5,12 +5,12 @@ # -------------------------------------------------------------------------- import unittest from unittest.mock import Mock, patch -from azure.appconfiguration import SecretReferenceConfigurationSetting -from azure.appconfiguration.provider._key_vault._secret_provider import SecretProvider -from azure.keyvault.secrets import SecretClient from devtools_testutils import recorded_by_proxy from preparers import app_config_decorator_aad from testcase import AppConfigTestCase +from azure.appconfiguration import SecretReferenceConfigurationSetting +from azure.keyvault.secrets import SecretClient +from azure.appconfiguration.provider._key_vault._secret_provider import SecretProvider TEST_SECRET_ID = "https://myvault.vault.azure.net/secrets/my_secret" diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/key_vault/test_secret_refresh.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/key_vault/test_secret_refresh.py index 9addf6651e1b..ec26ddf21d28 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/key_vault/test_secret_refresh.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/key_vault/test_secret_refresh.py @@ -6,11 +6,11 @@ import time import unittest from unittest.mock import Mock, patch -from azure.appconfiguration import SecretReferenceConfigurationSetting -from azure.appconfiguration.provider import SettingSelector, WatchKey from devtools_testutils import recorded_by_proxy from preparers import app_config_decorator_aad from testcase import AppConfigTestCase +from azure.appconfiguration import SecretReferenceConfigurationSetting +from azure.appconfiguration.provider import SettingSelector, WatchKey class TestSecretRefresh(AppConfigTestCase, unittest.TestCase): diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_configuration_client_manager.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_configuration_client_manager.py index 93182adee24a..a2366df2f62a 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_configuration_client_manager.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_configuration_client_manager.py @@ -3,9 +3,9 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- -import pytest import unittest from unittest.mock import patch, call +import pytest from azure.appconfiguration.provider._client_manager import ConfigurationClientManager diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_configuration_client_manager_load_balance.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_configuration_client_manager_load_balance.py index a00be52cc2b2..d10674872cbd 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_configuration_client_manager_load_balance.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_configuration_client_manager_load_balance.py @@ -3,9 +3,9 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- -import pytest import unittest from unittest.mock import patch +import pytest from azure.appconfiguration.provider._client_manager import ConfigurationClientManager diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_discovery.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_discovery.py index d14898c205b7..7e3e60b42bd2 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_discovery.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_discovery.py @@ -3,8 +3,9 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- -import pytest from unittest.mock import patch, call +import pytest +from dns.resolver import NXDOMAIN, YXDOMAIN, LifetimeTimeout, NoNameservers # cspell:disable-line from azure.appconfiguration.provider._discovery import ( _get_known_domain, _request_record, @@ -12,7 +13,6 @@ _find_origin, find_auto_failover_endpoints, ) -from dns.resolver import NXDOMAIN, YXDOMAIN, LifetimeTimeout, NoNameservers # cspell:disable-line AZCONFIG_IO = ".azconfig.io" # cspell:disable-line APPCONFIG_IO = ".appconfig.io" # cspell:disable-line diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_json.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_json.py index 17ec8a2bdb2b..8be1661aa914 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_json.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_json.py @@ -25,7 +25,7 @@ def test_remove_json_comments_no_comments(self): def test_remove_json_comments_single_line(self): # Test removing single line comments - input_json = """{ + input_json = """{ "key": "value" // this is a comment }""" result = remove_json_comments(input_json) diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_provider.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_provider.py index ff010100c3e4..42b0c396cfbe 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_provider.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_provider.py @@ -3,18 +3,16 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- -from azure.appconfiguration.provider import ( - SettingSelector, - AzureAppConfigurationKeyVaultOptions, - AzureAppConfigurationProvider, -) +import datetime +from unittest.mock import MagicMock, patch from devtools_testutils import recorded_by_proxy from preparers import app_config_decorator from testcase import AppConfigTestCase, has_feature_flag -import datetime -from unittest.mock import patch from test_constants import FEATURE_MANAGEMENT_KEY -from unittest.mock import MagicMock, patch +from azure.appconfiguration.provider import ( + SettingSelector, + AzureAppConfigurationKeyVaultOptions +) from azure.appconfiguration.provider._azureappconfigurationproviderbase import ( delay_failure, ) @@ -126,7 +124,7 @@ def test_provider_secret_resolver_options(self, appconfiguration_connection_stri # method: delay_failure @patch("time.sleep", side_effect=sleep) - def test_delay_failure(self, mock_sleep, **kwargs): + def test_delay_failure(self, mock_sleep): start_time = datetime.datetime.now() delay_failure(start_time) assert mock_sleep.call_count == 1 diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_provider_aad.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_provider_aad.py index 9733a6f0f5e5..cf184d8f3c57 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_provider_aad.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_provider_aad.py @@ -3,11 +3,11 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- -from azure.appconfiguration.provider import SettingSelector, AzureAppConfigurationKeyVaultOptions from devtools_testutils import recorded_by_proxy from preparers import app_config_decorator_aad from testcase import AppConfigTestCase, has_feature_flag from test_constants import FEATURE_MANAGEMENT_KEY +from azure.appconfiguration.provider import SettingSelector, AzureAppConfigurationKeyVaultOptions class TestAppConfigurationProvider(AppConfigTestCase): diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_provider_feature_management.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_provider_feature_management.py index ffb2c09535b4..9e6621805c68 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_provider_feature_management.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_provider_feature_management.py @@ -3,12 +3,12 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- -from azure.appconfiguration.provider import SettingSelector, load -from azure.appconfiguration import AzureAppConfigurationClient from devtools_testutils import recorded_by_proxy from preparers import app_config_decorator from testcase import AppConfigTestCase, setup_configs, has_feature_flag, get_feature_flag from test_constants import FEATURE_MANAGEMENT_KEY +from azure.appconfiguration import AzureAppConfigurationClient +from azure.appconfiguration.provider import SettingSelector, load class TestAppConfigurationProviderFeatureManagement(AppConfigTestCase): diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_provider_refresh.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_provider_refresh.py index 1c2ebda17059..a0d9291dae29 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_provider_refresh.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_provider_refresh.py @@ -6,11 +6,11 @@ import time import unittest from unittest.mock import Mock -from azure.appconfiguration.provider import WatchKey from devtools_testutils import recorded_by_proxy from preparers import app_config_decorator_aad from testcase import AppConfigTestCase, ConfigurationSetting, has_feature_flag from test_constants import FEATURE_MANAGEMENT_KEY +from azure.appconfiguration.provider import WatchKey class TestAppConfigurationProvider(AppConfigTestCase, unittest.TestCase): diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_request_tracing_context.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_request_tracing_context.py index 1c2537c00086..a6cc0992de2c 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_request_tracing_context.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_request_tracing_context.py @@ -33,7 +33,7 @@ ) -class TestRequestTracingContext(unittest.TestCase): +class TestRequestTracingContext(unittest.TestCase): # pylint: disable=too-many-public-methods """Test the _RequestTracingContext class.""" def setUp(self): diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_snapshots.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_snapshots.py index 3a31c3ac874c..2c23fcbe9048 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_snapshots.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_snapshots.py @@ -3,22 +3,21 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- - -import pytest import time -from azure.appconfiguration.provider._models import SettingSelector -from azure.appconfiguration.provider._constants import NULL_CHAR -from azure.appconfiguration.provider import load, WatchKey +import pytest +from azure.core.exceptions import ResourceNotFoundError +from devtools_testutils import recorded_by_proxy, is_live +from preparers import app_config_decorator +from testcase import AppConfigTestCase from azure.appconfiguration import ( ConfigurationSetting, ConfigurationSettingsFilter, SnapshotComposition, SnapshotStatus, ) -from azure.core.exceptions import ResourceNotFoundError -from devtools_testutils import recorded_by_proxy, is_live -from preparers import app_config_decorator -from testcase import AppConfigTestCase +from azure.appconfiguration.provider._models import SettingSelector +from azure.appconfiguration.provider._constants import NULL_CHAR +from azure.appconfiguration.provider import load, WatchKey class TestSnapshotSupport: diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_tag_filters.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_tag_filters.py index 6ef4751f0894..51caf7bac178 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_tag_filters.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_tag_filters.py @@ -4,17 +4,14 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- - -import pytest from devtools_testutils import recorded_by_proxy from preparers import app_config_decorator -from azure.appconfiguration.provider import SettingSelector from test_constants import FEATURE_MANAGEMENT_KEY from testcase import ( AppConfigTestCase, has_feature_flag, - create_config_setting, ) +from azure.appconfiguration.provider import SettingSelector from azure.appconfiguration.provider._constants import NULL_CHAR diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/testcase.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/testcase.py index 67451060f4f5..a7f4dfdbfd7a 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/testcase.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/testcase.py @@ -5,6 +5,7 @@ # license information. # -------------------------------------------------------------------------- from devtools_testutils import AzureRecordedTestCase +from test_constants import FEATURE_MANAGEMENT_KEY, FEATURE_FLAG_KEY from azure.appconfiguration import ( AzureAppConfigurationClient, ConfigurationSetting, @@ -13,7 +14,6 @@ ) from azure.appconfiguration.provider import load, AzureAppConfigurationKeyVaultOptions from azure.appconfiguration.provider._constants import NULL_CHAR -from test_constants import FEATURE_MANAGEMENT_KEY, FEATURE_FLAG_KEY class AppConfigTestCase(AzureRecordedTestCase): From 48a9e20ac514971e2ccc0bf19b0718545f998dfc Mon Sep 17 00:00:00 2001 From: Matt Metcalf Date: Thu, 5 Feb 2026 14:46:51 -0800 Subject: [PATCH 3/8] more pylint updates --- .../test_azure_appconfiguration_client.py | 109 ++++++++-------- ...est_azure_appconfiguration_client_async.py | 119 +++++++++--------- .../tests/test_query_param_policy.py | 27 +--- 3 files changed, 114 insertions(+), 141 deletions(-) diff --git a/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client.py b/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client.py index 24c206ed86eb..d3f0f2c93564 100644 --- a/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client.py +++ b/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client.py @@ -1133,65 +1133,64 @@ def test_list_snapshot_configuration_settings(self, appconfiguration_connection_ def test_monitor_configuration_settings_by_page_etag(self, appconfiguration_connection_string): # response header and are missing in python38. set_custom_default_matcher(compare_bodies=False, excluded_headers="x-ms-content-sha256,x-ms-date") - with AzureAppConfigurationClient.from_connection_string(appconfiguration_connection_string) as client: - self.client = client - # prepare 200 configuration settings - for i in range(200): - self.client.set_configuration_setting( - ConfigurationSetting( - key=f"sample_key_{str(i)}", - label=f"sample_label_{str(i)}", - ) - ) - # there will have 2 pages while listing, there are 100 configuration settings per page. - - # get page etags - match_conditions = [] - items = self.client.list_configuration_settings(key_filter="sample_key_*", label_filter="sample_label_*") - iterator = items.by_page() - for _ in iterator: - etag = iterator.etag - match_conditions.append(etag) - - # monitor page updates without changes - only changed pages will be yielded - items = self.client.list_configuration_settings(key_filter="sample_key_*", label_filter="sample_label_*") - iterator = items.by_page(match_conditions=match_conditions) - changed_pages = list(iterator) - - # No pages should be yielded since nothing changed - assert len(changed_pages) == 0 - - # do some changes + self.set_up(appconfiguration_connection_string) + # prepare 200 configuration settings + for i in range(200): self.client.set_configuration_setting( ConfigurationSetting( - key="sample_key_201", - label="sample_label_202", + key=f"sample_key_{str(i)}", + label=f"sample_label_{str(i)}", ) ) - # now we have three pages, 100 settings in first two pages and 1 setting in the last page - - # get page etags after updates - new_match_conditions = [] - items = self.client.list_configuration_settings(key_filter="sample_key_*", label_filter="sample_label_*") - iterator = items.by_page() - for _ in iterator: - etag = iterator.etag - new_match_conditions.append(etag) - - assert match_conditions[0] == new_match_conditions[0] - assert match_conditions[1] != new_match_conditions[1] - assert match_conditions[2] != new_match_conditions[2] - assert len(new_match_conditions) == 3 - - # monitor pages after updates - only changed pages will be yielded - items = self.client.list_configuration_settings(key_filter="sample_key_*", label_filter="sample_label_*") - iterator = items.by_page(match_conditions=new_match_conditions) - changed_pages = list(iterator) - # Should yield 0 pages - assert len(changed_pages) == 0 - - # clean up - self.tear_down() + # there will have 2 pages while listing, there are 100 configuration settings per page. + + # get page etags + match_conditions = [] + items = self.client.list_configuration_settings(key_filter="sample_key_*", label_filter="sample_label_*") + iterator = items.by_page() + for _ in iterator: + etag = iterator.etag + match_conditions.append(etag) + + # monitor page updates without changes - only changed pages will be yielded + items = self.client.list_configuration_settings(key_filter="sample_key_*", label_filter="sample_label_*") + iterator = items.by_page(match_conditions=match_conditions) + changed_pages = list(iterator) + + # No pages should be yielded since nothing changed + assert len(changed_pages) == 0 + + # do some changes + self.client.set_configuration_setting( + ConfigurationSetting( + key="sample_key_201", + label="sample_label_202", + ) + ) + # now we have three pages, 100 settings in first two pages and 1 setting in the last page + + # get page etags after updates + new_match_conditions = [] + items = self.client.list_configuration_settings(key_filter="sample_key_*", label_filter="sample_label_*") + iterator = items.by_page() + for _ in iterator: + etag = iterator.etag + new_match_conditions.append(etag) + + assert match_conditions[0] == new_match_conditions[0] + assert match_conditions[1] != new_match_conditions[1] + assert match_conditions[2] != new_match_conditions[2] + assert len(new_match_conditions) == 3 + + # monitor pages after updates - only changed pages will be yielded + items = self.client.list_configuration_settings(key_filter="sample_key_*", label_filter="sample_label_*") + iterator = items.by_page(match_conditions=new_match_conditions) + changed_pages = list(iterator) + # Should yield 0 pages + assert len(changed_pages) == 0 + + # clean up + self.tear_down() @app_config_decorator @recorded_by_proxy diff --git a/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_async.py b/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_async.py index 441de253db6d..39168936c23b 100644 --- a/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_async.py +++ b/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_async.py @@ -1158,73 +1158,72 @@ async def test_list_snapshot_configuration_settings(self, appconfiguration_conne async def test_monitor_configuration_settings_by_page_etag(self, appconfiguration_connection_string): # response header and are missing in python38. set_custom_default_matcher(compare_bodies=False, excluded_headers="x-ms-content-sha256,x-ms-date") - async with AzureAppConfigurationClient.from_connection_string(appconfiguration_connection_string) as client: - self.client = client - # prepare 200 configuration settings - for i in range(200): - await client.set_configuration_setting( - ConfigurationSetting( - key=f"async_sample_key_{str(i)}", - label=f"async_sample_label_{str(i)}", - ) - ) - # there will have 2 pages while listing, there are 100 configuration settings per page. - - # get page etags - match_conditions = [] - items = client.list_configuration_settings( - key_filter="async_sample_key_*", label_filter="async_sample_label_*" - ) - iterator = items.by_page() - async for _ in iterator: - etag = iterator.etag - match_conditions.append(etag) - - # monitor page updates without changes - only changed pages will be yielded - items = client.list_configuration_settings( - key_filter="async_sample_key_*", label_filter="async_sample_label_*" - ) - iterator = items.by_page(match_conditions=match_conditions) - changed_pages = [page async for page in iterator] - # No pages should be yielded since nothing changed - assert len(changed_pages) == 0 - - # do some changes - await client.set_configuration_setting( + await self.set_up(appconfiguration_connection_string) + # prepare 200 configuration settings + for i in range(200): + await self.client.set_configuration_setting( ConfigurationSetting( - key="async_sample_key_201", - label="async_sample_label_202", + key=f"async_sample_key_{str(i)}", + label=f"async_sample_label_{str(i)}", ) ) - # now we have three pages, 100 settings in first two pages and 1 setting in the last page + # there will have 2 pages while listing, there are 100 configuration settings per page. - # get page etags after updates - new_match_conditions = [] - items = client.list_configuration_settings( - key_filter="async_sample_key_*", label_filter="async_sample_label_*" - ) - iterator = items.by_page() - async for _ in iterator: - etag = iterator.etag - new_match_conditions.append(etag) - - assert match_conditions[0] == new_match_conditions[0] - assert match_conditions[1] != new_match_conditions[1] - assert match_conditions[2] != new_match_conditions[2] - assert len(new_match_conditions) == 3 - - # monitor pages after updates - only changed pages will be yielded - items = client.list_configuration_settings( - key_filter="async_sample_key_*", label_filter="async_sample_label_*" + # get page etags + match_conditions = [] + items = self.client.list_configuration_settings( + key_filter="async_sample_key_*", label_filter="async_sample_label_*" + ) + iterator = items.by_page() + async for _ in iterator: + etag = iterator.etag + match_conditions.append(etag) + + # monitor page updates without changes - only changed pages will be yielded + items = self.client.list_configuration_settings( + key_filter="async_sample_key_*", label_filter="async_sample_label_*" + ) + iterator = items.by_page(match_conditions=match_conditions) + changed_pages = [page async for page in iterator] + # No pages should be yielded since nothing changed + assert len(changed_pages) == 0 + + # do some changes + await self.client.set_configuration_setting( + ConfigurationSetting( + key="async_sample_key_201", + label="async_sample_label_202", ) - iterator = items.by_page(match_conditions=new_match_conditions) - changed_pages = [page async for page in iterator] + ) + # now we have three pages, 100 settings in first two pages and 1 setting in the last page - # Should yield 0 pages - assert len(changed_pages) == 0 + # get page etags after updates + new_match_conditions = [] + items = self.client.list_configuration_settings( + key_filter="async_sample_key_*", label_filter="async_sample_label_*" + ) + iterator = items.by_page() + async for _ in iterator: + etag = iterator.etag + new_match_conditions.append(etag) + + assert match_conditions[0] == new_match_conditions[0] + assert match_conditions[1] != new_match_conditions[1] + assert match_conditions[2] != new_match_conditions[2] + assert len(new_match_conditions) == 3 + + # monitor pages after updates - only changed pages will be yielded + items = self.client.list_configuration_settings( + key_filter="async_sample_key_*", label_filter="async_sample_label_*" + ) + iterator = items.by_page(match_conditions=new_match_conditions) + changed_pages = [page async for page in iterator] - # clean up - await self.tear_down() + # Should yield 0 pages + assert len(changed_pages) == 0 + + # clean up + await self.tear_down() @app_config_decorator_async @recorded_by_proxy_async diff --git a/sdk/appconfiguration/azure-appconfiguration/tests/test_query_param_policy.py b/sdk/appconfiguration/azure-appconfiguration/tests/test_query_param_policy.py index dceb44cbe99e..e71c1329e7d0 100644 --- a/sdk/appconfiguration/azure-appconfiguration/tests/test_query_param_policy.py +++ b/sdk/appconfiguration/azure-appconfiguration/tests/test_query_param_policy.py @@ -49,32 +49,7 @@ def test_query_parameters_with_special_characters(): original_url = "?filter=name%20eq%20%27test%27&select=*" expected_url = "?filter=name%20eq%20%27test%27&select=%2A" - request = HttpRequest("GET", original_url) - pipeline_request = PipelineRequest(request, None) - - query_param_policy = QueryParamPolicy() - - # Create a mock next policy - class MockNext: - def __init__(self): - self.captured_url = None - - def send(self, request): - self.captured_url = request.http_request.url - - mock_next = MockNext() - query_param_policy.next = mock_next - - query_param_policy.send(pipeline_request) - - # Note: URL encoding may change the format slightly, but the query params should still be sorted - assert mock_next.captured_url is not None, "No URL was captured by the mock policy." - assert "filter=" in mock_next.captured_url - assert "select=" in mock_next.captured_url - # The params should be in alphabetical order - filter_pos = mock_next.captured_url.index("filter=") - select_pos = mock_next.captured_url.index("select=") - assert filter_pos < select_pos, "Parameters should be sorted alphabetically" + run_query_param_policy_test(original_url, expected_url) def test_no_query_parameters(): From e523d653d3a743cd65c71b799eff097d6ab91934 Mon Sep 17 00:00:00 2001 From: Matt Metcalf Date: Fri, 6 Feb 2026 13:54:31 -0800 Subject: [PATCH 4/8] fixes --- .../test_azure_appconfiguration_client.py | 17 +++++-------- .../test_azure_appconfiguration_client_aad.py | 14 ++++------- ...azure_appconfiguration_client_aad_async.py | 15 ++++-------- ...est_azure_appconfiguration_client_async.py | 14 ++++------- .../tests/test_query_param_policy.py | 24 ++++++++++--------- 5 files changed, 32 insertions(+), 52 deletions(-) diff --git a/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client.py b/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client.py index d3f0f2c93564..6832b4b94da7 100644 --- a/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client.py +++ b/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client.py @@ -239,11 +239,8 @@ def test_list_configuration_settings_key_label(self, appconfiguration_connection ) with pytest.raises(TypeError) as ex: self.client.list_configuration_settings("MyKey", "MyLabel1", label_filter="MyLabel2") - assert ( - str(ex.value) - == """ - AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter' - """ + assert str(ex.value) == ( + "AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter'" ) with pytest.raises(TypeError) as ex: self.client.list_configuration_settings("None", key_filter="MyKey") @@ -253,11 +250,9 @@ def test_list_configuration_settings_key_label(self, appconfiguration_connection ) with pytest.raises(TypeError) as ex: self.client.list_configuration_settings("None", "None", label_filter="MyLabel") - assert ( - str(ex.value) - == """ - AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter' - """ + assert str(ex.value) == ( + "AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument" + " 'label_filter'" ) self.tear_down() @@ -1223,7 +1218,7 @@ def test_type_error(self): with pytest.raises(TypeError): _ = FeatureFlagConfigurationSetting("blah", value="blah") with pytest.raises(TypeError): - _ = SecretReferenceConfigurationSetting("blah", "blah") + _ = SecretReferenceConfigurationSetting("blah", value="blah") # pylint: disable=no-value-for-parameter def test_mock_policies(self): from azure.core.pipeline.transport import HttpResponse, HttpTransport diff --git a/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_aad.py b/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_aad.py index 41fd28db1689..506229652557 100644 --- a/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_aad.py +++ b/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_aad.py @@ -234,11 +234,8 @@ def test_list_configuration_settings_key_label(self, appconfiguration_endpoint_s ) with pytest.raises(TypeError) as ex: self.client.list_configuration_settings("MyKey", "MyLabel1", label_filter="MyLabel2") - assert ( - str(ex.value) - == """ - AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter' - """ + assert str(ex.value) == ( + "AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter'" ) with pytest.raises(TypeError) as ex: self.client.list_configuration_settings("None", key_filter="MyKey") @@ -248,11 +245,8 @@ def test_list_configuration_settings_key_label(self, appconfiguration_endpoint_s ) with pytest.raises(TypeError) as ex: self.client.list_configuration_settings("None", "None", label_filter="MyLabel") - assert ( - str(ex.value) - == """ - AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter' - """ + assert str(ex.value) == ( + "AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter'" ) self.tear_down() diff --git a/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_aad_async.py b/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_aad_async.py index 2627dc82e481..620ecd9cce9f 100644 --- a/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_aad_async.py +++ b/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_aad_async.py @@ -235,12 +235,10 @@ async def test_list_configuration_settings_key_label(self, appconfiguration_endp ) with pytest.raises(TypeError) as ex: await self.client.list_configuration_settings("MyKey", "MyLabel1", label_filter="MyLabel2") - assert ( - str(ex.value) - == """ - AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter' - """ + assert str(ex.value) == ( + "AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter'" ) + with pytest.raises(TypeError) as ex: await self.client.list_configuration_settings("None", key_filter="MyKey") assert ( @@ -249,11 +247,8 @@ async def test_list_configuration_settings_key_label(self, appconfiguration_endp ) with pytest.raises(TypeError) as ex: await self.client.list_configuration_settings("None", "None", label_filter="MyLabel") - assert ( - str(ex.value) - == """ - AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter' - """ + assert str(ex.value) == ( + "AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter'" ) await self.tear_down() diff --git a/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_async.py b/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_async.py index 39168936c23b..3d112d3159db 100644 --- a/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_async.py +++ b/sdk/appconfiguration/azure-appconfiguration/tests/test_azure_appconfiguration_client_async.py @@ -240,11 +240,8 @@ async def test_list_configuration_settings_key_label(self, appconfiguration_conn ) with pytest.raises(TypeError) as ex: await self.client.list_configuration_settings("MyKey", "MyLabel1", label_filter="MyLabel2") - assert ( - str(ex.value) - == """ - AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter' - """ + assert str(ex.value) == ( + "AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter'" ) with pytest.raises(TypeError) as ex: await self.client.list_configuration_settings("None", key_filter="MyKey") @@ -254,11 +251,8 @@ async def test_list_configuration_settings_key_label(self, appconfiguration_conn ) with pytest.raises(TypeError) as ex: await self.client.list_configuration_settings("None", "None", label_filter="MyLabel") - assert ( - str(ex.value) - == """ - AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter' - """ + assert str(ex.value) == ( + "AzureAppConfigurationClient.list_configuration_settings() got multiple values for argument 'label_filter'" ) await self.tear_down() diff --git a/sdk/appconfiguration/azure-appconfiguration/tests/test_query_param_policy.py b/sdk/appconfiguration/azure-appconfiguration/tests/test_query_param_policy.py index e71c1329e7d0..91a3238ff77e 100644 --- a/sdk/appconfiguration/azure-appconfiguration/tests/test_query_param_policy.py +++ b/sdk/appconfiguration/azure-appconfiguration/tests/test_query_param_policy.py @@ -156,9 +156,10 @@ def test_comprehensive_query_parameter_normalization(): original_url = ( "?$TOP=10&API-Version=2023-10-01&$select=key,value&label=prod&$filter=startsWith(key,'app')&maxItems=100" ) - expected_url = """ - ?%24filter=startsWith%28key%2C%27app%27%29&%24select=key%2Cvalue&%24top=10&api-version=2023-10-01&label=prod&maxitems=100 - """ + expected_url = ( + "?%24filter=startsWith%28key%2C%27app%27%29&%24select=key%2Cvalue" + "&%24top=10&api-version=2023-10-01&label=prod&maxitems=100" + ) run_query_param_policy_test(original_url, expected_url) @@ -186,14 +187,15 @@ def test_tags_parameters_with_complex_values(): def test_tags_parameters_mixed_with_other_parameters(): """Test that tags parameters mixed with other parameters are handled correctly.""" - # cspell:disable-line - original_url = """ - ?$select=key,value&tags=feature%3Dauth&label=*&api-version=2023-11-01&$filter=startsWith(key,'app')&tags=env%3Dtest - """ - - expected_url = """ - ?%24filter=startsWith%28key%2C%27app%27%29&%24select=key%2Cvalue&api-version=2023-11-01&label=%2A&tags=feature%3Dauth&tags=env%3Dtest - """ + # cspell:disable + original_url = ( + "?$select=key,value&tags=feature%3Dauth&label=*" + "&api-version=2023-11-01&$filter=startsWith(key,'app')&tags=env%3Dtest" + ) + expected_url = ( + "?%24filter=startsWith%28key%2C%27app%27%29&%24select=key%2Cvalue" + "&api-version=2023-11-01&label=%2A&tags=feature%3Dauth&tags=env%3Dtest" + ) run_query_param_policy_test(original_url, expected_url) From b5fbfc299aeeb5d7afe6fd1141f414efee57ebb7 Mon Sep 17 00:00:00 2001 From: Matt Metcalf Date: Fri, 6 Feb 2026 16:16:53 -0800 Subject: [PATCH 5/8] more fixes --- .../azure-appconfiguration-provider/tests/test_provider.py | 5 +---- .../tests/test_request_tracing_context.py | 2 +- sdk/appconfiguration/azure-appconfiguration/README.md | 2 +- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_provider.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_provider.py index 42b0c396cfbe..5f6154f045ee 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_provider.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_provider.py @@ -9,10 +9,7 @@ from preparers import app_config_decorator from testcase import AppConfigTestCase, has_feature_flag from test_constants import FEATURE_MANAGEMENT_KEY -from azure.appconfiguration.provider import ( - SettingSelector, - AzureAppConfigurationKeyVaultOptions -) +from azure.appconfiguration.provider import SettingSelector, AzureAppConfigurationKeyVaultOptions from azure.appconfiguration.provider._azureappconfigurationproviderbase import ( delay_failure, ) diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_request_tracing_context.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_request_tracing_context.py index a6cc0992de2c..4c5c6ce4509f 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_request_tracing_context.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_request_tracing_context.py @@ -33,7 +33,7 @@ ) -class TestRequestTracingContext(unittest.TestCase): # pylint: disable=too-many-public-methods +class TestRequestTracingContext(unittest.TestCase): # pylint: disable=too-many-public-methods """Test the _RequestTracingContext class.""" def setUp(self): diff --git a/sdk/appconfiguration/azure-appconfiguration/README.md b/sdk/appconfiguration/azure-appconfiguration/README.md index 1ba482518ad6..fa289e2cf95d 100644 --- a/sdk/appconfiguration/azure-appconfiguration/README.md +++ b/sdk/appconfiguration/azure-appconfiguration/README.md @@ -83,7 +83,7 @@ credentials. ```python - ENDPOINT = os.environ["APPCONFIGURATION_ENDPOINT"] + ENDPOINT = os.environ["APPCONFIGURATION_ENDPOINT_STRING"] credential = DefaultAzureCredential() # Create app config client client = AzureAppConfigurationClient(base_url=ENDPOINT, credential=credential) From 5d920142733612a6fff373ed8c540ea81c8b01ae Mon Sep 17 00:00:00 2001 From: Matt Metcalf Date: Mon, 9 Feb 2026 09:37:00 -0800 Subject: [PATCH 6/8] Update assets.json --- sdk/appconfiguration/azure-appconfiguration/assets.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/appconfiguration/azure-appconfiguration/assets.json b/sdk/appconfiguration/azure-appconfiguration/assets.json index dc13685404d8..80b9a78dfd52 100644 --- a/sdk/appconfiguration/azure-appconfiguration/assets.json +++ b/sdk/appconfiguration/azure-appconfiguration/assets.json @@ -2,5 +2,5 @@ "AssetsRepo": "Azure/azure-sdk-assets", "AssetsRepoPrefixPath": "python", "TagPrefix": "python/appconfiguration/azure-appconfiguration", - "Tag": "python/appconfiguration/azure-appconfiguration_e031d16e39" + "Tag": "python/appconfiguration/azure-appconfiguration_2d6d78c7af" } From 4ae9a6012ce6bcb0155ec8d5f0c137b97143f84a Mon Sep 17 00:00:00 2001 From: Matt Metcalf Date: Mon, 9 Feb 2026 09:48:20 -0800 Subject: [PATCH 7/8] Fixing sample text --- .../samples/hello_world_entra_id_sample.py | 2 +- .../samples/hello_world_sample_entra_id_and_bleu.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/appconfiguration/azure-appconfiguration/samples/hello_world_entra_id_sample.py b/sdk/appconfiguration/azure-appconfiguration/samples/hello_world_entra_id_sample.py index c16da0b8b26b..91ecbd5ff622 100644 --- a/sdk/appconfiguration/azure-appconfiguration/samples/hello_world_entra_id_sample.py +++ b/sdk/appconfiguration/azure-appconfiguration/samples/hello_world_entra_id_sample.py @@ -15,7 +15,7 @@ USAGE: python hello_world_entra_id_sample.py Set the environment variables with your own values before running the sample: - 1) APPCONFIGURATION_CONNECTION_STRING: Connection String used to access the Azure App Configuration. + 1) APPCONFIGURATION_ENDPOINT_STRING: Endpoint URL used to access the Azure App Configuration. """ import os from azure.appconfiguration import AzureAppConfigurationClient diff --git a/sdk/appconfiguration/azure-appconfiguration/samples/hello_world_sample_entra_id_and_bleu.py b/sdk/appconfiguration/azure-appconfiguration/samples/hello_world_sample_entra_id_and_bleu.py index 72c5946826d2..2a433764fb2a 100644 --- a/sdk/appconfiguration/azure-appconfiguration/samples/hello_world_sample_entra_id_and_bleu.py +++ b/sdk/appconfiguration/azure-appconfiguration/samples/hello_world_sample_entra_id_and_bleu.py @@ -16,7 +16,7 @@ USAGE: python hello_world_sample_entra_id_and_bleu.py Set the environment variables with your own values before running the sample: - 1) APPCONFIGURATION_ENDPOINT: Endpoint URL for the Azure App Configuration store in Bleu cloud + 1) APPCONFIGURATION_ENDPOINT_STRING: Endpoint URL for the Azure App Configuration store in Bleu cloud (e.g., https://.azconfig.sovcloud-api.fr) 2) AZURE_TENANT_ID: Your Azure tenant ID 3) AZURE_CLIENT_ID: Your application (client) ID From e1c3a00031a8587717d4ea2ea2e6d85ff85e80ae Mon Sep 17 00:00:00 2001 From: Matt Metcalf Date: Tue, 10 Feb 2026 10:22:45 -0800 Subject: [PATCH 8/8] adding missing import --- .../tests/aio/test_async_snapshots.py | 1 + .../azure-appconfiguration-provider/tests/test_snapshots.py | 1 + 2 files changed, 2 insertions(+) diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_snapshots.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_snapshots.py index 439b91d7eb1d..f4c1959c2ccd 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_snapshots.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/aio/test_async_snapshots.py @@ -3,6 +3,7 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- +import pytest import time from azure.appconfiguration.provider._models import SettingSelector from azure.appconfiguration.provider._constants import NULL_CHAR, FEATURE_MANAGEMENT_KEY, FEATURE_FLAG_KEY diff --git a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_snapshots.py b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_snapshots.py index 369b70fdfa5b..e6062f3b3b8e 100644 --- a/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_snapshots.py +++ b/sdk/appconfiguration/azure-appconfiguration-provider/tests/test_snapshots.py @@ -3,6 +3,7 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- +import pytest import time from azure.appconfiguration.provider._models import SettingSelector from azure.appconfiguration.provider._constants import NULL_CHAR, FEATURE_MANAGEMENT_KEY, FEATURE_FLAG_KEY