Skip to content

Commit 72fa300

Browse files
xiangyan99l0lawrence
authored andcommitted
Fr tests migration (Azure#36275)
1 parent 258b6fb commit 72fa300

File tree

69 files changed

+1181
-1558
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+1181
-1558
lines changed

sdk/formrecognizer/azure-ai-formrecognizer/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
},
7070
python_requires=">=3.8",
7171
install_requires=[
72-
"azure-core>=1.23.0",
72+
"azure-core>=1.30.0",
7373
"msrest>=0.6.21",
7474
'azure-common>=1.1',
7575
"typing-extensions>=4.0.1",

sdk/formrecognizer/azure-ai-formrecognizer/tests/preparers.py

Lines changed: 48 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
import os
1010
import functools
11-
from devtools_testutils import PowerShellPreparer, AzureMgmtPreparer
11+
from devtools_testutils import PowerShellPreparer, AzureMgmtPreparer, is_live, get_credential
1212
from azure.core.credentials import AzureKeyCredential
1313

1414
ENABLE_LOGGER = os.getenv('ENABLE_LOGGER', "False")
@@ -19,7 +19,6 @@
1919
PowerShellPreparer,
2020
'formrecognizer',
2121
formrecognizer_test_endpoint="https://fakeendpoint.cognitiveservices.azure.com",
22-
formrecognizer_test_api_key="fakeZmFrZV9hY29jdW50X2tleQ==",
2322
formrecognizer_storage_container_sas_url="https://blob_sas_url",
2423
formrecognizer_testing_data_container_sas_url="https://blob_sas_url",
2524
formrecognizer_multipage_storage_container_sas_url="https://blob_sas_url",
@@ -38,32 +37,58 @@
3837
formrecognizer_region="region"
3938
)
4039

