File: preparer.py

package info (click to toggle)
python-azure 20230112%2Bgit-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 749,544 kB
  • sloc: python: 6,815,827; javascript: 287; makefile: 195; xml: 109; sh: 105
file content (47 lines) | stat: -rw-r--r-- 1,789 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
# -------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
# --------------------------------------------------------------------------

import os
import functools
from devtools_testutils import PowerShellPreparer, AzureMgmtPreparer
from azure.core.credentials import AzureKeyCredential


DocumentTranslationPreparer = functools.partial(
    PowerShellPreparer,
    'translation',
    translation_document_test_endpoint="https://fakeendpoint.cognitiveservices.azure.com",
    translation_document_test_api_key="fakeZmFrZV9hY29jdW50X2tleQ==",
    translation_document_name="redacted",
    translation_document_storage_name="redacted",
    translation_document_storage_key="fakeZmFrZV9hY29jdW50X2tleQ=="
)


class DocumentTranslationClientPreparer(AzureMgmtPreparer):
    def __init__(self, client_cls, client_kwargs={}, **kwargs):
        super().__init__(
            name_prefix='',
            random_name_length=42
        )
        self.client_kwargs = client_kwargs
        self.client_cls = client_cls

    def create_resource(self, name, **kwargs):
        doctranslation_test_endpoint = kwargs.get("translation_document_test_endpoint")
        doctranslation_test_api_key = kwargs.get("translation_document_test_api_key")

        # set polling interval to 0 for recorded tests
        if not self.is_live:
            self.client_kwargs["polling_interval"] = 0

        client = self.client_cls(
            doctranslation_test_endpoint,
            AzureKeyCredential(doctranslation_test_api_key),
            **self.client_kwargs
        )
        kwargs.update({"client": client})
        return kwargs