File: testcase.py

package info (click to toggle)
python-azure 20250603%2Bgit-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 851,724 kB
  • sloc: python: 7,362,925; ansic: 804; javascript: 287; makefile: 195; sh: 145; xml: 109
file content (84 lines) | stat: -rw-r--r-- 3,939 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# ------------------------------------
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
# ------------------------------------

import os
from devtools_testutils.fake_credentials_async import AsyncFakeCredential
from azure.core.credentials import AzureKeyCredential
from devtools_testutils import AzureRecordedTestCase
from azure.ai.translation.text import TextTranslationClient

from static_access_token_credential import StaticAccessTokenCredential


class TextTranslationTest(AzureRecordedTestCase):
    def create_getlanguage_client(self, endpoint):
        client = TextTranslationClient(endpoint=endpoint, credential=None)
        return client

    def create_client(self, endpoint, apikey, region):
        credential = AzureKeyCredential(apikey)
        client = TextTranslationClient(endpoint=endpoint, credential=credential, region=region)
        return client

    def create_client_token(self, endpoint, apikey, region, audience):
        credential = StaticAccessTokenCredential(apikey, region)
        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

        client = TextTranslationClientAsync(endpoint=endpoint, credential=None)
        return client

    def create_async_client(self, endpoint, apikey, region):
        credential = AzureKeyCredential(apikey)
        from azure.ai.translation.text.aio import TextTranslationClient as TextTranslationClientAsync

        client = TextTranslationClientAsync(endpoint=endpoint, credential=credential, region=region)
        return client

    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, audience=audience)
        return client

    def create_async_text_translation_client_with_aad(self, innerCredential, aadRegion, aadResourceId):
        from azure.ai.translation.text.aio import TextTranslationClient as TextTranslationClientAsync

        text_translator = TextTranslationClientAsync(
            credential=innerCredential, resource_id=aadResourceId, region=aadRegion
        )
        return text_translator

    def get_mt_credential(self, is_async, **kwargs):
        # Return live credentials only in live mode
        if self.is_live:
            from azure.identity import ClientSecretCredential

            if is_async:
                from azure.identity.aio import ClientSecretCredential

            tenant_id = os.environ.get("AZURE_TENANT_ID", getattr(os.environ, "TENANT_ID", None))
            client_id = os.environ.get("AZURE_CLIENT_ID", getattr(os.environ, "CLIENT_ID", None))
            secret = os.environ.get("AZURE_CLIENT_SECRET", getattr(os.environ, "CLIENT_SECRET", None))
            return ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=secret)

        # For playback tests, return credentials that will accept playback `get_token` calls
        else:
            if is_async:
                return AsyncFakeCredential()
            else:
                return self.settings.get_azure_core_credentials()