41-
42-
class GlobalClientPreparer(AzureMgmtPreparer):
43-
def __init__(self, client_cls, client_kwargs={}, **kwargs):
44-
super(GlobalClientPreparer, self).__init__(
45-
name_prefix='',
46-
random_name_length=42
40+
def get_sync_client(client_cls, **kwargs):
41+
ENABLE_LOGGER = os.getenv('ENABLE_LOGGER', "False")
42+
polling_interval = kwargs.pop("polling_interval", None)
43+
if is_live():
44+
form_recognizer_account = os.environ["FORMRECOGNIZER_TEST_ENDPOINT"]
45+
if not polling_interval:
46+
polling_interval = 1
47+
else:
48+
form_recognizer_account = "https://fakeendpoint.cognitiveservices.azure.com"
49+
if not polling_interval:
50+
polling_interval = 0
51+
if "api_key" in kwargs:
52+
api_key = kwargs.pop("api_key")
53+
return client_cls(
54+
form_recognizer_account,
55+
AzureKeyCredential(api_key),
56+
polling_interval=polling_interval,
57+
logging_enable=True if ENABLE_LOGGER == "True" else False,
58+
**kwargs
4759
)
48-
self.client_kwargs = client_kwargs
49-
self.client_cls = client_cls
60+
return client_cls(
61+
form_recognizer_account,
62+
get_credential(),
63+
polling_interval=polling_interval,
64+
logging_enable=True if ENABLE_LOGGER == "True" else False,
65+
**kwargs
66+
)
5067

51-
def create_resource(self, name, **kwargs):
52-
if self.is_live:
53-
form_recognizer_account = os.environ["FORMRECOGNIZER_TEST_ENDPOINT"]
54-
form_recognizer_account_key = os.environ["FORMRECOGNIZER_TEST_API_KEY"]
68+
def get_async_client(client_cls, **kwargs):
69+
ENABLE_LOGGER = os.getenv('ENABLE_LOGGER', "False")
70+
polling_interval = kwargs.pop("polling_interval", None)
71+
if is_live():
72+
form_recognizer_account = os.environ["FORMRECOGNIZER_TEST_ENDPOINT"]
73+
if not polling_interval:
5574
polling_interval = 1
56-
else:
57-
form_recognizer_account = "https://fakeendpoint.cognitiveservices.azure.com"
58-
form_recognizer_account_key = "fakeZmFrZV9hY29jdW50X2tleQ=="
75+
else:
76+
form_recognizer_account = "https://fakeendpoint.cognitiveservices.azure.com"
77+
if not polling_interval:
5978
polling_interval = 0
60-
61-
client = self.client_cls(
79+
if "api_key" in kwargs:
80+
api_key = kwargs.pop("api_key")
81+
return client_cls(
6282
form_recognizer_account,
63-
AzureKeyCredential(form_recognizer_account_key),
83+
AzureKeyCredential(api_key),
6484
polling_interval=polling_interval,
6585
logging_enable=True if ENABLE_LOGGER == "True" else False,
66-
**self.client_kwargs
86+
**kwargs
6787
)
68-
kwargs.update({"client": client})
69-
return kwargs
88+
return client_cls(
89+
form_recognizer_account,
90+
get_credential(is_async=True),
91+
polling_interval=polling_interval,
92+
logging_enable=True if ENABLE_LOGGER == "True" else False,
93+
**kwargs
94+
)

sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dac_analyze_custom_model.py

Lines changed: 17 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -7,41 +7,36 @@
77
import pytest
88
import functools
99
from devtools_testutils import recorded_by_proxy, set_bodiless_matcher
10-
from azure.core.credentials import AzureKeyCredential
1110
from azure.ai.formrecognizer import DocumentAnalysisClient, DocumentModelAdministrationClient, AnalyzeResult
1211
from azure.ai.formrecognizer._generated.v2023_07_31.models import AnalyzeResultOperation
1312
from testcase import FormRecognizerTest
14-
from preparers import GlobalClientPreparer as _GlobalClientPreparer
15-
from preparers import FormRecognizerPreparer
13+
from preparers import FormRecognizerPreparer, get_sync_client
1614
from conftest import skip_flaky_test
1715

18-
DocumentModelAdministrationClientPreparer = functools.partial(_GlobalClientPreparer, DocumentModelAdministrationClient)
16+
get_dma_client = functools.partial(get_sync_client, DocumentModelAdministrationClient)
17+
get_da_client = functools.partial(get_sync_client, DocumentAnalysisClient)
1918

2019
class TestDACAnalyzeCustomModel(FormRecognizerTest):
2120

2221
@FormRecognizerPreparer()
2322
def test_analyze_document_none_model_id(self, **kwargs):
24-
formrecognizer_test_endpoint = kwargs.pop("formrecognizer_test_endpoint")
25-
formrecognizer_test_api_key = kwargs.pop("formrecognizer_test_api_key")
26-
client = DocumentAnalysisClient(formrecognizer_test_endpoint, AzureKeyCredential(formrecognizer_test_api_key))
23+
client = get_da_client()
2724
with pytest.raises(ValueError) as e:
2825
client.begin_analyze_document(model_id=None, document=b"xx")
2926
assert "model_id cannot be None or empty." in str(e.value)
3027

3128
@FormRecognizerPreparer()
3229
def test_analyze_document_empty_model_id(self, **kwargs):
33-
formrecognizer_test_endpoint = kwargs.pop("formrecognizer_test_endpoint")
34-
formrecognizer_test_api_key = kwargs.pop("formrecognizer_test_api_key")
35-
client = DocumentAnalysisClient(formrecognizer_test_endpoint, AzureKeyCredential(formrecognizer_test_api_key))
30+
client = get_da_client()
3631
with pytest.raises(ValueError) as e:
3732
client.begin_analyze_document(model_id="", document=b"xx")
3833
assert "model_id cannot be None or empty." in str(e.value)
3934

4035
@skip_flaky_test
4136
@FormRecognizerPreparer()
42-
@DocumentModelAdministrationClientPreparer()
4337
@recorded_by_proxy
44-
def test_custom_document_transform(self, client, formrecognizer_storage_container_sas_url, **kwargs):
38+
def test_custom_document_transform(self, formrecognizer_storage_container_sas_url, **kwargs):
39+
client = get_dma_client()
4540
set_bodiless_matcher()
4641
da_client = client.get_document_analysis_client()
4742

@@ -85,9 +80,9 @@ def callback(raw_response, _, headers):
8580

8681
@skip_flaky_test
8782
@FormRecognizerPreparer()
88-
@DocumentModelAdministrationClientPreparer()
8983
@recorded_by_proxy
90-
def test_custom_document_multipage_transform(self, client, formrecognizer_multipage_storage_container_sas_url, **kwargs):
84+
def test_custom_document_multipage_transform(self, formrecognizer_multipage_storage_container_sas_url, **kwargs):
85+
client = get_dma_client()
9186
set_bodiless_matcher()
9287
da_client = client.get_document_analysis_client()
9388

@@ -131,9 +126,9 @@ def callback(raw_response, _, headers):
131126

132127
@skip_flaky_test
133128
@FormRecognizerPreparer()
134-
@DocumentModelAdministrationClientPreparer()
135129
@recorded_by_proxy
136-
def test_custom_document_selection_mark(self, client, formrecognizer_selection_mark_storage_container_sas_url, **kwargs):
130+
def test_custom_document_selection_mark(self, formrecognizer_selection_mark_storage_container_sas_url, **kwargs):
131+
client = get_dma_client()
137132
set_bodiless_matcher()
138133
da_client = client.get_document_analysis_client()
139134

@@ -177,9 +172,9 @@ def callback(raw_response, _, headers):
177172

178173
@skip_flaky_test
179174
@FormRecognizerPreparer()
180-
@DocumentModelAdministrationClientPreparer()
181175
@recorded_by_proxy
182-
def test_pages_kwarg_specified(self, client, formrecognizer_storage_container_sas_url, **kwargs):
176+
def test_pages_kwarg_specified(self, formrecognizer_storage_container_sas_url, **kwargs):
177+
client = get_dma_client()
183178
set_bodiless_matcher()
184179
da_client = client.get_document_analysis_client()
185180

@@ -196,9 +191,9 @@ def test_pages_kwarg_specified(self, client, formrecognizer_storage_container_sa
196191

197192
@skip_flaky_test
198193
@FormRecognizerPreparer()
199-
@DocumentModelAdministrationClientPreparer()
200194
@recorded_by_proxy
201-
def test_custom_document_signature_field(self, client, formrecognizer_storage_container_sas_url, **kwargs):
195+
def test_custom_document_signature_field(self, formrecognizer_storage_container_sas_url, **kwargs):
196+
client = get_dma_client()
202197
set_bodiless_matcher()
203198
da_client = client.get_document_analysis_client()
204199

@@ -221,9 +216,9 @@ def test_custom_document_signature_field(self, client, formrecognizer_storage_co
221216

222217
@skip_flaky_test
223218
@FormRecognizerPreparer()
224-
@DocumentModelAdministrationClientPreparer()
225219
@recorded_by_proxy
226-
def test_custom_document_blank_pdf(self, client, formrecognizer_storage_container_sas_url, **kwargs):
220+
def test_custom_document_blank_pdf(self, formrecognizer_storage_container_sas_url, **kwargs):
221+
client = get_dma_client()
227222
set_bodiless_matcher()
228223
da_client = client.get_document_analysis_client()
229224

sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dac_analyze_custom_model_async.py

Lines changed: 17 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,45 +8,39 @@
88
import functools
99
from devtools_testutils.aio import recorded_by_proxy_async
1010
from devtools_testutils import set_bodiless_matcher
11-
from azure.core.credentials import AzureKeyCredential
1211
from azure.ai.formrecognizer._generated.v2023_07_31.models import AnalyzeResultOperation
1312
from azure.ai.formrecognizer.aio import DocumentAnalysisClient, DocumentModelAdministrationClient
1413
from azure.ai.formrecognizer import AnalyzeResult
15-
from preparers import FormRecognizerPreparer
14+
from preparers import FormRecognizerPreparer, get_async_client
1615
from asynctestcase import AsyncFormRecognizerTest
17-
from preparers import GlobalClientPreparer as _GlobalClientPreparer
1816
from conftest import skip_flaky_test
1917

20-
21-
DocumentModelAdministrationClientPreparer = functools.partial(_GlobalClientPreparer, DocumentModelAdministrationClient)
18+
get_dma_client = functools.partial(get_async_client, DocumentModelAdministrationClient)
19+
get_da_client = functools.partial(get_async_client, DocumentAnalysisClient)
2220

2321
class TestDACAnalyzeCustomModelAsync(AsyncFormRecognizerTest):
2422

2523
@FormRecognizerPreparer()
2624
async def test_analyze_document_none_model_id(self, **kwargs):
27-
formrecognizer_test_endpoint = kwargs.pop("formrecognizer_test_endpoint")
28-
formrecognizer_test_api_key = kwargs.pop("formrecognizer_test_api_key")
29-
client = DocumentAnalysisClient(formrecognizer_test_endpoint, AzureKeyCredential(formrecognizer_test_api_key))
25+
client = get_da_client()
3026
with pytest.raises(ValueError) as e:
3127
async with client:
3228
await client.begin_analyze_document(model_id=None, document=b"xx")
3329
assert "model_id cannot be None or empty." in str(e.value)
3430

3531
@FormRecognizerPreparer()
3632
async def test_analyze_document_empty_model_id(self, **kwargs):
37-
formrecognizer_test_endpoint = kwargs.pop("formrecognizer_test_endpoint")
38-
formrecognizer_test_api_key = kwargs.pop("formrecognizer_test_api_key")
39-
client = DocumentAnalysisClient(formrecognizer_test_endpoint, AzureKeyCredential(formrecognizer_test_api_key))
33+
client = get_da_client()
4034
with pytest.raises(ValueError) as e:
4135
async with client:
4236
await client.begin_analyze_document(model_id="", document=b"xx")
4337
assert "model_id cannot be None or empty." in str(e.value)
4438

4539
@skip_flaky_test
4640
@FormRecognizerPreparer()
47-
@DocumentModelAdministrationClientPreparer()
4841
@recorded_by_proxy_async
49-
async def test_custom_document_transform(self, client, formrecognizer_storage_container_sas_url, **kwargs):
42+
async def test_custom_document_transform(self, formrecognizer_storage_container_sas_url, **kwargs):
43+
client = get_dma_client()
5044
set_bodiless_matcher()
5145
da_client = client.get_document_analysis_client()
5246

@@ -92,9 +86,9 @@ def callback(raw_response, _, headers):
9286

9387
@skip_flaky_test
9488
@FormRecognizerPreparer()
95-
@DocumentModelAdministrationClientPreparer()
9689
@recorded_by_proxy_async
97-
async def test_custom_document_multipage_transform(self, client, formrecognizer_multipage_storage_container_sas_url, **kwargs):
90+
async def test_custom_document_multipage_transform(self, formrecognizer_multipage_storage_container_sas_url, **kwargs):
91+
client = get_dma_client()
9892
set_bodiless_matcher()
9993
da_client = client.get_document_analysis_client()
10094

@@ -140,9 +134,9 @@ def callback(raw_response, _, headers):
140134

141135
@skip_flaky_test
142136
@FormRecognizerPreparer()
143-
@DocumentModelAdministrationClientPreparer()
144137
@recorded_by_proxy_async
145-
async def test_custom_document_selection_mark(self, client, formrecognizer_selection_mark_storage_container_sas_url, **kwargs):
138+
async def test_custom_document_selection_mark(self, formrecognizer_selection_mark_storage_container_sas_url, **kwargs):
139+
client = get_dma_client()
146140
set_bodiless_matcher()
147141
da_client = client.get_document_analysis_client()
148142
with open(self.selection_form_pdf, "rb") as fd:
@@ -186,9 +180,9 @@ def callback(raw_response, _, headers):
186180

187181
@skip_flaky_test
188182
@FormRecognizerPreparer()
189-
@DocumentModelAdministrationClientPreparer()
190183
@recorded_by_proxy_async
191-
async def test_pages_kwarg_specified(self, client, formrecognizer_storage_container_sas_url, **kwargs):
184+
async def test_pages_kwarg_specified(self, formrecognizer_storage_container_sas_url, **kwargs):
185+
client = get_dma_client()
192186
set_bodiless_matcher()
193187
da_client = client.get_document_analysis_client()
194188

@@ -207,9 +201,9 @@ async def test_pages_kwarg_specified(self, client, formrecognizer_storage_contai
207201

208202
@skip_flaky_test
209203
@FormRecognizerPreparer()
210-
@DocumentModelAdministrationClientPreparer()
211204
@recorded_by_proxy_async
212-
async def test_custom_document_signature_field(self, client, formrecognizer_storage_container_sas_url, **kwargs):
205+
async def test_custom_document_signature_field(self, formrecognizer_storage_container_sas_url, **kwargs):
206+
client = get_dma_client()
213207
set_bodiless_matcher()
214208
da_client = client.get_document_analysis_client()
215209

@@ -234,9 +228,9 @@ async def test_custom_document_signature_field(self, client, formrecognizer_stor
234228

235229
@skip_flaky_test
236230
@FormRecognizerPreparer()
237-
@DocumentModelAdministrationClientPreparer()
238231
@recorded_by_proxy_async
239-
async def test_custom_document_blank_pdf(self, client, formrecognizer_storage_container_sas_url, **kwargs):
232+
async def test_custom_document_blank_pdf(self, formrecognizer_storage_container_sas_url, **kwargs):
233+
client = get_dma_client()
240234
set_bodiless_matcher()
241235
da_client = client.get_document_analysis_client()
242236

0 commit comments

Comments
 (0)