Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-azure-ai-translation-text for openSUSE:Factory checked in at 2024-07-11 20:30:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-azure-ai-translation-text (Old) and /work/SRC/openSUSE:Factory/.python-azure-ai-translation-text.new.17339 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-azure-ai-translation-text" Thu Jul 11 20:30:29 2024 rev:4 rq:1186586 version:1.0.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-azure-ai-translation-text/python-azure-ai-translation-text.changes 2024-05-23 15:36:48.290978534 +0200 +++ /work/SRC/openSUSE:Factory/.python-azure-ai-translation-text.new.17339/python-azure-ai-translation-text.changes 2024-07-11 20:30:51.107754478 +0200 @@ -1,0 +2,10 @@ +Wed Jul 10 11:02:50 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaub...@suse.com> + +- New upstream release + + Version 1.0.1 + + For detailed information about changes see the + CHANGELOG.md file provided with this package +- Drop extra LICENSE.txt as upstream now ships its own +- Rename LICENSE.txt to LICENSE in %files section + +------------------------------------------------------------------- Old: ---- LICENSE.txt azure-ai-translation-text-1.0.0.tar.gz New: ---- azure-ai-translation-text-1.0.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-azure-ai-translation-text.spec ++++++ --- /var/tmp/diff_new_pack.I2U0Lo/_old 2024-07-11 20:30:51.655774730 +0200 +++ /var/tmp/diff_new_pack.I2U0Lo/_new 2024-07-11 20:30:51.659774878 +0200 @@ -18,14 +18,13 @@ %{?sle15_python_module_pythons} Name: python-azure-ai-translation-text -Version: 1.0.0 +Version: 1.0.1 Release: 0 Summary: Azure Text Translation Client Library for Python License: MIT Group: Development/Languages/Python URL: https://github.com/Azure/azure-sdk-for-python Source: https://files.pythonhosted.org/packages/source/a/azure-ai-translation-text/azure-ai-translation-text-%{version}.tar.gz -Source1: LICENSE.txt BuildRequires: %{python_module azure-ai-nspkg >= 1.0.0} BuildRequires: %{python_module azure-ai-translation-nspkg >= 1.0.0} BuildRequires: %{python_module pip} @@ -63,7 +62,6 @@ %setup -q -n azure-ai-translation-text-%{version} %build -install -m 644 %{SOURCE1} %{_builddir}/azure-ai-translation-text-%{version} %pyproject_wheel %install @@ -78,7 +76,7 @@ %files %{python_files} %doc CHANGELOG.md README.md -%license LICENSE.txt +%license LICENSE %{python_sitelib}/azure/ai/translation/text %{python_sitelib}/azure_ai_translation_text-*.dist-info ++++++ azure-ai-translation-text-1.0.0.tar.gz -> azure-ai-translation-text-1.0.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-ai-translation-text-1.0.0/CHANGELOG.md new/azure-ai-translation-text-1.0.1/CHANGELOG.md --- old/azure-ai-translation-text-1.0.0/CHANGELOG.md 2024-05-22 23:50:36.000000000 +0200 +++ new/azure-ai-translation-text-1.0.1/CHANGELOG.md 2024-06-24 22:05:53.000000000 +0200 @@ -1,5 +1,10 @@ # Release History +## 1.0.1 (2024-06-24) + +### Bugs Fixed + - Fixed a bug where Entra Id authentication couldn't be used with custom endpoint. + ## 1.0.0 (2024-05-23) ### Features Added diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-ai-translation-text-1.0.0/PKG-INFO new/azure-ai-translation-text-1.0.1/PKG-INFO --- old/azure-ai-translation-text-1.0.0/PKG-INFO 2024-05-22 23:51:45.871478000 +0200 +++ new/azure-ai-translation-text-1.0.1/PKG-INFO 2024-06-24 22:07:16.313734300 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: azure-ai-translation-text -Version: 1.0.0 +Version: 1.0.1 Summary: Microsoft Azure Ai Translation Text Client Library for Python Home-page: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk Author: Microsoft Corporation @@ -87,7 +87,7 @@ ```python credential = AzureKeyCredential(apikey) -text_translator = TextTranslationClient(credential=credential, endpoint=endpoint, region=region) +text_translator = TextTranslationClient(credential=credential, region=region) ``` <!-- END SNIPPET --> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-ai-translation-text-1.0.0/README.md new/azure-ai-translation-text-1.0.1/README.md --- old/azure-ai-translation-text-1.0.0/README.md 2024-05-22 23:50:36.000000000 +0200 +++ new/azure-ai-translation-text-1.0.1/README.md 2024-06-24 22:05:53.000000000 +0200 @@ -64,7 +64,7 @@ ```python credential = AzureKeyCredential(apikey) -text_translator = TextTranslationClient(credential=credential, endpoint=endpoint, region=region) +text_translator = TextTranslationClient(credential=credential, region=region) ``` <!-- END SNIPPET --> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-ai-translation-text-1.0.0/azure/ai/translation/text/_patch.py new/azure-ai-translation-text-1.0.1/azure/ai/translation/text/_patch.py --- old/azure-ai-translation-text-1.0.0/azure/ai/translation/text/_patch.py 2024-05-22 23:50:36.000000000 +0200 +++ new/azure-ai-translation-text-1.0.1/azure/ai/translation/text/_patch.py 2024-06-24 22:05:53.000000000 +0200 @@ -11,7 +11,6 @@ from ._client import TextTranslationClient as ServiceClientGenerated -DEFAULT_TOKEN_SCOPE = "https://api.microsofttranslator.com/" DEFAULT_ENTRA_ID_SCOPE = "https://cognitiveservices.azure.com" DEFAULT_SCOPE = "/.default" @@ -79,6 +78,12 @@ return translator_endpoint +def is_cognitive_services_scope(audience: str) -> bool: + if "microsofttranslator" in audience: + return True + + return False + def set_authentication_policy(credential, kwargs): if isinstance(credential, AzureKeyCredential): @@ -92,7 +97,7 @@ elif hasattr(credential, "get_token"): if not kwargs.get("authentication_policy"): if kwargs.get("region") and kwargs.get("resource_id"): - scope = kwargs.pop("audience", DEFAULT_ENTRA_ID_SCOPE).rstrip("/") + DEFAULT_SCOPE + scope = kwargs.pop("audience", DEFAULT_ENTRA_ID_SCOPE).rstrip("/").rstrip(DEFAULT_SCOPE) + DEFAULT_SCOPE kwargs["authentication_policy"] = TranslatorEntraIdAuthenticationPolicy( credential, kwargs["resource_id"], @@ -105,8 +110,12 @@ """Both 'resource_id' and 'region' must be provided with a TokenCredential for regional resource authentication.""" ) + scope: str = kwargs.pop("audience", DEFAULT_ENTRA_ID_SCOPE) + if not is_cognitive_services_scope(scope): + scope = scope.rstrip("/").rstrip(DEFAULT_SCOPE) + DEFAULT_SCOPE + kwargs["authentication_policy"] = BearerTokenCredentialPolicy( - credential, *[kwargs.pop("audience", DEFAULT_TOKEN_SCOPE)], kwargs + credential, scope ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-ai-translation-text-1.0.0/azure/ai/translation/text/_version.py new/azure-ai-translation-text-1.0.1/azure/ai/translation/text/_version.py --- old/azure-ai-translation-text-1.0.0/azure/ai/translation/text/_version.py 2024-05-22 23:50:36.000000000 +0200 +++ new/azure-ai-translation-text-1.0.1/azure/ai/translation/text/_version.py 2024-06-24 22:05:53.000000000 +0200 @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "1.0.0" +VERSION = "1.0.1" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-ai-translation-text-1.0.0/azure/ai/translation/text/aio/_patch.py new/azure-ai-translation-text-1.0.1/azure/ai/translation/text/aio/_patch.py --- old/azure-ai-translation-text-1.0.0/azure/ai/translation/text/aio/_patch.py 2024-05-22 23:50:36.000000000 +0200 +++ new/azure-ai-translation-text-1.0.1/azure/ai/translation/text/aio/_patch.py 2024-06-24 22:05:53.000000000 +0200 @@ -14,11 +14,11 @@ from azure.core.credentials_async import AsyncTokenCredential from .._patch import ( - DEFAULT_TOKEN_SCOPE, DEFAULT_ENTRA_ID_SCOPE, DEFAULT_SCOPE, get_translation_endpoint, TranslatorAuthenticationPolicy, + is_cognitive_services_scope, ) from ._client import TextTranslationClient as ServiceClientGenerated @@ -72,7 +72,7 @@ elif hasattr(credential, "get_token"): if not kwargs.get("authentication_policy"): if kwargs.get("region") and kwargs.get("resource_id"): - scope = kwargs.pop("audience", DEFAULT_ENTRA_ID_SCOPE).rstrip("/") + DEFAULT_SCOPE + scope = kwargs.pop("audience", DEFAULT_ENTRA_ID_SCOPE).rstrip("/").rstrip(DEFAULT_SCOPE) + DEFAULT_SCOPE kwargs["authentication_policy"] = AsyncTranslatorEntraIdAuthenticationPolicy( credential, kwargs["resource_id"], @@ -85,8 +85,11 @@ """Both 'resource_id' and 'region' must be provided with a TokenCredential for regional resource authentication.""" ) + scope: str = kwargs.pop("audience", DEFAULT_ENTRA_ID_SCOPE) + if not is_cognitive_services_scope(scope): + scope = scope.rstrip("/").rstrip(DEFAULT_SCOPE) + DEFAULT_SCOPE kwargs["authentication_policy"] = AsyncBearerTokenCredentialPolicy( - credential, *[kwargs.pop("audience", DEFAULT_TOKEN_SCOPE)], kwargs + credential, scope ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-ai-translation-text-1.0.0/azure_ai_translation_text.egg-info/PKG-INFO new/azure-ai-translation-text-1.0.1/azure_ai_translation_text.egg-info/PKG-INFO --- old/azure-ai-translation-text-1.0.0/azure_ai_translation_text.egg-info/PKG-INFO 2024-05-22 23:51:45.000000000 +0200 +++ new/azure-ai-translation-text-1.0.1/azure_ai_translation_text.egg-info/PKG-INFO 2024-06-24 22:07:16.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: azure-ai-translation-text -Version: 1.0.0 +Version: 1.0.1 Summary: Microsoft Azure Ai Translation Text Client Library for Python Home-page: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk Author: Microsoft Corporation @@ -87,7 +87,7 @@ ```python credential = AzureKeyCredential(apikey) -text_translator = TextTranslationClient(credential=credential, endpoint=endpoint, region=region) +text_translator = TextTranslationClient(credential=credential, region=region) ``` <!-- END SNIPPET --> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-ai-translation-text-1.0.0/samples/README.md new/azure-ai-translation-text-1.0.1/samples/README.md --- old/azure-ai-translation-text-1.0.0/samples/README.md 2024-05-22 23:50:36.000000000 +0200 +++ new/azure-ai-translation-text-1.0.1/samples/README.md 2024-06-24 22:05:53.000000000 +0200 @@ -24,36 +24,104 @@ See the [README][README] of the Text Translator client library for more information, including useful links and instructions. -## Common scenarios samples +# Create Client +Text Translation service is using two types of endpoints - Global and Custom. You can find more information in the [v3 Translator reference][TranslatorReference]. -# Create Client +## Global Endpoint -For some of these operations you can create a new `TextTranslationClient` without any authentication. You will only need your endpoint: +When using Text Translation service with global endpoint, the endpoint doesn't need to be provided when creating `TextTranslationClient`. When `endpoint` is +not provided, global `api.cognitive.microsofttranslator.com` is used. For [sovereign clouds][SovereignClouds], the endpoint is always required. -<!-- SNIPPET: sample_text_translation_client.create_text_translation_client_with_endpoint --> +### Using the Subscription Key + +When using `cognitive services key` and `region` with global endpoint, you can create `TextTranslationClient`: + +<!-- SNIPPET: sample_text_translation_client.create_text_translation_client_with_credential --> ```python -text_translator = TextTranslationClient(endpoint=endpoint) +credential = AzureKeyCredential(apikey) +text_translator = TextTranslationClient(credential=credential, region=region) ``` <!-- END SNIPPET --> -The values of the `endpoint` variable can be retrieved from environment variables, configuration settings, or any other secure approach that works for your application. +### Using the Cognitive Services Token -For other samples an overloaded constructor is provided that uses a TextTranslationCredential. In addition to `endpoint`, this function requires configuring an `apikey` and `region` to create the credential. The values of the `endpoint`, `apiKey` and `region` variables can be retrieved from environment variables, configuration settings, or any other secure approach that works for your application. +For the Cognitive Services Token authentication, there is currently no implementation provided in the SDK. You can implement the solution +according to the [Token Authentication documentation][TranslatorReference]. For a simple example implementation, you can refer: [StaticAccessTokenCredential][static_access_token_credential]. +When the token is created, you can create the `TextTranslationClient`: -The appropriate constructor is invoked in each sample to create a `TextTranslationClient` instance. +<!-- SNIPPET: sample_text_translation_client.create_text_translation_client_with_cognitive_services_token --> -<!-- SNIPPET: sample_text_translation_client.create_text_translation_client_with_credential --> +```python +client = TextTranslationClient(credential=credential, audience="https://api.microsofttranslator.com/") +``` + +<!-- END SNIPPET --> + +### Using the Entra Id Authentication + +The Authentication with Microsoft Entra ID on global endpoint requires bearer token generated by Azure AD, Region of the translator resource +and Resource ID for your Translator resource instance. For prerequisites and more information refer to [Authentication with Microsoft Entra ID][TranslatorReference]. + +<!-- SNIPPET: sample_text_translation_client.create_text_translation_client_with_entra_id_token --> + +```python +credential = DefaultAzureCredential() +client = TextTranslationClient(credential=credential, region=region, resource_id=resource_id) +``` + +<!-- END SNIPPET --> + +## Custom Endpoint + +When using some selected features (for example Virtual Network) you need to use custom endpoints. More information can be found in [Virtual Network support][TranslatorReference]. + +### Using the Subscription Key + +For Custom endpoint and cognitive services key combination, you don't need to provide the region: + +<!-- SNIPPET: sample_text_translation_client.create_text_translation_client_custom_with_credential --> ```python credential = AzureKeyCredential(apikey) -text_translator = TextTranslationClient(credential=credential, endpoint=endpoint, region=region) +text_translator = TextTranslationClient(credential=credential, endpoint=endpoint) ``` <!-- END SNIPPET --> +### Using the Cognitive Services Token + +The Cognitive Services Token is not supported when using the Custom Endpoint. + +### Using the Entra Id Authentication + +The Authentication with Microsoft Entra ID on custom endpoint requires you to provide only bearer token generated by Azure AD: + +<!-- SNIPPET: sample_text_translation_client.create_text_translation_client_custom_with_entra_id_token --> + +```python +credential = DefaultAzureCredential() +client = TextTranslationClient(credential=credential, endpoint=endpoint) +``` + +<!-- END SNIPPET --> + +## Azure AI Translator Container + +When using `TextTranslationClient` with the [Azure AI Translator Container][Container] without any authentication. You will only need your endpoint: + +<!-- SNIPPET: sample_text_translation_client.create_text_translation_client_with_endpoint --> + +```python +text_translator = TextTranslationClient(endpoint=endpoint) +``` + +<!-- END SNIPPET --> + +The values of the `endpoint` variable can be retrieved from environment variables, configuration settings, or any other secure approach that works for your application. + # Get Languages This sample demonstrates how to get languages that are supported by other operations. @@ -803,3 +871,8 @@ [breaksentence_sample]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/translation/azure-ai-translation-text/samples/sample_text_translation_break_sentence.py [dictionarylookup_sample]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/translation/azure-ai-translation-text/samples/sample_text_translation_dictionary_lookup.py [dictionaryexamples_sample]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/translation/azure-ai-translation-text/samples/sample_text_translation_dictionary_examples.py +[static_access_token_credential]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/translation/azure-ai-translation-text/tests/static_access_token_credential.py + +[Container]: https://learn.microsoft.com/azure/ai-services/translator/containers/overview +[TranslatorReference]: https://learn.microsoft.com/azure/ai-services/translator/reference/v3-0-reference +[SovereignClouds]: https://learn.microsoft.com/azure/ai-services/translator/sovereign-clouds \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-ai-translation-text-1.0.0/samples/sample_text_translation_client.py new/azure-ai-translation-text-1.0.1/samples/sample_text_translation_client.py --- old/azure-ai-translation-text-1.0.0/samples/sample_text_translation_client.py 2024-05-22 23:50:36.000000000 +0200 +++ new/azure-ai-translation-text-1.0.1/samples/sample_text_translation_client.py 2024-06-24 22:05:53.000000000 +0200 @@ -18,14 +18,16 @@ 1) AZURE_TEXT_TRANSLATION_ENDPOINT - the endpoint to your Text Translation resource. Note: the endpoint must be formatted to use the custom domain name for your resource: https:\\<NAME-OF-YOUR-RESOURCE>.cognitiveservices.azure.com\ - - The create_text_translation_client_with_credential call requires additional variables: + 2) AZURE_TEXT_TRANSLATION_APIKEY - the API key to your Text Translation resource. 3) AZURE_TEXT_TRANSLATION_REGION - the Azure Region of your Text Translation resource. + 4) AZURE_TEXT_TRANSLATION_RESOURCE_ID - the Azure Resource Id path """ import os +from static_access_token_credential import StaticAccessTokenCredential + # ------------------------------------------------------------------------- # Text translation client @@ -33,7 +35,7 @@ def create_text_translation_client_with_endpoint(): from azure.ai.translation.text import TextTranslationClient - endpoint = os.environ["AZURE_TEXT_TRANSLATION_ENDPOINT"] + endpoint = "http://localhost" # [START create_text_translation_client_with_endpoint] text_translator = TextTranslationClient(endpoint=endpoint) # [END create_text_translation_client_with_endpoint] @@ -44,11 +46,58 @@ from azure.ai.translation.text import TextTranslationClient from azure.core.credentials import AzureKeyCredential - endpoint = os.environ["AZURE_TEXT_TRANSLATION_ENDPOINT"] apikey = os.environ["AZURE_TEXT_TRANSLATION_APIKEY"] region = os.environ["AZURE_TEXT_TRANSLATION_REGION"] # [START create_text_translation_client_with_credential] credential = AzureKeyCredential(apikey) - text_translator = TextTranslationClient(credential=credential, endpoint=endpoint, region=region) + text_translator = TextTranslationClient(credential=credential, region=region) # [END create_text_translation_client_with_credential] return text_translator + +def create_text_translation_client_custom_with_credential(): + from azure.ai.translation.text import TextTranslationClient + from azure.core.credentials import AzureKeyCredential + + endpoint = os.environ["AZURE_TEXT_TRANSLATION_ENDPOINT"] + apikey = os.environ["AZURE_TEXT_TRANSLATION_APIKEY"] + # [START create_text_translation_client_custom_with_credential] + credential = AzureKeyCredential(apikey) + text_translator = TextTranslationClient(credential=credential, endpoint=endpoint) + # [END create_text_translation_client_custom_with_credential] + return text_translator + +def create_text_translation_client_with_cognitive_services_token(): + from azure.ai.translation.text import TextTranslationClient + from azure.core.credentials import TokenCredential + + apikey = os.environ["AZURE_TEXT_TRANSLATION_APIKEY"] + region = os.environ["AZURE_TEXT_TRANSLATION_REGION"] + + credential: TokenCredential = StaticAccessTokenCredential(apikey, region) + + # [START create_text_translation_client_with_cognitive_services_token] + client = TextTranslationClient(credential=credential, audience="https://api.microsofttranslator.com/") + # [END create_text_translation_client_with_cognitive_services_token] + +def create_text_translation_client_with_entra_id_token(): + from azure.ai.translation.text import TextTranslationClient + from azure.identity import DefaultAzureCredential + + region = os.environ["AZURE_TEXT_TRANSLATION_REGION"] + resource_id = os.environ["AZURE_TEXT_TRANSLATION_RESOURCE_ID"] + + # [START create_text_translation_client_with_entra_id_token] + credential = DefaultAzureCredential() + client = TextTranslationClient(credential=credential, region=region, resource_id=resource_id) + # [END create_text_translation_client_with_entra_id_token] + +def create_text_translation_client_custom_with_entra_id_token(): + from azure.ai.translation.text import TextTranslationClient + from azure.identity import DefaultAzureCredential + + endpoint = os.environ["AZURE_TEXT_TRANSLATION_ENDPOINT"] + + # [START create_text_translation_client_custom_with_entra_id_token] + credential = DefaultAzureCredential() + client = TextTranslationClient(credential=credential, endpoint=endpoint) + # [END create_text_translation_client_custom_with_entra_id_token] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-ai-translation-text-1.0.0/tests/test_translation.py new/azure-ai-translation-text-1.0.1/tests/test_translation.py --- old/azure-ai-translation-text-1.0.0/tests/test_translation.py 2024-05-22 23:50:36.000000000 +0200 +++ new/azure-ai-translation-text-1.0.1/tests/test_translation.py 2024-06-24 22:05:53.000000000 +0200 @@ -290,7 +290,7 @@ endpoint = kwargs.get("translation_text_endpoint") apikey = kwargs.get("translation_text_apikey") region = kwargs.get("translation_text_region") - client = self.create_client_token(endpoint, apikey, region) + client = self.create_client_token(endpoint, apikey, region, "https://api.microsofttranslator.com/") to_language = ["cs"] input_text_elements = ["This is a test."] @@ -312,6 +312,24 @@ from_language = "es" to_language = ["cs"] + input_text_elements = ["Hola mundo"] + response = client.translate(body=input_text_elements, to_language=to_language, from_language=from_language) + + assert len(response) == 1 + assert len(response[0].translations) == 1 + assert response[0].translations[0].to == "cs" + assert response[0].translations[0].text is not None + + @pytest.mark.skip + @TextTranslationPreparer() + @recorded_by_proxy + def test_translate_aad_custom(self, **kwargs): + endpoint = kwargs.get("translation_text_custom_endpoint") + token_credential = self.get_mt_credential(False) + client = self.create_text_translation_client_custom_with_aad(token_credential, endpoint=endpoint) + + from_language = "es" + to_language = ["cs"] input_text_elements = ["Hola mundo"] response = client.translate(body=input_text_elements, to_language=to_language, from_language=from_language) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-ai-translation-text-1.0.0/tests/test_translation_async.py new/azure-ai-translation-text-1.0.1/tests/test_translation_async.py --- old/azure-ai-translation-text-1.0.0/tests/test_translation_async.py 2024-05-22 23:50:36.000000000 +0200 +++ new/azure-ai-translation-text-1.0.1/tests/test_translation_async.py 2024-06-24 22:05:53.000000000 +0200 @@ -312,7 +312,7 @@ endpoint = kwargs.get("translation_text_endpoint") apikey = kwargs.get("translation_text_apikey") region = kwargs.get("translation_text_region") - client = self.create_async_client_token(endpoint, apikey, region) + client = self.create_async_client_token(endpoint, apikey, region, "https://api.microsofttranslator.com/") to_language = ["cs"] input_text_elements = ["This is a test."] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-ai-translation-text-1.0.0/tests/testcase.py new/azure-ai-translation-text-1.0.1/tests/testcase.py --- old/azure-ai-translation-text-1.0.0/tests/testcase.py 2024-05-22 23:50:36.000000000 +0200 +++ new/azure-ai-translation-text-1.0.1/tests/testcase.py 2024-06-24 22:05:53.000000000 +0200 @@ -22,15 +22,19 @@ client = TextTranslationClient(endpoint=endpoint, credential=credential, region=region) return client - def create_client_token(self, endpoint, apikey, region): + def create_client_token(self, endpoint, apikey, region, audience): credential = StaticAccessTokenCredential(apikey, region) - client = TextTranslationClient(endpoint=endpoint, credential=credential) + client = TextTranslationClient(endpoint=endpoint, credential=credential, audience=audience) return client def create_text_translation_client_with_aad(self, innerCredential, aadRegion, aadResourceId): text_translator = TextTranslationClient(credential=innerCredential, resource_id=aadResourceId, region=aadRegion) return text_translator + def create_text_translation_client_custom_with_aad(self, innerCredential, endpoint): + text_translator = TextTranslationClient(credential=innerCredential, endpoint=endpoint) + return text_translator + def create_async_getlanguage_client(self, endpoint): from azure.ai.translation.text.aio import TextTranslationClient as TextTranslationClientAsync @@ -44,11 +48,11 @@ client = TextTranslationClientAsync(endpoint=endpoint, credential=credential, region=region) return client - def create_async_client_token(self, endpoint, apikey, region): + def create_async_client_token(self, endpoint, apikey, region, audience): credential = StaticAccessTokenCredential(apikey, region) from azure.ai.translation.text.aio import TextTranslationClient as TextTranslationClientAsync - client = TextTranslationClientAsync(endpoint=endpoint, credential=credential) + client = TextTranslationClientAsync(endpoint=endpoint, credential=credential, audience=audience) return client def create_async_text_translation_client_with_aad(self, innerCredential, aadRegion, aadResourceId):