From 99799d510538035e89d6525a6c10aa526263ba0d Mon Sep 17 00:00:00 2001 From: Krista Pratico Date: Wed, 17 Jun 2020 08:43:19 -0700 Subject: [PATCH] [formrecognizer] test parity with other languages (#12059) * add encoding check test * add copy test bad model id * test big endian tiff * add missing blank page test for custom forms * update tests to use GlobalClientPreparer --- ...ent_from_url.test_content_encoded_url.yaml | 42 ++ ...om_url_async.test_content_encoded_url.yaml | 30 + ...del.test_copy_model_fail_bad_model_id.yaml | 334 +++++++++ ...ync.test_copy_model_fail_bad_model_id.yaml | 237 ++++++ ...s.test_custom_form_labeled_blank_page.yaml | 668 +++++++++++++++++ ...test_custom_form_unlabeled_blank_page.yaml | 696 ++++++++++++++++++ ...c.test_custom_form_labeled_blank_page.yaml | 577 +++++++++++++++ ...test_custom_form_unlabeled_blank_page.yaml | 618 ++++++++++++++++ ...rom_url.test_custom_forms_encoded_url.yaml | 42 ++ ...l_async.test_custom_forms_encoded_url.yaml | 30 + ...pt_from_url.test_receipts_encoded_url.yaml | 43 ++ ...m_url_async.test_receipts_encoded_url.yaml | 31 + ...st_training.test_training_encoded_url.yaml | 638 ++++++++++++++++ ...ining_async.test_training_encoded_url.yaml | 433 +++++++++++ .../tests/test_content_from_url.py | 8 + .../tests/test_content_from_url_async.py | 8 + .../tests/test_content_type.py | 8 +- .../tests/test_copy_model.py | 15 + .../tests/test_copy_model_async.py | 15 + .../tests/test_custom_forms.py | 42 ++ .../tests/test_custom_forms_async.py | 42 ++ .../tests/test_custom_forms_from_url.py | 11 + .../tests/test_custom_forms_from_url_async.py | 11 + .../tests/test_receipt_from_url.py | 8 + .../tests/test_receipt_from_url_async.py | 8 + .../tests/test_training.py | 11 + .../tests/test_training_async.py | 11 + 27 files changed, 4615 insertions(+), 2 deletions(-) create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_content_from_url.test_content_encoded_url.yaml create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_content_from_url_async.test_content_encoded_url.yaml create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_copy_model.test_copy_model_fail_bad_model_id.yaml create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_copy_model_async.test_copy_model_fail_bad_model_id.yaml create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms.test_custom_form_labeled_blank_page.yaml create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms.test_custom_form_unlabeled_blank_page.yaml create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms_async.test_custom_form_labeled_blank_page.yaml create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms_async.test_custom_form_unlabeled_blank_page.yaml create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms_from_url.test_custom_forms_encoded_url.yaml create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms_from_url_async.test_custom_forms_encoded_url.yaml create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_receipt_from_url.test_receipts_encoded_url.yaml create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_receipt_from_url_async.test_receipts_encoded_url.yaml create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_training.test_training_encoded_url.yaml create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_training_async.test_training_encoded_url.yaml diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_content_from_url.test_content_encoded_url.yaml b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_content_from_url.test_content_encoded_url.yaml new file mode 100644 index 00000000000..fe1fbe51a0f --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_content_from_url.test_content_encoded_url.yaml @@ -0,0 +1,42 @@ +interactions: +- request: + body: 'b''{"source": "https://fakeuri.com/blank%20space"}''' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '47' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/layout/analyze + response: + body: + string: '{"error": {"code": "FailedToDownloadImage", "message": "Failed to download + image from input URL."}}' + headers: + apim-request-id: + - 0801fae5-b315-4d33-9df7-c6fb8333d4db + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 18:08:28 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '2496' + status: + code: 400 + message: Bad Request +version: 1 diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_content_from_url_async.test_content_encoded_url.yaml b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_content_from_url_async.test_content_encoded_url.yaml new file mode 100644 index 00000000000..52dbdba891f --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_content_from_url_async.test_content_encoded_url.yaml @@ -0,0 +1,30 @@ +interactions: +- request: + body: 'b''{"source": "https://fakeuri.com/blank%20space"}''' + headers: + Content-Length: + - '47' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/layout/analyze + response: + body: + string: '{"error": {"code": "FailedToDownloadImage", "message": "Failed to download + image from input URL."}}' + headers: + apim-request-id: ba66c94f-af17-4785-a6d6-7c04ca117d87 + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 18:18:10 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '490' + status: + code: 400 + message: Bad Request + url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0-preview/layout/analyze +version: 1 diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_copy_model.test_copy_model_fail_bad_model_id.yaml b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_copy_model.test_copy_model_fail_bad_model_id.yaml new file mode 100644 index 00000000000..17ea3b61258 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_copy_model.test_copy_model_fail_bad_model_id.yaml @@ -0,0 +1,334 @@ +interactions: +- request: + body: 'b''b\''{"source": "containersasurl", "sourceFilter": {"prefix": "", "includeSubFolders": + false}, "useLabelFile": false}\''''' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '288' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models + response: + body: + string: '' + headers: + apim-request-id: + - f21540e1-b85e-4278-bb42-5de47553a8b1 + content-length: + - '0' + date: + - Mon, 15 Jun 2020 19:26:39 GMT + location: + - https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/6b520a60-a98f-45b1-b67d-0f954dc951ef + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '355' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/6b520a60-a98f-45b1-b67d-0f954dc951ef?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "6b520a60-a98f-45b1-b67d-0f954dc951ef", "status": + "creating", "createdDateTime": "2020-06-15T19:26:39Z", "lastUpdatedDateTime": + "2020-06-15T19:26:39Z"}}' + headers: + apim-request-id: + - 63c03928-e2a3-4a34-8807-b7d151834dbf + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 19:26:49 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '5202' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/6b520a60-a98f-45b1-b67d-0f954dc951ef?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "6b520a60-a98f-45b1-b67d-0f954dc951ef", "status": + "ready", "createdDateTime": "2020-06-15T19:26:39Z", "lastUpdatedDateTime": + "2020-06-15T19:26:50Z"}, "keys": {"clusters": {"0": ["Additional Notes:", + "Address:", "Company Name:", "Company Phone:", "Dated As:", "Details", "Email:", + "Hero Limited", "Name:", "Phone:", "Purchase Order", "Purchase Order #:", + "Quantity", "SUBTOTAL", "Seattle, WA 93849 Phone:", "Shipped From", "Shipped + To", "TAX", "TOTAL", "Total", "Unit Price", "Vendor Name:", "Website:"]}}, + "trainResult": {"trainingDocuments": [{"documentName": "Form_1.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_2.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_3.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_4.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_5.jpg", "pages": + 1, "errors": [], "status": "succeeded"}], "errors": []}}' + headers: + apim-request-id: + - a6825139-aaca-42fd-aa6e-71c9ce2b7cc3 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 19:26:55 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '207' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/copyAuthorization + response: + body: + string: '{"modelId": "21c912d3-898a-41bc-8dd4-adf96f6c5e89", "accessToken": + "redacted", "expirationDateTimeTicks": 1592335615}' + headers: + apim-request-id: + - 429dcd52-6812-4a60-85f7-e0ab17b0c832 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 19:26:55 GMT + location: + - https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/21c912d3-898a-41bc-8dd4-adf96f6c5e89 + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '191' + status: + code: 201 + message: Created +- request: + body: 'b''b\''{"targetResourceId": "resource_id", "targetResourceRegion": "centraluseuap", + "copyAuthorization": {"modelId": "21c912d3-898a-41bc-8dd4-adf96f6c5e89", "accessToken": + 00000000-0000-0000-0000-000000000000, "expirationDateTimeTicks": 1592335615}}\''''' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '447' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/copy + response: + body: + string: '{"error": {"code": "1999", "message": "An error occurred during model + copy. Retry the operation or contact service administrator if the issue persists."}}' + headers: + apim-request-id: + - a150c173-e10a-402a-9c35-1abb75a46d56 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 19:26:55 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '37' + status: + code: 500 + message: Internal Server Error +- request: + body: 'b''b\''{"targetResourceId": "resource_id", "targetResourceRegion": "centraluseuap", + "copyAuthorization": {"modelId": "21c912d3-898a-41bc-8dd4-adf96f6c5e89", "accessToken": + 00000000-0000-0000-0000-000000000000, "expirationDateTimeTicks": 1592335615}}\''''' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '447' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/copy + response: + body: + string: '{"error": {"code": "1999", "message": "An error occurred during model + copy. Retry the operation or contact service administrator if the issue persists."}}' + headers: + apim-request-id: + - 8a77f21c-fbd1-4798-a991-b22c8bfc3b5f + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 19:26:56 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '47' + status: + code: 500 + message: Internal Server Error +- request: + body: 'b''b\''{"targetResourceId": "resource_id", "targetResourceRegion": "centraluseuap", + "copyAuthorization": {"modelId": "21c912d3-898a-41bc-8dd4-adf96f6c5e89", "accessToken": + 00000000-0000-0000-0000-000000000000, "expirationDateTimeTicks": 1592335615}}\''''' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '447' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/copy + response: + body: + string: '{"error": {"code": "1999", "message": "An error occurred during model + copy. Retry the operation or contact service administrator if the issue persists."}}' + headers: + apim-request-id: + - 8af7df01-9ce5-45d3-9846-d29ccfe17c77 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 19:26:57 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '26' + status: + code: 500 + message: Internal Server Error +- request: + body: 'b''b\''{"targetResourceId": "resource_id", "targetResourceRegion": "centraluseuap", + "copyAuthorization": {"modelId": "21c912d3-898a-41bc-8dd4-adf96f6c5e89", "accessToken": + 00000000-0000-0000-0000-000000000000, "expirationDateTimeTicks": 1592335615}}\''''' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '447' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/copy + response: + body: + string: '{"error": {"code": "1999", "message": "An error occurred during model + copy. Retry the operation or contact service administrator if the issue persists."}}' + headers: + apim-request-id: + - b1dd14ec-68df-43fd-a680-7d08cca4e9eb + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 19:27:00 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '73' + status: + code: 500 + message: Internal Server Error +version: 1 diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_copy_model_async.test_copy_model_fail_bad_model_id.yaml b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_copy_model_async.test_copy_model_fail_bad_model_id.yaml new file mode 100644 index 00000000000..36e6271f026 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_copy_model_async.test_copy_model_fail_bad_model_id.yaml @@ -0,0 +1,237 @@ +interactions: +- request: + body: 'b''b\''{"source": "containersasurl", "sourceFilter": {"prefix": "", "includeSubFolders": + false}, "useLabelFile": false}\''''' + headers: + Content-Length: + - '288' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models + response: + body: + string: '' + headers: + apim-request-id: 70d9593f-6e1b-402e-bd28-88364a662e78 + content-length: '0' + date: Mon, 15 Jun 2020 19:33:57 GMT + location: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/656b1437-a715-4e3b-a9f1-1b0f3e6998c9 + strict-transport-security: max-age=31536000; includeSubDomains; preload + x-content-type-options: nosniff + x-envoy-upstream-service-time: '577' + status: + code: 201 + message: Created + url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0-preview/custom/models +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/656b1437-a715-4e3b-a9f1-1b0f3e6998c9?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "656b1437-a715-4e3b-a9f1-1b0f3e6998c9", "status": + "creating", "createdDateTime": "2020-06-15T19:33:58Z", "lastUpdatedDateTime": + "2020-06-15T19:33:58Z"}}' + headers: + apim-request-id: 2a5e274d-9336-4019-9dd4-e3831027ef75 + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 19:34:03 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '203' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/656b1437-a715-4e3b-a9f1-1b0f3e6998c9?includeKeys=true +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/656b1437-a715-4e3b-a9f1-1b0f3e6998c9?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "656b1437-a715-4e3b-a9f1-1b0f3e6998c9", "status": + "ready", "createdDateTime": "2020-06-15T19:33:58Z", "lastUpdatedDateTime": + "2020-06-15T19:34:08Z"}, "keys": {"clusters": {"0": ["Additional Notes:", + "Address:", "Company Name:", "Company Phone:", "Dated As:", "Details", "Email:", + "Hero Limited", "Name:", "Phone:", "Purchase Order", "Purchase Order #:", + "Quantity", "SUBTOTAL", "Seattle, WA 93849 Phone:", "Shipped From", "Shipped + To", "TAX", "TOTAL", "Total", "Unit Price", "Vendor Name:", "Website:"]}}, + "trainResult": {"trainingDocuments": [{"documentName": "Form_1.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_2.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_3.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_4.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_5.jpg", "pages": + 1, "errors": [], "status": "succeeded"}], "errors": []}}' + headers: + apim-request-id: 83db96a0-56c7-41f2-b015-35f496dcb128 + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 19:34:08 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '154' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/656b1437-a715-4e3b-a9f1-1b0f3e6998c9?includeKeys=true +- request: + body: null + headers: + Accept: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/copyAuthorization + response: + body: + string: '{"modelId": "eb496d1a-6e6e-418e-b013-26445fdd50fd", "accessToken": + "redacted", "expirationDateTimeTicks": 1592336050}' + headers: + apim-request-id: b8a2880b-5002-40b1-b5f4-01df565bb593 + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 19:34:10 GMT + location: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/eb496d1a-6e6e-418e-b013-26445fdd50fd + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '1771' + status: + code: 201 + message: Created + url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0-preview/custom/models/copyAuthorization +- request: + body: 'b''b\''{"targetResourceId": "resource_id", "targetResourceRegion": "centraluseuap", + "copyAuthorization": {"modelId": "eb496d1a-6e6e-418e-b013-26445fdd50fd", "accessToken": + 00000000-0000-0000-0000-000000000000, "expirationDateTimeTicks": 1592336050}}\''''' + headers: + Content-Length: + - '447' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/copy + response: + body: + string: '{"error": {"code": "1999", "message": "An error occurred during model + copy. Retry the operation or contact service administrator if the issue persists."}}' + headers: + apim-request-id: 6e45bd33-370d-4634-9c8b-0d17fd44ee69 + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 19:34:10 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '23' + status: + code: 500 + message: Internal Server Error + url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/copy +- request: + body: 'b''b\''{"targetResourceId": "resource_id", "targetResourceRegion": "centraluseuap", + "copyAuthorization": {"modelId": "eb496d1a-6e6e-418e-b013-26445fdd50fd", "accessToken": + 00000000-0000-0000-0000-000000000000, "expirationDateTimeTicks": 1592336050}}\''''' + headers: + Content-Length: + - '447' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/copy + response: + body: + string: '{"error": {"code": "1999", "message": "An error occurred during model + copy. Retry the operation or contact service administrator if the issue persists."}}' + headers: + apim-request-id: 185ae74c-84c7-43fc-a8f1-ccf17f93b385 + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 19:34:11 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '24' + status: + code: 500 + message: Internal Server Error + url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/copy +- request: + body: 'b''b\''{"targetResourceId": "resource_id", "targetResourceRegion": "centraluseuap", + "copyAuthorization": {"modelId": "eb496d1a-6e6e-418e-b013-26445fdd50fd", "accessToken": + 00000000-0000-0000-0000-000000000000, "expirationDateTimeTicks": 1592336050}}\''''' + headers: + Content-Length: + - '447' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/copy + response: + body: + string: '{"error": {"code": "1999", "message": "An error occurred during model + copy. Retry the operation or contact service administrator if the issue persists."}}' + headers: + apim-request-id: 95e0f833-d7b8-4ebb-b744-44a2290508e0 + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 19:34:12 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '33' + status: + code: 500 + message: Internal Server Error + url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/copy +- request: + body: 'b''b\''{"targetResourceId": "resource_id", "targetResourceRegion": "centraluseuap", + "copyAuthorization": {"modelId": "eb496d1a-6e6e-418e-b013-26445fdd50fd", "accessToken": + 00000000-0000-0000-0000-000000000000, "expirationDateTimeTicks": 1592336050}}\''''' + headers: + Content-Length: + - '447' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/copy + response: + body: + string: '{"error": {"code": "1999", "message": "An error occurred during model + copy. Retry the operation or contact service administrator if the issue persists."}}' + headers: + apim-request-id: fbe856d6-98d6-441b-a68d-d2558abc8a3b + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 19:34:15 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '23' + status: + code: 500 + message: Internal Server Error + url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/copy +version: 1 diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms.test_custom_form_labeled_blank_page.yaml b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms.test_custom_form_labeled_blank_page.yaml new file mode 100644 index 00000000000..05f20aa4641 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms.test_custom_form_labeled_blank_page.yaml @@ -0,0 +1,668 @@ +interactions: +- request: + body: 'b''b\''{"source": "containersasurl", "sourceFilter": {"prefix": "", "includeSubFolders": + false}, "useLabelFile": true}\''''' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '287' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models + response: + body: + string: '' + headers: + apim-request-id: + - 8d2d7ac5-68e1-44af-aad1-ce5ea6bdec0e + content-length: + - '0' + date: + - Mon, 15 Jun 2020 19:53:06 GMT + location: + - https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/9a939b7b-6f9a-4413-8745-69bcaafed0d7 + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '415' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/9a939b7b-6f9a-4413-8745-69bcaafed0d7?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "9a939b7b-6f9a-4413-8745-69bcaafed0d7", "status": + "creating", "createdDateTime": "2020-06-15T19:53:07Z", "lastUpdatedDateTime": + "2020-06-15T19:53:07Z"}}' + headers: + apim-request-id: + - f01f0630-df69-4192-b522-052a44fa7142 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 19:53:12 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '167' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/9a939b7b-6f9a-4413-8745-69bcaafed0d7?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "9a939b7b-6f9a-4413-8745-69bcaafed0d7", "status": + "ready", "createdDateTime": "2020-06-15T19:53:07Z", "lastUpdatedDateTime": + "2020-06-15T19:53:12Z"}, "trainResult": {"averageModelAccuracy": 0.973, "trainingDocuments": + [{"documentName": "Form_1.jpg", "pages": 1, "status": "succeeded"}, {"documentName": + "Form_2.jpg", "pages": 1, "status": "succeeded"}, {"documentName": "Form_3.jpg", + "pages": 1, "status": "succeeded"}, {"documentName": "Form_4.jpg", "pages": + 1, "status": "succeeded"}, {"documentName": "Form_5.jpg", "pages": 1, "status": + "succeeded"}], "fields": [{"fieldName": "CompanyAddress", "accuracy": 0.8}, + {"fieldName": "CompanyName", "accuracy": 1.0}, {"fieldName": "CompanyPhoneNumber", + "accuracy": 1.0}, {"fieldName": "DatedAs", "accuracy": 1.0}, {"fieldName": + "Email", "accuracy": 0.8}, {"fieldName": "Merchant", "accuracy": 1.0}, {"fieldName": + "PhoneNumber", "accuracy": 1.0}, {"fieldName": "PurchaseOrderNumber", "accuracy": + 1.0}, {"fieldName": "Quantity", "accuracy": 1.0}, {"fieldName": "Signature", + "accuracy": 1.0}, {"fieldName": "Subtotal", "accuracy": 1.0}, {"fieldName": + "Tax", "accuracy": 1.0}, {"fieldName": "Total", "accuracy": 1.0}, {"fieldName": + "VendorName", "accuracy": 1.0}, {"fieldName": "Website", "accuracy": 1.0}], + "errors": []}}' + headers: + apim-request-id: + - dd0b1d09-7a4d-4691-8b78-08f9fa8914e4 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 19:53:17 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '60' + status: + code: 200 + message: OK +- request: + body: !!python/object/new:_io.BytesIO + state: !!python/tuple + - !!binary | + JVBERi0xLjcNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFu + Zyhlbi1VUykgL1N0cnVjdFRyZWVSb290IDEwIDAgUi9NYXJrSW5mbzw8L01hcmtlZCB0cnVlPj4v + TWV0YWRhdGEgMjAgMCBSL1ZpZXdlclByZWZlcmVuY2VzIDIxIDAgUj4+DQplbmRvYmoNCjIgMCBv + YmoNCjw8L1R5cGUvUGFnZXMvQ291bnQgMS9LaWRzWyAzIDAgUl0gPj4NCmVuZG9iag0KMyAwIG9i + ag0KPDwvVHlwZS9QYWdlL1BhcmVudCAyIDAgUi9SZXNvdXJjZXM8PC9Gb250PDwvRjEgNSAwIFI+ + Pi9FeHRHU3RhdGU8PC9HUzcgNyAwIFIvR1M4IDggMCBSPj4vUHJvY1NldFsvUERGL1RleHQvSW1h + Z2VCL0ltYWdlQy9JbWFnZUldID4+L01lZGlhQm94WyAwIDAgNjEyIDc5Ml0gL0NvbnRlbnRzIDQg + MCBSL0dyb3VwPDwvVHlwZS9Hcm91cC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0I+Pi9UYWJz + L1MvU3RydWN0UGFyZW50cyAwPj4NCmVuZG9iag0KNCAwIG9iag0KPDwvRmlsdGVyL0ZsYXRlRGVj + b2RlL0xlbmd0aCAxMzI+Pg0Kc3RyZWFtDQp4nC2MsQrCQBBE+4X9hynV4m73iJ4HIUUuMSgEFA8s + xFJTKaj/D67iFAPDPB78HnXtx7ztIE2Dtst4MomTb5IGCFbWMQW8rkynBR5MbWHyG4WqkwrlxqTG + CRQxOAkVoiS3tOdu3HCMmN7mxPRb6/8amM4zzC8oO6bejAcm9GPGB3fjHKoNCmVuZHN0cmVhbQ0K + ZW5kb2JqDQo1IDAgb2JqDQo8PC9UeXBlL0ZvbnQvU3VidHlwZS9UcnVlVHlwZS9OYW1lL0YxL0Jh + c2VGb250L0JDREVFRStDYWxpYnJpL0VuY29kaW5nL1dpbkFuc2lFbmNvZGluZy9Gb250RGVzY3Jp + cHRvciA2IDAgUi9GaXJzdENoYXIgMzIvTGFzdENoYXIgMzIvV2lkdGhzIDE4IDAgUj4+DQplbmRv + YmoNCjYgMCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQkNERUVFK0NhbGli + cmkvRmxhZ3MgMzIvSXRhbGljQW5nbGUgMC9Bc2NlbnQgNzUwL0Rlc2NlbnQgLTI1MC9DYXBIZWln + aHQgNzUwL0F2Z1dpZHRoIDUyMS9NYXhXaWR0aCAxNzQzL0ZvbnRXZWlnaHQgNDAwL1hIZWlnaHQg + MjUwL1N0ZW1WIDUyL0ZvbnRCQm94WyAtNTAzIC0yNTAgMTI0MCA3NTBdIC9Gb250RmlsZTIgMTkg + MCBSPj4NCmVuZG9iag0KNyAwIG9iag0KPDwvVHlwZS9FeHRHU3RhdGUvQk0vTm9ybWFsL2NhIDE+ + Pg0KZW5kb2JqDQo4IDAgb2JqDQo8PC9UeXBlL0V4dEdTdGF0ZS9CTS9Ob3JtYWwvQ0EgMT4+DQpl + bmRvYmoNCjkgMCBvYmoNCjw8L0F1dGhvcihLcmlzdGEgUHJhdGljbykgL0NyZWF0b3Io/v8ATQBp + AGMAcgBvAHMAbwBmAHQArgAgAFcAbwByAGQAIABmAG8AcgAgAE8AZgBmAGkAYwBlACAAMwA2ADUp + IC9DcmVhdGlvbkRhdGUoRDoyMDIwMDMyMDEwNDQ0Ni0wNycwMCcpIC9Nb2REYXRlKEQ6MjAyMDAz + MjAxMDQ0NDYtMDcnMDAnKSAvUHJvZHVjZXIo/v8ATQBpAGMAcgBvAHMAbwBmAHQArgAgAFcAbwBy + AGQAIABmAG8AcgAgAE8AZgBmAGkAYwBlACAAMwA2ADUpID4+DQplbmRvYmoNCjE3IDAgb2JqDQo8 + PC9UeXBlL09ialN0bS9OIDcvRmlyc3QgNDYvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAyOTY+ + Pg0Kc3RyZWFtDQp4nG1R0WrCMBR9F/yH+we3sa1jIMKYyoZYSivsofgQ610NtomkKejfL3ftsANf + wjk355ycJCKGAEQEsQDhQRCD8Oh1DmIGUTgDEUIU++EcopcAFgtMWR1AhjmmuL9fCXNnu9Kta2pw + W0BwAEwrCFmzXE4nvSUYLCtTdg1p98wpuEp2gME1UuwtUWaMw8zUtJNX7sh5qbQ+i3e5Lk84Jupj + RrsJ3dyW7iCG6I3P0sYRJrys9elB9l56NDfMqXT4QfJEtsfs+cOfulaa8rPkhjx40z5BOmX0wK1T + 39KDX/Zl7OVozOVxe560ZyLHJR3uZGnNiL+f/TriKyVrU40Gea1ONNL253hZZWWDG1V1loa7Jl3T + FvzH83+vm8iG2qKnj6efTn4AVAqiuw0KZW5kc3RyZWFtDQplbmRvYmoNCjE4IDAgb2JqDQpbIDIy + Nl0gDQplbmRvYmoNCjE5IDAgb2JqDQo8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDE5Mzg5 + L0xlbmd0aDEgODE3NDA+Pg0Kc3RyZWFtDQp4nOx9B3xUVdr+OfdOy8wkM5NkkkkmYWaYJASGFCCB + BJAMpNA7gwk1IYWAAQKEIgJGUdAo9l7Rta1YJgNqwO5iWQv2vhZ2XVdXse3qKgL5nnPfORDY1f+3 + 1fX7z5s88zznPeWe+t6TH8kPxhljdnzoWG3lqIoZBf1stzPumcAYf6Jy1ITyq5qr4hnPzGBMKZw8 + vWDgtY/W3YO8s1Crtn5JXetF716EsiddgvwP6le3eXe1vlHM2LYLGNM/0NS6cMnGd9UhjC1dy1h8 + YGHLyU2vVu4oYuwW1LF90NxY1/DtxJPDaM+K9gY3wxF/Z8Z+pCuQzmpe0rZ2xDjjAaQ/YmzRHS3L + 6uvyGvrezNi9hSg+c0nd2tZ8c/abyG9Gee+Sxra6q07ftppxXzLSZyytW9J43YGv5zP2KfpbuLJ1 + 2cq2bjfbzHjGQVG+dUVja9LC3mmMnXITHvcJE3NhGLpv9uI1H8+3Df+apZmYsPs/Wf+s4NfHrpn8 + /YFD7XGfmgYjGccURoZ6BnaY8T3mbd8fOLAt7lOtpR6WdofwuPuxdmZnw6EVcAHbwljiYO25nKm6 + AL+A6ZlJf6V+EJrsRay+wDYrzMQUm15RFJ2q6D5g+d2PsKxTtB7AJk73elmQsexnqQ/G65QcL+Pd + Ik+9T58gRsqSdQlHe8OfZ//fm+F1dsdP3Yf/K6ZrZDf81H34e8xg+Pf0V93/85qHf4fpiljtT92H + mP3zpjzNrvyp+/BzMOX3bMw/Uo9/w1r+1X2JWcxiFrOY/eOmXM3NP5hXy/b/J/vyczG1mJ3zU/ch + ZjGLWcxi9o+b7lHW9B9/5hJ23n/6mTGLWcxiFrOYxSxmMYtZzGIWs/+7Fvs5M2Yxi1nMYhazmMUs + ZjGLWcxiFrOYxey/23jst9FjFrOYxSxmMYtZzGIWs5jFLGYxi1nMYhazmMUsZjGLWcxiFrOYxSxm + MYtZzGIWs5jFLGYxi1nMYhazmMUsZjGLWcz+S6x790/dg5jF7Cc2NYqM6P8k1YEUlLKa6dhSpFOY + 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 + +xG3mmhL96QrfW1pvHxyGl+Wdmra+WmqzfW8Swm6+vavsqU+n/pe6uepuqRgat/8KpZiT/GmqE4x + tpSJM6o0LqsgHlCsjdWT4s+psjm5zelxKpWfO/lmpnIv54zbQaoJZXZyp6dKfZCLX6LTM84vYDMC + 47tMbNr4sGnK7DA/K5w9XXwGp84KG84Ks9Cs2dWdnJ9Xo/1OQjhZ/FKJlj5z61aWOWp8OHN6dUTd + ti1zVM34cLvQwaCmu4VmKFITmLdy1cpAdfAE5njf8YVDdT5sf96u2GzcZuu2KUEbOm9L8CQo4qM7 + QQ0mDBhSZYv3xCviozteTQnGwyPG18c6ZUaVzeKxKKEyy2SLErSUlVcFLXmFVX81zh1inPTkQNs8 + fMxb2RbQvpGq4atEMiC84ntlG9Lia5WWZoEfNSoGmr8S1iadbT9e67/d+E/dgZ+/0W/yjOxWzmAN + yibgdOA0oB04FdgIbADWA6cA64CTgbXAGmA1sApoA1YCy4FWYBmwFFgCtAAnAYuBRUAzsBBoAhqB + BqAeWADUAbXAfGAeMBeYA8wGZgE1QDVwIjATCAEzgOnANGAqMAWYDEwCJgITgPHAOGAsMAYYDVQB + lUAFUA6MAkYCQaAMGAGcAAwHhgFDgVKgBBgCDAaKgSJgEDAQGAAUAgVAPpAH9AcCQD+gL5AL9AFy + gGwgC/ADvQEf4AU8QC8gE8gA3EA6kAa4gFQgBXACyUASkAg4ADtgAxKAeMAKWAAzEAeYACNgAPSA + bmQ3PlVAATjAWAOHjx8GDgEHge+BA8B3wLfAX4BvgK+BPwN/Ar4CvgS+AD4HPgP2A58CnwB/BD4G + PgL+AHwI/B74APgd8FtgH/A+8B7wLvAO8BvgbeAt4E3gDeB14DXgVeAV4GXgJeBF4AXgeWAv8Bzw + LPAM8DTwa+Ap4EngCeBxYA/wK+Ax4FHgEeBh4CHgQeAB4H5gN7AL6ALuA+4F7gF2AjuACNAJhIG7 + gbuAO4E7gO3A7cAvgduAW4FbgJuBm4BfADcCNwDbgOuB64BrgWuAq4GrgCuBK4DLgcuAS4FLgIuB + i4ALgQuA84HzgK3AucA5QAdwNnAWsAXYDJzJGka2c5x/jvPPcf45zj/H+ec4/xznn+P8c5x/jvPP + cf45zj/H+ec4/xznn+P8c5x/jvPPVwCIARwxgCMGcMQAjhjAEQM4YgBHDOCIARwxgCMGcMQAjhjA + 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 + uHNOntVntltoN7fZZcns+b3njj5RYD9zj2wYh93jRY32F+XYd7t63rI9HL47es2yJ/Lzkt3tQlaU + DZGNmzl6SlRiyln72V+ccO/r8eSz3lNExze9zb7aw4rjv/BG9zYrTm3xzCvteuW29FBk9/xRPk9c + Rq+cqR877Y8jHRlRnfZOdt6+fI2F/cK6rFdZnDnlnXp2yh4glHjZyFUD5829NvaP6hlPojpffBN+ + fGfIA1WHDdc3+tYdv/DEceN8v7J5cY7d7R5bTzrjVcNzu/Jwf8DPgxZ/K+xq+6Pt3h/Xb7i++bfz + riX9BAPCeCN93b+s/MP3xUV2N0I+b3PapCyVetVWfU0vC8uVeCe/HsU9XeIy7Kqr4p5envGlh9p1 + tGBV7vVenWTLaoaI0ifUeEq6lE2oPffkxeOWFQt8L/+0ouz4/SES/tVBVl9P7GGZZ/mLZWWOV4td + YvGWh7//2Ia1q5Z/wNHv/kVZ4L2yZxWD557FzlRE7Ux7UrbCpm+M8/xCr+OY//7KhSt6CvLahvx4 + YunSJaNGtXsVM8dr7eton8Kni1/szt7at+zK3Zx893t3QucXuPV9f6bKJyvnxsZXb6bctSu8Iw/f + +IasY8VOr63NUUpmdf9lUWp8wu7C/u0q8pvxvEc94NtW9ny9+ujyIXsqShb2H5kaHyOo7n1oYe4g + 28KY7LcFS/bsVCpHHBLpXBxGJf7ELWZtIotZ6xg4ThbN+acLV9O/Dqy/OVJetA8mHzqIbZhce9M7 + L0CK+p4d15E0nXUlfeoXsrggtb0tjVw1/fGjM0XNa/13KmeO++6u+0VSarLEnptKJpd3KvRr8qu7 + yR8+TaWiY2H7j+7sZONfERGNajOrGMeSoqevHPvdYvVAX8vz3KGiwO1V/ax6ch09R23Ii04evDs0 + 2CnU+WRSRvsUy3OiWa635i1oKdcOYm+ousbxd+7gGGX7Wj5xdrTix9nSvuf3TmbVZj3gTvj14reH + 18+qm7ay35fq/DU4a8fbHVu/P3i77u3+idi5m9sXSZedCD+gODDs9e3XP7geLwtT1HW2fPwgemKz + /OOe7/uH/3RlQNvUWwdKrJvvXamY//X119X+sheffcZcF/NtO/4o71U7brQ4OjPi9aA2dQm5bvxv + 3q6JcZocnrJtxN4dK3kXJM67ugyYbsHp6TFzyNJpN2+5T7pVOu+ngmc97npkFzuOwA/vSO2YtdzB + q7Zj8tm+7EHekyuKGX7geNK+3keW3GKGKxhqhkJz+j92Id70nTaTmBxCupmGpF39HUMcMDfOWHCd + 0C+Ou3BDeFz4GvhBREbcHhe+ONHvwN2OU11Vp6qzPBd+V9DokgnGCjfe5UvGpP5Mj7Q+Zfq7tmP7 + +Ae5+x8Y8uTc1cf3v1hbutDnFi+z+V37K+dOT4vvMKLjstoFhUPnB5zoMlTWYs1vVzeOaam8w291 + XH/hvfqBTUXvxY/7jPyyk2jgYq/7jKoAYWmk96n7L+2sxHdTCsZYF4wp07gMK5cN8rPwyjiw+WDG + olP3xRf5udFb3148d/1t8bvrkrRjP1zdXOYg33di5JxHT3Mjv7+0r+CXdz8v32a3hGuRdD122/bv + vVKGVDwZd3v2xWk7NtkV3XVZ1KPLiOyvjw7h/3J7+enzy6punTtvP9plwNne7FOq7b/6h4+729uh + eqxVv8vdnqxNi908ORd/sHGv/+OcFZO5XX+fFon9H5Hg2m4NCmVuZHN0cmVhbQ0KZW5kb2JqDQoy + MCAwIG9iag0KPDwvVHlwZS9NZXRhZGF0YS9TdWJ0eXBlL1hNTC9MZW5ndGggMzA4ND4+DQpzdHJl + YW0NCjw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+ + PHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iMy4xLTcwMSI+Cjxy + ZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4 + LW5zIyI+CjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiICB4bWxuczpwZGY9Imh0dHA6Ly9u + cy5hZG9iZS5jb20vcGRmLzEuMy8iPgo8cGRmOlByb2R1Y2VyPk1pY3Jvc29mdMKuIFdvcmQgZm9y + IE9mZmljZSAzNjU8L3BkZjpQcm9kdWNlcj48L3JkZjpEZXNjcmlwdGlvbj4KPHJkZjpEZXNjcmlw + dGlvbiByZGY6YWJvdXQ9IiIgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMv + MS4xLyI+CjxkYzpjcmVhdG9yPjxyZGY6U2VxPjxyZGY6bGk+S3Jpc3RhIFByYXRpY288L3JkZjps + aT48L3JkZjpTZXE+PC9kYzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0 + aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAv + Ij4KPHhtcDpDcmVhdG9yVG9vbD5NaWNyb3NvZnTCriBXb3JkIGZvciBPZmZpY2UgMzY1PC94bXA6 + Q3JlYXRvclRvb2w+PHhtcDpDcmVhdGVEYXRlPjIwMjAtMDMtMjBUMTA6NDQ6NDYtMDc6MDA8L3ht + cDpDcmVhdGVEYXRlPjx4bXA6TW9kaWZ5RGF0ZT4yMDIwLTAzLTIwVDEwOjQ0OjQ2LTA3OjAwPC94 + bXA6TW9kaWZ5RGF0ZT48L3JkZjpEZXNjcmlwdGlvbj4KPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJv + dXQ9IiIgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIj4KPHht + cE1NOkRvY3VtZW50SUQ+dXVpZDo4RjI5Q0E4Qy1FRThCLTQ3NTktQkM5Qi1BMDhFRkVFNjYyMDE8 + L3htcE1NOkRvY3VtZW50SUQ+PHhtcE1NOkluc3RhbmNlSUQ+dXVpZDo4RjI5Q0E4Qy1FRThCLTQ3 + NTktQkM5Qi1BMDhFRkVFNjYyMDE8L3htcE1NOkluc3RhbmNlSUQ+PC9yZGY6RGVzY3JpcHRpb24+ + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgIAo8L3JkZjpSREY+PC94OnhtcG1ldGE+PD94cGFja2V0 + IGVuZD0idyI/Pg0KZW5kc3RyZWFtDQplbmRvYmoNCjIxIDAgb2JqDQo8PC9EaXNwbGF5RG9jVGl0 + bGUgdHJ1ZT4+DQplbmRvYmoNCjIyIDAgb2JqDQo8PC9UeXBlL1hSZWYvU2l6ZSAyMi9XWyAxIDQg + Ml0gL1Jvb3QgMSAwIFIvSW5mbyA5IDAgUi9JRFs8OENDQTI5OEY4QkVFNTk0N0JDOUJBMDhFRkVF + NjYyMDE+PDhDQ0EyOThGOEJFRTU5NDdCQzlCQTA4RUZFRTY2MjAxPl0gL0ZpbHRlci9GbGF0ZURl + Y29kZS9MZW5ndGggODM+Pg0Kc3RyZWFtDQp4nC3LsQFAQAyF4ZfcHbW1KJUKnTHYxgR6k1Ba48R7 + UuQrkh+IqdVid8DHLm5iD/GDpInkXmwibs7cRRJZFGHi/2yiKyfzdhALGVcyX8ALyoALUA0KZW5k + c3RyZWFtDQplbmRvYmoNCnhyZWYNCjAgMjMNCjAwMDAwMDAwMTAgNjU1MzUgZg0KMDAwMDAwMDAx + NyAwMDAwMCBuDQowMDAwMDAwMTY2IDAwMDAwIG4NCjAwMDAwMDAyMjIgMDAwMDAgbg0KMDAwMDAw + MDQ4NiAwMDAwMCBuDQowMDAwMDAwNjkyIDAwMDAwIG4NCjAwMDAwMDA4NTkgMDAwMDAgbg0KMDAw + MDAwMTA5OCAwMDAwMCBuDQowMDAwMDAxMTUxIDAwMDAwIG4NCjAwMDAwMDEyMDQgMDAwMDAgbg0K + MDAwMDAwMDAxMSA2NTUzNSBmDQowMDAwMDAwMDEyIDY1NTM1IGYNCjAwMDAwMDAwMTMgNjU1MzUg + Zg0KMDAwMDAwMDAxNCA2NTUzNSBmDQowMDAwMDAwMDE1IDY1NTM1IGYNCjAwMDAwMDAwMTYgNjU1 + MzUgZg0KMDAwMDAwMDAxNyA2NTUzNSBmDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMDE4Njcg + MDAwMDAgbg0KMDAwMDAwMTg5NCAwMDAwMCBuDQowMDAwMDIxMzc0IDAwMDAwIG4NCjAwMDAwMjQ1 + NDEgMDAwMDAgbg0KMDAwMDAyNDU4NiAwMDAwMCBuDQp0cmFpbGVyDQo8PC9TaXplIDIzL1Jvb3Qg + MSAwIFIvSW5mbyA5IDAgUi9JRFs8OENDQTI5OEY4QkVFNTk0N0JDOUJBMDhFRkVFNjYyMDE+PDhD + Q0EyOThGOEJFRTU5NDdCQzlCQTA4RUZFRTY2MjAxPl0gPj4NCnN0YXJ0eHJlZg0KMjQ4NjgNCiUl + RU9GDQp4cmVmDQowIDANCnRyYWlsZXINCjw8L1NpemUgMjMvUm9vdCAxIDAgUi9JbmZvIDkgMCBS + L0lEWzw4Q0NBMjk4RjhCRUU1OTQ3QkM5QkEwOEVGRUU2NjIwMT48OENDQTI5OEY4QkVFNTk0N0JD + OUJBMDhFRkVFNjYyMDE+XSAvUHJldiAyNDg2OC9YUmVmU3RtIDI0NTg2Pj4NCnN0YXJ0eHJlZg0K + MjU0ODQNCiUlRU9G + - 0 + - null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '25662' + Content-Type: + - application/pdf + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/9a939b7b-6f9a-4413-8745-69bcaafed0d7/analyze?includeTextDetails=false + response: + body: + string: '' + headers: + apim-request-id: + - 9e3777e8-7b0d-4fdd-a4ac-c7ef3dd6dd83 + content-length: + - '0' + date: + - Mon, 15 Jun 2020 19:53:18 GMT + operation-location: + - https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/9a939b7b-6f9a-4413-8745-69bcaafed0d7/analyzeresults/5afeabb8-4ebd-4cc2-9166-435a79e3b495 + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '141' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/9a939b7b-6f9a-4413-8745-69bcaafed0d7/analyzeresults/5afeabb8-4ebd-4cc2-9166-435a79e3b495 + response: + body: + string: '{"status": "succeeded", "createdDateTime": "2020-06-15T19:53:18Z", + "lastUpdatedDateTime": "2020-06-15T19:53:22Z", "analyzeResult": {"version": + "2.0.0", "readResults": [{"page": 1, "language": "en", "angle": 0, "width": + 8.4967, "height": 10.9967, "unit": "inch"}], "pageResults": [{"page": 1, "tables": + []}], "documentResults": [{"docType": "custom:form", "pageRange": [1, 1], + "fields": {"CompanyAddress": null, "CompanyName": null, "CompanyPhoneNumber": + null, "DatedAs": null, "Email": null, "Merchant": null, "PhoneNumber": null, + "PurchaseOrderNumber": null, "Quantity": null, "Signature": null, "Subtotal": + null, "Tax": null, "Total": null, "VendorName": null, "Website": null}}], + "errors": []}}' + headers: + apim-request-id: + - 594ec1ca-bb97-482b-bcc6-d8d155420ba9 + content-length: + - '632' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 19:53:24 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '225' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms.test_custom_form_unlabeled_blank_page.yaml b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms.test_custom_form_unlabeled_blank_page.yaml new file mode 100644 index 00000000000..0d33ccc49c9 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms.test_custom_form_unlabeled_blank_page.yaml @@ -0,0 +1,696 @@ +interactions: +- request: + body: 'b''b\''{"source": "containersasurl", "sourceFilter": {"prefix": "", "includeSubFolders": + false}, "useLabelFile": false}\''''' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '288' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models + response: + body: + string: '' + headers: + apim-request-id: + - a2cfb478-359d-49fe-9530-c68011a729f4 + content-length: + - '0' + date: + - Mon, 15 Jun 2020 19:50:05 GMT + location: + - https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/5c86788f-f987-4d7f-885b-efde241d7a16 + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '453' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/5c86788f-f987-4d7f-885b-efde241d7a16?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "5c86788f-f987-4d7f-885b-efde241d7a16", "status": + "creating", "createdDateTime": "2020-06-15T19:50:06Z", "lastUpdatedDateTime": + "2020-06-15T19:50:06Z"}}' + headers: + apim-request-id: + - 8a736533-7ba1-4706-89da-06046fa5b490 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 19:50:11 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '50' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/5c86788f-f987-4d7f-885b-efde241d7a16?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "5c86788f-f987-4d7f-885b-efde241d7a16", "status": + "creating", "createdDateTime": "2020-06-15T19:50:06Z", "lastUpdatedDateTime": + "2020-06-15T19:50:06Z"}}' + headers: + apim-request-id: + - 72e4e444-1b22-48a2-9e8a-f4e419e61476 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 19:50:16 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '172' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/5c86788f-f987-4d7f-885b-efde241d7a16?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "5c86788f-f987-4d7f-885b-efde241d7a16", "status": + "ready", "createdDateTime": "2020-06-15T19:50:06Z", "lastUpdatedDateTime": + "2020-06-15T19:50:17Z"}, "keys": {"clusters": {"0": ["Additional Notes:", + "Address:", "Company Name:", "Company Phone:", "Dated As:", "Details", "Email:", + "Hero Limited", "Name:", "Phone:", "Purchase Order", "Purchase Order #:", + "Quantity", "SUBTOTAL", "Seattle, WA 93849 Phone:", "Shipped From", "Shipped + To", "TAX", "TOTAL", "Total", "Unit Price", "Vendor Name:", "Website:"]}}, + "trainResult": {"trainingDocuments": [{"documentName": "Form_1.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_2.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_3.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_4.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_5.jpg", "pages": + 1, "errors": [], "status": "succeeded"}], "errors": []}}' + headers: + apim-request-id: + - 9f297671-7955-4ed1-acc3-d17877d2fbdf + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 19:50:20 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '51' + status: + code: 200 + message: OK +- request: + body: !!python/object/new:_io.BytesIO + state: !!python/tuple + - !!binary | + JVBERi0xLjcNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFu + Zyhlbi1VUykgL1N0cnVjdFRyZWVSb290IDEwIDAgUi9NYXJrSW5mbzw8L01hcmtlZCB0cnVlPj4v + TWV0YWRhdGEgMjAgMCBSL1ZpZXdlclByZWZlcmVuY2VzIDIxIDAgUj4+DQplbmRvYmoNCjIgMCBv + YmoNCjw8L1R5cGUvUGFnZXMvQ291bnQgMS9LaWRzWyAzIDAgUl0gPj4NCmVuZG9iag0KMyAwIG9i + ag0KPDwvVHlwZS9QYWdlL1BhcmVudCAyIDAgUi9SZXNvdXJjZXM8PC9Gb250PDwvRjEgNSAwIFI+ + Pi9FeHRHU3RhdGU8PC9HUzcgNyAwIFIvR1M4IDggMCBSPj4vUHJvY1NldFsvUERGL1RleHQvSW1h + Z2VCL0ltYWdlQy9JbWFnZUldID4+L01lZGlhQm94WyAwIDAgNjEyIDc5Ml0gL0NvbnRlbnRzIDQg + MCBSL0dyb3VwPDwvVHlwZS9Hcm91cC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0I+Pi9UYWJz + L1MvU3RydWN0UGFyZW50cyAwPj4NCmVuZG9iag0KNCAwIG9iag0KPDwvRmlsdGVyL0ZsYXRlRGVj + b2RlL0xlbmd0aCAxMzI+Pg0Kc3RyZWFtDQp4nC2MsQrCQBBE+4X9hynV4m73iJ4HIUUuMSgEFA8s + xFJTKaj/D67iFAPDPB78HnXtx7ztIE2Dtst4MomTb5IGCFbWMQW8rkynBR5MbWHyG4WqkwrlxqTG + CRQxOAkVoiS3tOdu3HCMmN7mxPRb6/8amM4zzC8oO6bejAcm9GPGB3fjHKoNCmVuZHN0cmVhbQ0K + ZW5kb2JqDQo1IDAgb2JqDQo8PC9UeXBlL0ZvbnQvU3VidHlwZS9UcnVlVHlwZS9OYW1lL0YxL0Jh + c2VGb250L0JDREVFRStDYWxpYnJpL0VuY29kaW5nL1dpbkFuc2lFbmNvZGluZy9Gb250RGVzY3Jp + cHRvciA2IDAgUi9GaXJzdENoYXIgMzIvTGFzdENoYXIgMzIvV2lkdGhzIDE4IDAgUj4+DQplbmRv + YmoNCjYgMCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQkNERUVFK0NhbGli + cmkvRmxhZ3MgMzIvSXRhbGljQW5nbGUgMC9Bc2NlbnQgNzUwL0Rlc2NlbnQgLTI1MC9DYXBIZWln + aHQgNzUwL0F2Z1dpZHRoIDUyMS9NYXhXaWR0aCAxNzQzL0ZvbnRXZWlnaHQgNDAwL1hIZWlnaHQg + MjUwL1N0ZW1WIDUyL0ZvbnRCQm94WyAtNTAzIC0yNTAgMTI0MCA3NTBdIC9Gb250RmlsZTIgMTkg + MCBSPj4NCmVuZG9iag0KNyAwIG9iag0KPDwvVHlwZS9FeHRHU3RhdGUvQk0vTm9ybWFsL2NhIDE+ + Pg0KZW5kb2JqDQo4IDAgb2JqDQo8PC9UeXBlL0V4dEdTdGF0ZS9CTS9Ob3JtYWwvQ0EgMT4+DQpl + bmRvYmoNCjkgMCBvYmoNCjw8L0F1dGhvcihLcmlzdGEgUHJhdGljbykgL0NyZWF0b3Io/v8ATQBp + AGMAcgBvAHMAbwBmAHQArgAgAFcAbwByAGQAIABmAG8AcgAgAE8AZgBmAGkAYwBlACAAMwA2ADUp + IC9DcmVhdGlvbkRhdGUoRDoyMDIwMDMyMDEwNDQ0Ni0wNycwMCcpIC9Nb2REYXRlKEQ6MjAyMDAz + MjAxMDQ0NDYtMDcnMDAnKSAvUHJvZHVjZXIo/v8ATQBpAGMAcgBvAHMAbwBmAHQArgAgAFcAbwBy + AGQAIABmAG8AcgAgAE8AZgBmAGkAYwBlACAAMwA2ADUpID4+DQplbmRvYmoNCjE3IDAgb2JqDQo8 + PC9UeXBlL09ialN0bS9OIDcvRmlyc3QgNDYvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAyOTY+ + Pg0Kc3RyZWFtDQp4nG1R0WrCMBR9F/yH+we3sa1jIMKYyoZYSivsofgQ610NtomkKejfL3ftsANf + wjk355ycJCKGAEQEsQDhQRCD8Oh1DmIGUTgDEUIU++EcopcAFgtMWR1AhjmmuL9fCXNnu9Kta2pw + W0BwAEwrCFmzXE4nvSUYLCtTdg1p98wpuEp2gME1UuwtUWaMw8zUtJNX7sh5qbQ+i3e5Lk84Jupj + RrsJ3dyW7iCG6I3P0sYRJrys9elB9l56NDfMqXT4QfJEtsfs+cOfulaa8rPkhjx40z5BOmX0wK1T + 39KDX/Zl7OVozOVxe560ZyLHJR3uZGnNiL+f/TriKyVrU40Gea1ONNL253hZZWWDG1V1loa7Jl3T + FvzH83+vm8iG2qKnj6efTn4AVAqiuw0KZW5kc3RyZWFtDQplbmRvYmoNCjE4IDAgb2JqDQpbIDIy + Nl0gDQplbmRvYmoNCjE5IDAgb2JqDQo8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDE5Mzg5 + L0xlbmd0aDEgODE3NDA+Pg0Kc3RyZWFtDQp4nOx9B3xUVdr+OfdOy8wkM5NkkkkmYWaYJASGFCCB + BJAMpNA7gwk1IYWAAQKEIgJGUdAo9l7Rta1YJgNqwO5iWQv2vhZ2XVdXse3qKgL5nnPfORDY1f+3 + 1fX7z5s88zznPeWe+t6TH8kPxhljdnzoWG3lqIoZBf1stzPumcAYf6Jy1ITyq5qr4hnPzGBMKZw8 + vWDgtY/W3YO8s1Crtn5JXetF716EsiddgvwP6le3eXe1vlHM2LYLGNM/0NS6cMnGd9UhjC1dy1h8 + YGHLyU2vVu4oYuwW1LF90NxY1/DtxJPDaM+K9gY3wxF/Z8Z+pCuQzmpe0rZ2xDjjAaQ/YmzRHS3L + 6uvyGvrezNi9hSg+c0nd2tZ8c/abyG9Gee+Sxra6q07ftppxXzLSZyytW9J43YGv5zP2KfpbuLJ1 + 2cq2bjfbzHjGQVG+dUVja9LC3mmMnXITHvcJE3NhGLpv9uI1H8+3Df+apZmYsPs/Wf+s4NfHrpn8 + /YFD7XGfmgYjGccURoZ6BnaY8T3mbd8fOLAt7lOtpR6WdofwuPuxdmZnw6EVcAHbwljiYO25nKm6 + AL+A6ZlJf6V+EJrsRay+wDYrzMQUm15RFJ2q6D5g+d2PsKxTtB7AJk73elmQsexnqQ/G65QcL+Pd + Ik+9T58gRsqSdQlHe8OfZ//fm+F1dsdP3Yf/K6ZrZDf81H34e8xg+Pf0V93/85qHf4fpiljtT92H + mP3zpjzNrvyp+/BzMOX3bMw/Uo9/w1r+1X2JWcxiFrOY/eOmXM3NP5hXy/b/J/vyczG1mJ3zU/ch + ZjGLWcxi9o+b7lHW9B9/5hJ23n/6mTGLWcxiFrOYxSxmMYtZzGIWs/+7Fvs5M2Yxi1nMYhazmMUs + ZjGLWcxiFrOYxey/23jst9FjFrOYxSxmMYtZzGIWs5jFLGYxi1nMYhazmMUsZjGLWcxiFrOYxSxm + MYtZzGIWs5jFLGYxi1nMYhazmMUsZjGLWcz+S6x790/dg5jF7Cc2NYqM6P8k1YEUlLKa6dhSpFOY + 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 + +xG3mmhL96QrfW1pvHxyGl+Wdmra+WmqzfW8Swm6+vavsqU+n/pe6uepuqRgat/8KpZiT/GmqE4x + tpSJM6o0LqsgHlCsjdWT4s+psjm5zelxKpWfO/lmpnIv54zbQaoJZXZyp6dKfZCLX6LTM84vYDMC + 47tMbNr4sGnK7DA/K5w9XXwGp84KG84Ks9Cs2dWdnJ9Xo/1OQjhZ/FKJlj5z61aWOWp8OHN6dUTd + ti1zVM34cLvQwaCmu4VmKFITmLdy1cpAdfAE5njf8YVDdT5sf96u2GzcZuu2KUEbOm9L8CQo4qM7 + QQ0mDBhSZYv3xCviozteTQnGwyPG18c6ZUaVzeKxKKEyy2SLErSUlVcFLXmFVX81zh1inPTkQNs8 + fMxb2RbQvpGq4atEMiC84ntlG9Lia5WWZoEfNSoGmr8S1iadbT9e67/d+E/dgZ+/0W/yjOxWzmAN + yibgdOA0oB04FdgIbADWA6cA64CTgbXAGmA1sApoA1YCy4FWYBmwFFgCtAAnAYuBRUAzsBBoAhqB + BqAeWADUAbXAfGAeMBeYA8wGZgE1QDVwIjATCAEzgOnANGAqMAWYDEwCJgITgPHAOGAsMAYYDVQB + lUAFUA6MAkYCQaAMGAGcAAwHhgFDgVKgBBgCDAaKgSJgEDAQGAAUAgVAPpAH9AcCQD+gL5AL9AFy + gGwgC/ADvQEf4AU8QC8gE8gA3EA6kAa4gFQgBXACyUASkAg4ADtgAxKAeMAKWAAzEAeYACNgAPSA + bmQ3PlVAATjAWAOHjx8GDgEHge+BA8B3wLfAX4BvgK+BPwN/Ar4CvgS+AD4HPgP2A58CnwB/BD4G + PgL+AHwI/B74APgd8FtgH/A+8B7wLvAO8BvgbeAt4E3gDeB14DXgVeAV4GXgJeBF4AXgeWAv8Bzw + LPAM8DTwa+Ap4EngCeBxYA/wK+Ax4FHgEeBh4CHgQeAB4H5gN7AL6ALuA+4F7gF2AjuACNAJhIG7 + gbuAO4E7gO3A7cAvgduAW4FbgJuBm4BfADcCNwDbgOuB64BrgWuAq4GrgCuBK4DLgcuAS4FLgIuB + i4ALgQuA84HzgK3AucA5QAdwNnAWsAXYDJzJGka2c5x/jvPPcf45zj/H+ec4/xznn+P8c5x/jvPP + cf45zj/H+ec4/xznn+P8c5x/jvPPVwCIARwxgCMGcMQAjhjAEQM4YgBHDOCIARwxgCMGcMQAjhjA + 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 + uHNOntVntltoN7fZZcns+b3njj5RYD9zj2wYh93jRY32F+XYd7t63rI9HL47es2yJ/Lzkt3tQlaU + DZGNmzl6SlRiyln72V+ccO/r8eSz3lNExze9zb7aw4rjv/BG9zYrTm3xzCvteuW29FBk9/xRPk9c + Rq+cqR877Y8jHRlRnfZOdt6+fI2F/cK6rFdZnDnlnXp2yh4glHjZyFUD5829NvaP6hlPojpffBN+ + fGfIA1WHDdc3+tYdv/DEceN8v7J5cY7d7R5bTzrjVcNzu/Jwf8DPgxZ/K+xq+6Pt3h/Xb7i++bfz + riX9BAPCeCN93b+s/MP3xUV2N0I+b3PapCyVetVWfU0vC8uVeCe/HsU9XeIy7Kqr4p5envGlh9p1 + tGBV7vVenWTLaoaI0ifUeEq6lE2oPffkxeOWFQt8L/+0ouz4/SES/tVBVl9P7GGZZ/mLZWWOV4td + YvGWh7//2Ia1q5Z/wNHv/kVZ4L2yZxWD557FzlRE7Ux7UrbCpm+M8/xCr+OY//7KhSt6CvLahvx4 + YunSJaNGtXsVM8dr7eton8Kni1/szt7at+zK3Zx893t3QucXuPV9f6bKJyvnxsZXb6bctSu8Iw/f + +IasY8VOr63NUUpmdf9lUWp8wu7C/u0q8pvxvEc94NtW9ny9+ujyIXsqShb2H5kaHyOo7n1oYe4g + 28KY7LcFS/bsVCpHHBLpXBxGJf7ELWZtIotZ6xg4ThbN+acLV9O/Dqy/OVJetA8mHzqIbZhce9M7 + L0CK+p4d15E0nXUlfeoXsrggtb0tjVw1/fGjM0XNa/13KmeO++6u+0VSarLEnptKJpd3KvRr8qu7 + yR8+TaWiY2H7j+7sZONfERGNajOrGMeSoqevHPvdYvVAX8vz3KGiwO1V/ax6ch09R23Ii04evDs0 + 2CnU+WRSRvsUy3OiWa635i1oKdcOYm+ousbxd+7gGGX7Wj5xdrTix9nSvuf3TmbVZj3gTvj14reH + 18+qm7ay35fq/DU4a8fbHVu/P3i77u3+idi5m9sXSZedCD+gODDs9e3XP7geLwtT1HW2fPwgemKz + /OOe7/uH/3RlQNvUWwdKrJvvXamY//X119X+sheffcZcF/NtO/4o71U7brQ4OjPi9aA2dQm5bvxv + 3q6JcZocnrJtxN4dK3kXJM67ugyYbsHp6TFzyNJpN2+5T7pVOu+ngmc97npkFzuOwA/vSO2YtdzB + q7Zj8tm+7EHekyuKGX7geNK+3keW3GKGKxhqhkJz+j92Id70nTaTmBxCupmGpF39HUMcMDfOWHCd + 0C+Ou3BDeFz4GvhBREbcHhe+ONHvwN2OU11Vp6qzPBd+V9DokgnGCjfe5UvGpP5Mj7Q+Zfq7tmP7 + +Ae5+x8Y8uTc1cf3v1hbutDnFi+z+V37K+dOT4vvMKLjstoFhUPnB5zoMlTWYs1vVzeOaam8w291 + XH/hvfqBTUXvxY/7jPyyk2jgYq/7jKoAYWmk96n7L+2sxHdTCsZYF4wp07gMK5cN8rPwyjiw+WDG + olP3xRf5udFb3148d/1t8bvrkrRjP1zdXOYg33di5JxHT3Mjv7+0r+CXdz8v32a3hGuRdD122/bv + vVKGVDwZd3v2xWk7NtkV3XVZ1KPLiOyvjw7h/3J7+enzy6punTtvP9plwNne7FOq7b/6h4+729uh + eqxVv8vdnqxNi908ORd/sHGv/+OcFZO5XX+fFon9H5Hg2m4NCmVuZHN0cmVhbQ0KZW5kb2JqDQoy + MCAwIG9iag0KPDwvVHlwZS9NZXRhZGF0YS9TdWJ0eXBlL1hNTC9MZW5ndGggMzA4ND4+DQpzdHJl + YW0NCjw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+ + PHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iMy4xLTcwMSI+Cjxy + ZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4 + LW5zIyI+CjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiICB4bWxuczpwZGY9Imh0dHA6Ly9u + cy5hZG9iZS5jb20vcGRmLzEuMy8iPgo8cGRmOlByb2R1Y2VyPk1pY3Jvc29mdMKuIFdvcmQgZm9y + IE9mZmljZSAzNjU8L3BkZjpQcm9kdWNlcj48L3JkZjpEZXNjcmlwdGlvbj4KPHJkZjpEZXNjcmlw + dGlvbiByZGY6YWJvdXQ9IiIgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMv + MS4xLyI+CjxkYzpjcmVhdG9yPjxyZGY6U2VxPjxyZGY6bGk+S3Jpc3RhIFByYXRpY288L3JkZjps + aT48L3JkZjpTZXE+PC9kYzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0 + aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAv + Ij4KPHhtcDpDcmVhdG9yVG9vbD5NaWNyb3NvZnTCriBXb3JkIGZvciBPZmZpY2UgMzY1PC94bXA6 + Q3JlYXRvclRvb2w+PHhtcDpDcmVhdGVEYXRlPjIwMjAtMDMtMjBUMTA6NDQ6NDYtMDc6MDA8L3ht + cDpDcmVhdGVEYXRlPjx4bXA6TW9kaWZ5RGF0ZT4yMDIwLTAzLTIwVDEwOjQ0OjQ2LTA3OjAwPC94 + bXA6TW9kaWZ5RGF0ZT48L3JkZjpEZXNjcmlwdGlvbj4KPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJv + dXQ9IiIgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIj4KPHht + cE1NOkRvY3VtZW50SUQ+dXVpZDo4RjI5Q0E4Qy1FRThCLTQ3NTktQkM5Qi1BMDhFRkVFNjYyMDE8 + L3htcE1NOkRvY3VtZW50SUQ+PHhtcE1NOkluc3RhbmNlSUQ+dXVpZDo4RjI5Q0E4Qy1FRThCLTQ3 + NTktQkM5Qi1BMDhFRkVFNjYyMDE8L3htcE1NOkluc3RhbmNlSUQ+PC9yZGY6RGVzY3JpcHRpb24+ + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgIAo8L3JkZjpSREY+PC94OnhtcG1ldGE+PD94cGFja2V0 + IGVuZD0idyI/Pg0KZW5kc3RyZWFtDQplbmRvYmoNCjIxIDAgb2JqDQo8PC9EaXNwbGF5RG9jVGl0 + bGUgdHJ1ZT4+DQplbmRvYmoNCjIyIDAgb2JqDQo8PC9UeXBlL1hSZWYvU2l6ZSAyMi9XWyAxIDQg + Ml0gL1Jvb3QgMSAwIFIvSW5mbyA5IDAgUi9JRFs8OENDQTI5OEY4QkVFNTk0N0JDOUJBMDhFRkVF + NjYyMDE+PDhDQ0EyOThGOEJFRTU5NDdCQzlCQTA4RUZFRTY2MjAxPl0gL0ZpbHRlci9GbGF0ZURl + Y29kZS9MZW5ndGggODM+Pg0Kc3RyZWFtDQp4nC3LsQFAQAyF4ZfcHbW1KJUKnTHYxgR6k1Ba48R7 + UuQrkh+IqdVid8DHLm5iD/GDpInkXmwibs7cRRJZFGHi/2yiKyfzdhALGVcyX8ALyoALUA0KZW5k + c3RyZWFtDQplbmRvYmoNCnhyZWYNCjAgMjMNCjAwMDAwMDAwMTAgNjU1MzUgZg0KMDAwMDAwMDAx + NyAwMDAwMCBuDQowMDAwMDAwMTY2IDAwMDAwIG4NCjAwMDAwMDAyMjIgMDAwMDAgbg0KMDAwMDAw + MDQ4NiAwMDAwMCBuDQowMDAwMDAwNjkyIDAwMDAwIG4NCjAwMDAwMDA4NTkgMDAwMDAgbg0KMDAw + MDAwMTA5OCAwMDAwMCBuDQowMDAwMDAxMTUxIDAwMDAwIG4NCjAwMDAwMDEyMDQgMDAwMDAgbg0K + MDAwMDAwMDAxMSA2NTUzNSBmDQowMDAwMDAwMDEyIDY1NTM1IGYNCjAwMDAwMDAwMTMgNjU1MzUg + Zg0KMDAwMDAwMDAxNCA2NTUzNSBmDQowMDAwMDAwMDE1IDY1NTM1IGYNCjAwMDAwMDAwMTYgNjU1 + MzUgZg0KMDAwMDAwMDAxNyA2NTUzNSBmDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMDE4Njcg + MDAwMDAgbg0KMDAwMDAwMTg5NCAwMDAwMCBuDQowMDAwMDIxMzc0IDAwMDAwIG4NCjAwMDAwMjQ1 + NDEgMDAwMDAgbg0KMDAwMDAyNDU4NiAwMDAwMCBuDQp0cmFpbGVyDQo8PC9TaXplIDIzL1Jvb3Qg + MSAwIFIvSW5mbyA5IDAgUi9JRFs8OENDQTI5OEY4QkVFNTk0N0JDOUJBMDhFRkVFNjYyMDE+PDhD + Q0EyOThGOEJFRTU5NDdCQzlCQTA4RUZFRTY2MjAxPl0gPj4NCnN0YXJ0eHJlZg0KMjQ4NjgNCiUl + RU9GDQp4cmVmDQowIDANCnRyYWlsZXINCjw8L1NpemUgMjMvUm9vdCAxIDAgUi9JbmZvIDkgMCBS + L0lEWzw4Q0NBMjk4RjhCRUU1OTQ3QkM5QkEwOEVGRUU2NjIwMT48OENDQTI5OEY4QkVFNTk0N0JD + OUJBMDhFRkVFNjYyMDE+XSAvUHJldiAyNDg2OC9YUmVmU3RtIDI0NTg2Pj4NCnN0YXJ0eHJlZg0K + MjU0ODQNCiUlRU9G + - 0 + - null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '25662' + Content-Type: + - application/pdf + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/5c86788f-f987-4d7f-885b-efde241d7a16/analyze?includeTextDetails=false + response: + body: + string: '' + headers: + apim-request-id: + - 3b868d44-886c-4abd-94ea-0910c91e965b + content-length: + - '0' + date: + - Mon, 15 Jun 2020 19:50:22 GMT + operation-location: + - https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/5c86788f-f987-4d7f-885b-efde241d7a16/analyzeresults/f195160b-42dc-490c-bd92-01a871c69d78 + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '249' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/5c86788f-f987-4d7f-885b-efde241d7a16/analyzeresults/f195160b-42dc-490c-bd92-01a871c69d78 + response: + body: + string: '{"status": "succeeded", "createdDateTime": "2020-06-15T19:50:22Z", + "lastUpdatedDateTime": "2020-06-15T19:50:27Z", "analyzeResult": {"version": + "2.0.0", "readResults": [{"page": 1, "angle": 0, "width": 8.5, "height": 11.0, + "unit": "inch", "lines": []}], "pageResults": [{"page": 1, "keyValuePairs": + [], "tables": [], "clusterId": null}], "documentResults": [], "errors": []}}' + headers: + apim-request-id: + - d126a110-37eb-4fbf-85af-6fc308f9b7c6 + content-length: + - '374' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 19:50:27 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '50' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms_async.test_custom_form_labeled_blank_page.yaml b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms_async.test_custom_form_labeled_blank_page.yaml new file mode 100644 index 00000000000..acedd12dc83 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms_async.test_custom_form_labeled_blank_page.yaml @@ -0,0 +1,577 @@ +interactions: +- request: + body: 'b''b\''{"source": "containersasurl", "sourceFilter": {"prefix": "", "includeSubFolders": + false}, "useLabelFile": true}\''''' + headers: + Content-Length: + - '287' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models + response: + body: + string: '' + headers: + apim-request-id: e6cd020f-a928-473e-90a9-7ab98aecad7b + content-length: '0' + date: Mon, 15 Jun 2020 20:12:14 GMT + location: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/2d79c90f-083a-448f-8abb-57a4b3bbfb3b + strict-transport-security: max-age=31536000; includeSubDomains; preload + x-content-type-options: nosniff + x-envoy-upstream-service-time: '505' + status: + code: 201 + message: Created + url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0-preview/custom/models +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/2d79c90f-083a-448f-8abb-57a4b3bbfb3b?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "2d79c90f-083a-448f-8abb-57a4b3bbfb3b", "status": + "ready", "createdDateTime": "2020-06-15T20:12:14Z", "lastUpdatedDateTime": + "2020-06-15T20:12:18Z"}, "trainResult": {"averageModelAccuracy": 0.973, "trainingDocuments": + [{"documentName": "Form_1.jpg", "pages": 1, "status": "succeeded"}, {"documentName": + "Form_2.jpg", "pages": 1, "status": "succeeded"}, {"documentName": "Form_3.jpg", + "pages": 1, "status": "succeeded"}, {"documentName": "Form_4.jpg", "pages": + 1, "status": "succeeded"}, {"documentName": "Form_5.jpg", "pages": 1, "status": + "succeeded"}], "fields": [{"fieldName": "CompanyAddress", "accuracy": 0.8}, + {"fieldName": "CompanyName", "accuracy": 1.0}, {"fieldName": "CompanyPhoneNumber", + "accuracy": 1.0}, {"fieldName": "DatedAs", "accuracy": 1.0}, {"fieldName": + "Email", "accuracy": 0.8}, {"fieldName": "Merchant", "accuracy": 1.0}, {"fieldName": + "PhoneNumber", "accuracy": 1.0}, {"fieldName": "PurchaseOrderNumber", "accuracy": + 1.0}, {"fieldName": "Quantity", "accuracy": 1.0}, {"fieldName": "Signature", + "accuracy": 1.0}, {"fieldName": "Subtotal", "accuracy": 1.0}, {"fieldName": + "Tax", "accuracy": 1.0}, {"fieldName": "Total", "accuracy": 1.0}, {"fieldName": + "VendorName", "accuracy": 1.0}, {"fieldName": "Website", "accuracy": 1.0}], + "errors": []}}' + headers: + apim-request-id: 20716af1-407e-45eb-b363-75c3f3fd0963 + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 20:12:24 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '5165' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/2d79c90f-083a-448f-8abb-57a4b3bbfb3b?includeKeys=true +- request: + body: !!binary | + JVBERi0xLjcNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFu + Zyhlbi1VUykgL1N0cnVjdFRyZWVSb290IDEwIDAgUi9NYXJrSW5mbzw8L01hcmtlZCB0cnVlPj4v + TWV0YWRhdGEgMjAgMCBSL1ZpZXdlclByZWZlcmVuY2VzIDIxIDAgUj4+DQplbmRvYmoNCjIgMCBv + YmoNCjw8L1R5cGUvUGFnZXMvQ291bnQgMS9LaWRzWyAzIDAgUl0gPj4NCmVuZG9iag0KMyAwIG9i + ag0KPDwvVHlwZS9QYWdlL1BhcmVudCAyIDAgUi9SZXNvdXJjZXM8PC9Gb250PDwvRjEgNSAwIFI+ + Pi9FeHRHU3RhdGU8PC9HUzcgNyAwIFIvR1M4IDggMCBSPj4vUHJvY1NldFsvUERGL1RleHQvSW1h + Z2VCL0ltYWdlQy9JbWFnZUldID4+L01lZGlhQm94WyAwIDAgNjEyIDc5Ml0gL0NvbnRlbnRzIDQg + MCBSL0dyb3VwPDwvVHlwZS9Hcm91cC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0I+Pi9UYWJz + L1MvU3RydWN0UGFyZW50cyAwPj4NCmVuZG9iag0KNCAwIG9iag0KPDwvRmlsdGVyL0ZsYXRlRGVj + b2RlL0xlbmd0aCAxMzI+Pg0Kc3RyZWFtDQp4nC2MsQrCQBBE+4X9hynV4m73iJ4HIUUuMSgEFA8s + xFJTKaj/D67iFAPDPB78HnXtx7ztIE2Dtst4MomTb5IGCFbWMQW8rkynBR5MbWHyG4WqkwrlxqTG + CRQxOAkVoiS3tOdu3HCMmN7mxPRb6/8amM4zzC8oO6bejAcm9GPGB3fjHKoNCmVuZHN0cmVhbQ0K + ZW5kb2JqDQo1IDAgb2JqDQo8PC9UeXBlL0ZvbnQvU3VidHlwZS9UcnVlVHlwZS9OYW1lL0YxL0Jh + c2VGb250L0JDREVFRStDYWxpYnJpL0VuY29kaW5nL1dpbkFuc2lFbmNvZGluZy9Gb250RGVzY3Jp + cHRvciA2IDAgUi9GaXJzdENoYXIgMzIvTGFzdENoYXIgMzIvV2lkdGhzIDE4IDAgUj4+DQplbmRv + YmoNCjYgMCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQkNERUVFK0NhbGli + cmkvRmxhZ3MgMzIvSXRhbGljQW5nbGUgMC9Bc2NlbnQgNzUwL0Rlc2NlbnQgLTI1MC9DYXBIZWln + aHQgNzUwL0F2Z1dpZHRoIDUyMS9NYXhXaWR0aCAxNzQzL0ZvbnRXZWlnaHQgNDAwL1hIZWlnaHQg + MjUwL1N0ZW1WIDUyL0ZvbnRCQm94WyAtNTAzIC0yNTAgMTI0MCA3NTBdIC9Gb250RmlsZTIgMTkg + MCBSPj4NCmVuZG9iag0KNyAwIG9iag0KPDwvVHlwZS9FeHRHU3RhdGUvQk0vTm9ybWFsL2NhIDE+ + Pg0KZW5kb2JqDQo4IDAgb2JqDQo8PC9UeXBlL0V4dEdTdGF0ZS9CTS9Ob3JtYWwvQ0EgMT4+DQpl + bmRvYmoNCjkgMCBvYmoNCjw8L0F1dGhvcihLcmlzdGEgUHJhdGljbykgL0NyZWF0b3Io/v8ATQBp + AGMAcgBvAHMAbwBmAHQArgAgAFcAbwByAGQAIABmAG8AcgAgAE8AZgBmAGkAYwBlACAAMwA2ADUp + IC9DcmVhdGlvbkRhdGUoRDoyMDIwMDMyMDEwNDQ0Ni0wNycwMCcpIC9Nb2REYXRlKEQ6MjAyMDAz + MjAxMDQ0NDYtMDcnMDAnKSAvUHJvZHVjZXIo/v8ATQBpAGMAcgBvAHMAbwBmAHQArgAgAFcAbwBy + AGQAIABmAG8AcgAgAE8AZgBmAGkAYwBlACAAMwA2ADUpID4+DQplbmRvYmoNCjE3IDAgb2JqDQo8 + PC9UeXBlL09ialN0bS9OIDcvRmlyc3QgNDYvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAyOTY+ + Pg0Kc3RyZWFtDQp4nG1R0WrCMBR9F/yH+we3sa1jIMKYyoZYSivsofgQ610NtomkKejfL3ftsANf + wjk355ycJCKGAEQEsQDhQRCD8Oh1DmIGUTgDEUIU++EcopcAFgtMWR1AhjmmuL9fCXNnu9Kta2pw + W0BwAEwrCFmzXE4nvSUYLCtTdg1p98wpuEp2gME1UuwtUWaMw8zUtJNX7sh5qbQ+i3e5Lk84Jupj + RrsJ3dyW7iCG6I3P0sYRJrys9elB9l56NDfMqXT4QfJEtsfs+cOfulaa8rPkhjx40z5BOmX0wK1T + 39KDX/Zl7OVozOVxe560ZyLHJR3uZGnNiL+f/TriKyVrU40Gea1ONNL253hZZWWDG1V1loa7Jl3T + FvzH83+vm8iG2qKnj6efTn4AVAqiuw0KZW5kc3RyZWFtDQplbmRvYmoNCjE4IDAgb2JqDQpbIDIy + Nl0gDQplbmRvYmoNCjE5IDAgb2JqDQo8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDE5Mzg5 + L0xlbmd0aDEgODE3NDA+Pg0Kc3RyZWFtDQp4nOx9B3xUVdr+OfdOy8wkM5NkkkkmYWaYJASGFCCB + BJAMpNA7gwk1IYWAAQKEIgJGUdAo9l7Rta1YJgNqwO5iWQv2vhZ2XVdXse3qKgL5nnPfORDY1f+3 + 1fX7z5s88zznPeWe+t6TH8kPxhljdnzoWG3lqIoZBf1stzPumcAYf6Jy1ITyq5qr4hnPzGBMKZw8 + vWDgtY/W3YO8s1Crtn5JXetF716EsiddgvwP6le3eXe1vlHM2LYLGNM/0NS6cMnGd9UhjC1dy1h8 + YGHLyU2vVu4oYuwW1LF90NxY1/DtxJPDaM+K9gY3wxF/Z8Z+pCuQzmpe0rZ2xDjjAaQ/YmzRHS3L + 6uvyGvrezNi9hSg+c0nd2tZ8c/abyG9Gee+Sxra6q07ftppxXzLSZyytW9J43YGv5zP2KfpbuLJ1 + 2cq2bjfbzHjGQVG+dUVja9LC3mmMnXITHvcJE3NhGLpv9uI1H8+3Df+apZmYsPs/Wf+s4NfHrpn8 + /YFD7XGfmgYjGccURoZ6BnaY8T3mbd8fOLAt7lOtpR6WdofwuPuxdmZnw6EVcAHbwljiYO25nKm6 + AL+A6ZlJf6V+EJrsRay+wDYrzMQUm15RFJ2q6D5g+d2PsKxTtB7AJk73elmQsexnqQ/G65QcL+Pd + Ik+9T58gRsqSdQlHe8OfZ//fm+F1dsdP3Yf/K6ZrZDf81H34e8xg+Pf0V93/85qHf4fpiljtT92H + mP3zpjzNrvyp+/BzMOX3bMw/Uo9/w1r+1X2JWcxiFrOY/eOmXM3NP5hXy/b/J/vyczG1mJ3zU/ch + ZjGLWcxi9o+b7lHW9B9/5hJ23n/6mTGLWcxiFrOYxSxmMYtZzGIWs/+7Fvs5M2Yxi1nMYhazmMUs + ZjGLWcxiFrOYxey/23jst9FjFrOYxSxmMYtZzGIWs5jFLGYxi1nMYhazmMUsZjGLWcxiFrOYxSxm + MYtZzGIWs5jFLGYxi1nMYhazmMUsZjGLWcz+S6x790/dg5jF7Cc2NYqM6P8k1YEUlLKa6dhSpFOY + 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 + +xG3mmhL96QrfW1pvHxyGl+Wdmra+WmqzfW8Swm6+vavsqU+n/pe6uepuqRgat/8KpZiT/GmqE4x + tpSJM6o0LqsgHlCsjdWT4s+psjm5zelxKpWfO/lmpnIv54zbQaoJZXZyp6dKfZCLX6LTM84vYDMC + 47tMbNr4sGnK7DA/K5w9XXwGp84KG84Ks9Cs2dWdnJ9Xo/1OQjhZ/FKJlj5z61aWOWp8OHN6dUTd + ti1zVM34cLvQwaCmu4VmKFITmLdy1cpAdfAE5njf8YVDdT5sf96u2GzcZuu2KUEbOm9L8CQo4qM7 + QQ0mDBhSZYv3xCviozteTQnGwyPG18c6ZUaVzeKxKKEyy2SLErSUlVcFLXmFVX81zh1inPTkQNs8 + fMxb2RbQvpGq4atEMiC84ntlG9Lia5WWZoEfNSoGmr8S1iadbT9e67/d+E/dgZ+/0W/yjOxWzmAN + yibgdOA0oB04FdgIbADWA6cA64CTgbXAGmA1sApoA1YCy4FWYBmwFFgCtAAnAYuBRUAzsBBoAhqB + BqAeWADUAbXAfGAeMBeYA8wGZgE1QDVwIjATCAEzgOnANGAqMAWYDEwCJgITgPHAOGAsMAYYDVQB + lUAFUA6MAkYCQaAMGAGcAAwHhgFDgVKgBBgCDAaKgSJgEDAQGAAUAgVAPpAH9AcCQD+gL5AL9AFy + gGwgC/ADvQEf4AU8QC8gE8gA3EA6kAa4gFQgBXACyUASkAg4ADtgAxKAeMAKWAAzEAeYACNgAPSA + bmQ3PlVAATjAWAOHjx8GDgEHge+BA8B3wLfAX4BvgK+BPwN/Ar4CvgS+AD4HPgP2A58CnwB/BD4G + PgL+AHwI/B74APgd8FtgH/A+8B7wLvAO8BvgbeAt4E3gDeB14DXgVeAV4GXgJeBF4AXgeWAv8Bzw + LPAM8DTwa+Ap4EngCeBxYA/wK+Ax4FHgEeBh4CHgQeAB4H5gN7AL6ALuA+4F7gF2AjuACNAJhIG7 + gbuAO4E7gO3A7cAvgduAW4FbgJuBm4BfADcCNwDbgOuB64BrgWuAq4GrgCuBK4DLgcuAS4FLgIuB + i4ALgQuA84HzgK3AucA5QAdwNnAWsAXYDJzJGka2c5x/jvPPcf45zj/H+ec4/xznn+P8c5x/jvPP + cf45zj/H+ec4/xznn+P8c5x/jvPPVwCIARwxgCMGcMQAjhjAEQM4YgBHDOCIARwxgCMGcMQAjhjA + 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 + uHNOntVntltoN7fZZcns+b3njj5RYD9zj2wYh93jRY32F+XYd7t63rI9HL47es2yJ/Lzkt3tQlaU + DZGNmzl6SlRiyln72V+ccO/r8eSz3lNExze9zb7aw4rjv/BG9zYrTm3xzCvteuW29FBk9/xRPk9c + Rq+cqR877Y8jHRlRnfZOdt6+fI2F/cK6rFdZnDnlnXp2yh4glHjZyFUD5829NvaP6hlPojpffBN+ + fGfIA1WHDdc3+tYdv/DEceN8v7J5cY7d7R5bTzrjVcNzu/Jwf8DPgxZ/K+xq+6Pt3h/Xb7i++bfz + riX9BAPCeCN93b+s/MP3xUV2N0I+b3PapCyVetVWfU0vC8uVeCe/HsU9XeIy7Kqr4p5envGlh9p1 + tGBV7vVenWTLaoaI0ifUeEq6lE2oPffkxeOWFQt8L/+0ouz4/SES/tVBVl9P7GGZZ/mLZWWOV4td + YvGWh7//2Ia1q5Z/wNHv/kVZ4L2yZxWD557FzlRE7Ux7UrbCpm+M8/xCr+OY//7KhSt6CvLahvx4 + YunSJaNGtXsVM8dr7eton8Kni1/szt7at+zK3Zx893t3QucXuPV9f6bKJyvnxsZXb6bctSu8Iw/f + +IasY8VOr63NUUpmdf9lUWp8wu7C/u0q8pvxvEc94NtW9ny9+ujyIXsqShb2H5kaHyOo7n1oYe4g + 28KY7LcFS/bsVCpHHBLpXBxGJf7ELWZtIotZ6xg4ThbN+acLV9O/Dqy/OVJetA8mHzqIbZhce9M7 + L0CK+p4d15E0nXUlfeoXsrggtb0tjVw1/fGjM0XNa/13KmeO++6u+0VSarLEnptKJpd3KvRr8qu7 + yR8+TaWiY2H7j+7sZONfERGNajOrGMeSoqevHPvdYvVAX8vz3KGiwO1V/ax6ch09R23Ii04evDs0 + 2CnU+WRSRvsUy3OiWa635i1oKdcOYm+ousbxd+7gGGX7Wj5xdrTix9nSvuf3TmbVZj3gTvj14reH + 18+qm7ay35fq/DU4a8fbHVu/P3i77u3+idi5m9sXSZedCD+gODDs9e3XP7geLwtT1HW2fPwgemKz + /OOe7/uH/3RlQNvUWwdKrJvvXamY//X119X+sheffcZcF/NtO/4o71U7brQ4OjPi9aA2dQm5bvxv + 3q6JcZocnrJtxN4dK3kXJM67ugyYbsHp6TFzyNJpN2+5T7pVOu+ngmc97npkFzuOwA/vSO2YtdzB + q7Zj8tm+7EHekyuKGX7geNK+3keW3GKGKxhqhkJz+j92Id70nTaTmBxCupmGpF39HUMcMDfOWHCd + 0C+Ou3BDeFz4GvhBREbcHhe+ONHvwN2OU11Vp6qzPBd+V9DokgnGCjfe5UvGpP5Mj7Q+Zfq7tmP7 + +Ae5+x8Y8uTc1cf3v1hbutDnFi+z+V37K+dOT4vvMKLjstoFhUPnB5zoMlTWYs1vVzeOaam8w291 + XH/hvfqBTUXvxY/7jPyyk2jgYq/7jKoAYWmk96n7L+2sxHdTCsZYF4wp07gMK5cN8rPwyjiw+WDG + olP3xRf5udFb3148d/1t8bvrkrRjP1zdXOYg33di5JxHT3Mjv7+0r+CXdz8v32a3hGuRdD122/bv + vVKGVDwZd3v2xWk7NtkV3XVZ1KPLiOyvjw7h/3J7+enzy6punTtvP9plwNne7FOq7b/6h4+729uh + eqxVv8vdnqxNi908ORd/sHGv/+OcFZO5XX+fFon9H5Hg2m4NCmVuZHN0cmVhbQ0KZW5kb2JqDQoy + MCAwIG9iag0KPDwvVHlwZS9NZXRhZGF0YS9TdWJ0eXBlL1hNTC9MZW5ndGggMzA4ND4+DQpzdHJl + YW0NCjw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+ + PHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iMy4xLTcwMSI+Cjxy + ZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4 + LW5zIyI+CjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiICB4bWxuczpwZGY9Imh0dHA6Ly9u + cy5hZG9iZS5jb20vcGRmLzEuMy8iPgo8cGRmOlByb2R1Y2VyPk1pY3Jvc29mdMKuIFdvcmQgZm9y + IE9mZmljZSAzNjU8L3BkZjpQcm9kdWNlcj48L3JkZjpEZXNjcmlwdGlvbj4KPHJkZjpEZXNjcmlw + dGlvbiByZGY6YWJvdXQ9IiIgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMv + MS4xLyI+CjxkYzpjcmVhdG9yPjxyZGY6U2VxPjxyZGY6bGk+S3Jpc3RhIFByYXRpY288L3JkZjps + aT48L3JkZjpTZXE+PC9kYzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0 + aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAv + Ij4KPHhtcDpDcmVhdG9yVG9vbD5NaWNyb3NvZnTCriBXb3JkIGZvciBPZmZpY2UgMzY1PC94bXA6 + Q3JlYXRvclRvb2w+PHhtcDpDcmVhdGVEYXRlPjIwMjAtMDMtMjBUMTA6NDQ6NDYtMDc6MDA8L3ht + cDpDcmVhdGVEYXRlPjx4bXA6TW9kaWZ5RGF0ZT4yMDIwLTAzLTIwVDEwOjQ0OjQ2LTA3OjAwPC94 + bXA6TW9kaWZ5RGF0ZT48L3JkZjpEZXNjcmlwdGlvbj4KPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJv + dXQ9IiIgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIj4KPHht + cE1NOkRvY3VtZW50SUQ+dXVpZDo4RjI5Q0E4Qy1FRThCLTQ3NTktQkM5Qi1BMDhFRkVFNjYyMDE8 + L3htcE1NOkRvY3VtZW50SUQ+PHhtcE1NOkluc3RhbmNlSUQ+dXVpZDo4RjI5Q0E4Qy1FRThCLTQ3 + NTktQkM5Qi1BMDhFRkVFNjYyMDE8L3htcE1NOkluc3RhbmNlSUQ+PC9yZGY6RGVzY3JpcHRpb24+ + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgIAo8L3JkZjpSREY+PC94OnhtcG1ldGE+PD94cGFja2V0 + IGVuZD0idyI/Pg0KZW5kc3RyZWFtDQplbmRvYmoNCjIxIDAgb2JqDQo8PC9EaXNwbGF5RG9jVGl0 + bGUgdHJ1ZT4+DQplbmRvYmoNCjIyIDAgb2JqDQo8PC9UeXBlL1hSZWYvU2l6ZSAyMi9XWyAxIDQg + Ml0gL1Jvb3QgMSAwIFIvSW5mbyA5IDAgUi9JRFs8OENDQTI5OEY4QkVFNTk0N0JDOUJBMDhFRkVF + NjYyMDE+PDhDQ0EyOThGOEJFRTU5NDdCQzlCQTA4RUZFRTY2MjAxPl0gL0ZpbHRlci9GbGF0ZURl + Y29kZS9MZW5ndGggODM+Pg0Kc3RyZWFtDQp4nC3LsQFAQAyF4ZfcHbW1KJUKnTHYxgR6k1Ba48R7 + UuQrkh+IqdVid8DHLm5iD/GDpInkXmwibs7cRRJZFGHi/2yiKyfzdhALGVcyX8ALyoALUA0KZW5k + c3RyZWFtDQplbmRvYmoNCnhyZWYNCjAgMjMNCjAwMDAwMDAwMTAgNjU1MzUgZg0KMDAwMDAwMDAx + NyAwMDAwMCBuDQowMDAwMDAwMTY2IDAwMDAwIG4NCjAwMDAwMDAyMjIgMDAwMDAgbg0KMDAwMDAw + MDQ4NiAwMDAwMCBuDQowMDAwMDAwNjkyIDAwMDAwIG4NCjAwMDAwMDA4NTkgMDAwMDAgbg0KMDAw + MDAwMTA5OCAwMDAwMCBuDQowMDAwMDAxMTUxIDAwMDAwIG4NCjAwMDAwMDEyMDQgMDAwMDAgbg0K + MDAwMDAwMDAxMSA2NTUzNSBmDQowMDAwMDAwMDEyIDY1NTM1IGYNCjAwMDAwMDAwMTMgNjU1MzUg + Zg0KMDAwMDAwMDAxNCA2NTUzNSBmDQowMDAwMDAwMDE1IDY1NTM1IGYNCjAwMDAwMDAwMTYgNjU1 + MzUgZg0KMDAwMDAwMDAxNyA2NTUzNSBmDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMDE4Njcg + MDAwMDAgbg0KMDAwMDAwMTg5NCAwMDAwMCBuDQowMDAwMDIxMzc0IDAwMDAwIG4NCjAwMDAwMjQ1 + NDEgMDAwMDAgbg0KMDAwMDAyNDU4NiAwMDAwMCBuDQp0cmFpbGVyDQo8PC9TaXplIDIzL1Jvb3Qg + MSAwIFIvSW5mbyA5IDAgUi9JRFs8OENDQTI5OEY4QkVFNTk0N0JDOUJBMDhFRkVFNjYyMDE+PDhD + Q0EyOThGOEJFRTU5NDdCQzlCQTA4RUZFRTY2MjAxPl0gPj4NCnN0YXJ0eHJlZg0KMjQ4NjgNCiUl + RU9GDQp4cmVmDQowIDANCnRyYWlsZXINCjw8L1NpemUgMjMvUm9vdCAxIDAgUi9JbmZvIDkgMCBS + L0lEWzw4Q0NBMjk4RjhCRUU1OTQ3QkM5QkEwOEVGRUU2NjIwMT48OENDQTI5OEY4QkVFNTk0N0JD + OUJBMDhFRkVFNjYyMDE+XSAvUHJldiAyNDg2OC9YUmVmU3RtIDI0NTg2Pj4NCnN0YXJ0eHJlZg0K + MjU0ODQNCiUlRU9G + headers: + Content-Type: + - application/pdf + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/2d79c90f-083a-448f-8abb-57a4b3bbfb3b/analyze?includeTextDetails=false + response: + body: + string: '' + headers: + apim-request-id: 60476c1e-b7d5-4cf2-90aa-3fff2789c7d1 + content-length: '0' + date: Mon, 15 Jun 2020 20:12:25 GMT + operation-location: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/2d79c90f-083a-448f-8abb-57a4b3bbfb3b/analyzeresults/68751e3b-2624-413e-b0f8-b609a99abcc7 + strict-transport-security: max-age=31536000; includeSubDomains; preload + x-content-type-options: nosniff + x-envoy-upstream-service-time: '369' + status: + code: 202 + message: Accepted + url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0-preview/custom/models/2d79c90f-083a-448f-8abb-57a4b3bbfb3b/analyze?includeTextDetails=false +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/2d79c90f-083a-448f-8abb-57a4b3bbfb3b/analyzeresults/68751e3b-2624-413e-b0f8-b609a99abcc7 + response: + body: + string: '{"status": "succeeded", "createdDateTime": "2020-06-15T20:12:25Z", + "lastUpdatedDateTime": "2020-06-15T20:12:30Z", "analyzeResult": {"version": + "2.0.0", "readResults": [{"page": 1, "language": "en", "angle": 0, "width": + 8.4967, "height": 10.9967, "unit": "inch"}], "pageResults": [{"page": 1, "tables": + []}], "documentResults": [{"docType": "custom:form", "pageRange": [1, 1], + "fields": {"CompanyAddress": null, "CompanyName": null, "CompanyPhoneNumber": + null, "DatedAs": null, "Email": null, "Merchant": null, "PhoneNumber": null, + "PurchaseOrderNumber": null, "Quantity": null, "Signature": null, "Subtotal": + null, "Tax": null, "Total": null, "VendorName": null, "Website": null}}], + "errors": []}}' + headers: + apim-request-id: cf966d38-a06a-4369-a009-1accaa745507 + content-length: '632' + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 20:12:30 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + x-content-type-options: nosniff + x-envoy-upstream-service-time: '153' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/2d79c90f-083a-448f-8abb-57a4b3bbfb3b/analyzeresults/68751e3b-2624-413e-b0f8-b609a99abcc7 +version: 1 diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms_async.test_custom_form_unlabeled_blank_page.yaml b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms_async.test_custom_form_unlabeled_blank_page.yaml new file mode 100644 index 00000000000..eead0177c43 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms_async.test_custom_form_unlabeled_blank_page.yaml @@ -0,0 +1,618 @@ +interactions: +- request: + body: 'b''b\''{"source": "containersasurl", "sourceFilter": {"prefix": "", "includeSubFolders": + false}, "useLabelFile": false}\''''' + headers: + Content-Length: + - '288' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models + response: + body: + string: '' + headers: + apim-request-id: 9a38ee43-11b3-45fa-aa49-3aa02d5ea68f + content-length: '0' + date: Mon, 15 Jun 2020 20:08:11 GMT + location: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/453f8f6c-6c05-49e4-aca5-021ca0b2d87f + strict-transport-security: max-age=31536000; includeSubDomains; preload + x-content-type-options: nosniff + x-envoy-upstream-service-time: '329' + status: + code: 201 + message: Created + url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0-preview/custom/models +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/453f8f6c-6c05-49e4-aca5-021ca0b2d87f?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "453f8f6c-6c05-49e4-aca5-021ca0b2d87f", "status": + "creating", "createdDateTime": "2020-06-15T20:08:11Z", "lastUpdatedDateTime": + "2020-06-15T20:08:11Z"}}' + headers: + apim-request-id: a1148aad-27a3-4747-bcc8-2d1b0663032e + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 20:08:16 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '169' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/453f8f6c-6c05-49e4-aca5-021ca0b2d87f?includeKeys=true +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/453f8f6c-6c05-49e4-aca5-021ca0b2d87f?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "453f8f6c-6c05-49e4-aca5-021ca0b2d87f", "status": + "creating", "createdDateTime": "2020-06-15T20:08:11Z", "lastUpdatedDateTime": + "2020-06-15T20:08:11Z"}}' + headers: + apim-request-id: 32f7810d-65a3-424c-906a-5096f737ea38 + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 20:08:22 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '204' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/453f8f6c-6c05-49e4-aca5-021ca0b2d87f?includeKeys=true +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/453f8f6c-6c05-49e4-aca5-021ca0b2d87f?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "453f8f6c-6c05-49e4-aca5-021ca0b2d87f", "status": + "ready", "createdDateTime": "2020-06-15T20:08:11Z", "lastUpdatedDateTime": + "2020-06-15T20:08:24Z"}, "keys": {"clusters": {"0": ["Additional Notes:", + "Address:", "Company Name:", "Company Phone:", "Dated As:", "Details", "Email:", + "Hero Limited", "Name:", "Phone:", "Purchase Order", "Purchase Order #:", + "Quantity", "SUBTOTAL", "Seattle, WA 93849 Phone:", "Shipped From", "Shipped + To", "TAX", "TOTAL", "Total", "Unit Price", "Vendor Name:", "Website:"]}}, + "trainResult": {"trainingDocuments": [{"documentName": "Form_1.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_2.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_3.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_4.jpg", "pages": + 1, "errors": [], "status": "succeeded"}, {"documentName": "Form_5.jpg", "pages": + 1, "errors": [], "status": "succeeded"}], "errors": []}}' + headers: + apim-request-id: d598b55b-90cd-4e19-a40f-4792210c2d59 + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 20:08:27 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '228' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/453f8f6c-6c05-49e4-aca5-021ca0b2d87f?includeKeys=true +- request: + body: !!binary | + JVBERi0xLjcNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFu + Zyhlbi1VUykgL1N0cnVjdFRyZWVSb290IDEwIDAgUi9NYXJrSW5mbzw8L01hcmtlZCB0cnVlPj4v + TWV0YWRhdGEgMjAgMCBSL1ZpZXdlclByZWZlcmVuY2VzIDIxIDAgUj4+DQplbmRvYmoNCjIgMCBv + YmoNCjw8L1R5cGUvUGFnZXMvQ291bnQgMS9LaWRzWyAzIDAgUl0gPj4NCmVuZG9iag0KMyAwIG9i + ag0KPDwvVHlwZS9QYWdlL1BhcmVudCAyIDAgUi9SZXNvdXJjZXM8PC9Gb250PDwvRjEgNSAwIFI+ + Pi9FeHRHU3RhdGU8PC9HUzcgNyAwIFIvR1M4IDggMCBSPj4vUHJvY1NldFsvUERGL1RleHQvSW1h + Z2VCL0ltYWdlQy9JbWFnZUldID4+L01lZGlhQm94WyAwIDAgNjEyIDc5Ml0gL0NvbnRlbnRzIDQg + MCBSL0dyb3VwPDwvVHlwZS9Hcm91cC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0I+Pi9UYWJz + L1MvU3RydWN0UGFyZW50cyAwPj4NCmVuZG9iag0KNCAwIG9iag0KPDwvRmlsdGVyL0ZsYXRlRGVj + b2RlL0xlbmd0aCAxMzI+Pg0Kc3RyZWFtDQp4nC2MsQrCQBBE+4X9hynV4m73iJ4HIUUuMSgEFA8s + xFJTKaj/D67iFAPDPB78HnXtx7ztIE2Dtst4MomTb5IGCFbWMQW8rkynBR5MbWHyG4WqkwrlxqTG + CRQxOAkVoiS3tOdu3HCMmN7mxPRb6/8amM4zzC8oO6bejAcm9GPGB3fjHKoNCmVuZHN0cmVhbQ0K + ZW5kb2JqDQo1IDAgb2JqDQo8PC9UeXBlL0ZvbnQvU3VidHlwZS9UcnVlVHlwZS9OYW1lL0YxL0Jh + c2VGb250L0JDREVFRStDYWxpYnJpL0VuY29kaW5nL1dpbkFuc2lFbmNvZGluZy9Gb250RGVzY3Jp + cHRvciA2IDAgUi9GaXJzdENoYXIgMzIvTGFzdENoYXIgMzIvV2lkdGhzIDE4IDAgUj4+DQplbmRv + YmoNCjYgMCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQkNERUVFK0NhbGli + cmkvRmxhZ3MgMzIvSXRhbGljQW5nbGUgMC9Bc2NlbnQgNzUwL0Rlc2NlbnQgLTI1MC9DYXBIZWln + aHQgNzUwL0F2Z1dpZHRoIDUyMS9NYXhXaWR0aCAxNzQzL0ZvbnRXZWlnaHQgNDAwL1hIZWlnaHQg + MjUwL1N0ZW1WIDUyL0ZvbnRCQm94WyAtNTAzIC0yNTAgMTI0MCA3NTBdIC9Gb250RmlsZTIgMTkg + MCBSPj4NCmVuZG9iag0KNyAwIG9iag0KPDwvVHlwZS9FeHRHU3RhdGUvQk0vTm9ybWFsL2NhIDE+ + Pg0KZW5kb2JqDQo4IDAgb2JqDQo8PC9UeXBlL0V4dEdTdGF0ZS9CTS9Ob3JtYWwvQ0EgMT4+DQpl + bmRvYmoNCjkgMCBvYmoNCjw8L0F1dGhvcihLcmlzdGEgUHJhdGljbykgL0NyZWF0b3Io/v8ATQBp + AGMAcgBvAHMAbwBmAHQArgAgAFcAbwByAGQAIABmAG8AcgAgAE8AZgBmAGkAYwBlACAAMwA2ADUp + IC9DcmVhdGlvbkRhdGUoRDoyMDIwMDMyMDEwNDQ0Ni0wNycwMCcpIC9Nb2REYXRlKEQ6MjAyMDAz + MjAxMDQ0NDYtMDcnMDAnKSAvUHJvZHVjZXIo/v8ATQBpAGMAcgBvAHMAbwBmAHQArgAgAFcAbwBy + AGQAIABmAG8AcgAgAE8AZgBmAGkAYwBlACAAMwA2ADUpID4+DQplbmRvYmoNCjE3IDAgb2JqDQo8 + PC9UeXBlL09ialN0bS9OIDcvRmlyc3QgNDYvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAyOTY+ + Pg0Kc3RyZWFtDQp4nG1R0WrCMBR9F/yH+we3sa1jIMKYyoZYSivsofgQ610NtomkKejfL3ftsANf + wjk355ycJCKGAEQEsQDhQRCD8Oh1DmIGUTgDEUIU++EcopcAFgtMWR1AhjmmuL9fCXNnu9Kta2pw + W0BwAEwrCFmzXE4nvSUYLCtTdg1p98wpuEp2gME1UuwtUWaMw8zUtJNX7sh5qbQ+i3e5Lk84Jupj + RrsJ3dyW7iCG6I3P0sYRJrys9elB9l56NDfMqXT4QfJEtsfs+cOfulaa8rPkhjx40z5BOmX0wK1T + 39KDX/Zl7OVozOVxe560ZyLHJR3uZGnNiL+f/TriKyVrU40Gea1ONNL253hZZWWDG1V1loa7Jl3T + FvzH83+vm8iG2qKnj6efTn4AVAqiuw0KZW5kc3RyZWFtDQplbmRvYmoNCjE4IDAgb2JqDQpbIDIy + Nl0gDQplbmRvYmoNCjE5IDAgb2JqDQo8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDE5Mzg5 + L0xlbmd0aDEgODE3NDA+Pg0Kc3RyZWFtDQp4nOx9B3xUVdr+OfdOy8wkM5NkkkkmYWaYJASGFCCB + BJAMpNA7gwk1IYWAAQKEIgJGUdAo9l7Rta1YJgNqwO5iWQv2vhZ2XVdXse3qKgL5nnPfORDY1f+3 + 1fX7z5s88zznPeWe+t6TH8kPxhljdnzoWG3lqIoZBf1stzPumcAYf6Jy1ITyq5qr4hnPzGBMKZw8 + vWDgtY/W3YO8s1Crtn5JXetF716EsiddgvwP6le3eXe1vlHM2LYLGNM/0NS6cMnGd9UhjC1dy1h8 + YGHLyU2vVu4oYuwW1LF90NxY1/DtxJPDaM+K9gY3wxF/Z8Z+pCuQzmpe0rZ2xDjjAaQ/YmzRHS3L + 6uvyGvrezNi9hSg+c0nd2tZ8c/abyG9Gee+Sxra6q07ftppxXzLSZyytW9J43YGv5zP2KfpbuLJ1 + 2cq2bjfbzHjGQVG+dUVja9LC3mmMnXITHvcJE3NhGLpv9uI1H8+3Df+apZmYsPs/Wf+s4NfHrpn8 + /YFD7XGfmgYjGccURoZ6BnaY8T3mbd8fOLAt7lOtpR6WdofwuPuxdmZnw6EVcAHbwljiYO25nKm6 + AL+A6ZlJf6V+EJrsRay+wDYrzMQUm15RFJ2q6D5g+d2PsKxTtB7AJk73elmQsexnqQ/G65QcL+Pd + Ik+9T58gRsqSdQlHe8OfZ//fm+F1dsdP3Yf/K6ZrZDf81H34e8xg+Pf0V93/85qHf4fpiljtT92H + mP3zpjzNrvyp+/BzMOX3bMw/Uo9/w1r+1X2JWcxiFrOY/eOmXM3NP5hXy/b/J/vyczG1mJ3zU/ch + ZjGLWcxi9o+b7lHW9B9/5hJ23n/6mTGLWcxiFrOYxSxmMYtZzGIWs/+7Fvs5M2Yxi1nMYhazmMUs + ZjGLWcxiFrOYxey/23jst9FjFrOYxSxmMYtZzGIWs5jFLGYxi1nMYhazmMUsZjGLWcxiFrOYxSxm + MYtZzGIWs5jFLGYxi1nMYhazmMUsZjGLWcz+S6x790/dg5jF7Cc2NYqM6P8k1YEUlLKa6dhSpFOY + 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 + +xG3mmhL96QrfW1pvHxyGl+Wdmra+WmqzfW8Swm6+vavsqU+n/pe6uepuqRgat/8KpZiT/GmqE4x + tpSJM6o0LqsgHlCsjdWT4s+psjm5zelxKpWfO/lmpnIv54zbQaoJZXZyp6dKfZCLX6LTM84vYDMC + 47tMbNr4sGnK7DA/K5w9XXwGp84KG84Ks9Cs2dWdnJ9Xo/1OQjhZ/FKJlj5z61aWOWp8OHN6dUTd + ti1zVM34cLvQwaCmu4VmKFITmLdy1cpAdfAE5njf8YVDdT5sf96u2GzcZuu2KUEbOm9L8CQo4qM7 + QQ0mDBhSZYv3xCviozteTQnGwyPG18c6ZUaVzeKxKKEyy2SLErSUlVcFLXmFVX81zh1inPTkQNs8 + fMxb2RbQvpGq4atEMiC84ntlG9Lia5WWZoEfNSoGmr8S1iadbT9e67/d+E/dgZ+/0W/yjOxWzmAN + yibgdOA0oB04FdgIbADWA6cA64CTgbXAGmA1sApoA1YCy4FWYBmwFFgCtAAnAYuBRUAzsBBoAhqB + BqAeWADUAbXAfGAeMBeYA8wGZgE1QDVwIjATCAEzgOnANGAqMAWYDEwCJgITgPHAOGAsMAYYDVQB + lUAFUA6MAkYCQaAMGAGcAAwHhgFDgVKgBBgCDAaKgSJgEDAQGAAUAgVAPpAH9AcCQD+gL5AL9AFy + gGwgC/ADvQEf4AU8QC8gE8gA3EA6kAa4gFQgBXACyUASkAg4ADtgAxKAeMAKWAAzEAeYACNgAPSA + bmQ3PlVAATjAWAOHjx8GDgEHge+BA8B3wLfAX4BvgK+BPwN/Ar4CvgS+AD4HPgP2A58CnwB/BD4G + PgL+AHwI/B74APgd8FtgH/A+8B7wLvAO8BvgbeAt4E3gDeB14DXgVeAV4GXgJeBF4AXgeWAv8Bzw + LPAM8DTwa+Ap4EngCeBxYA/wK+Ax4FHgEeBh4CHgQeAB4H5gN7AL6ALuA+4F7gF2AjuACNAJhIG7 + gbuAO4E7gO3A7cAvgduAW4FbgJuBm4BfADcCNwDbgOuB64BrgWuAq4GrgCuBK4DLgcuAS4FLgIuB + i4ALgQuA84HzgK3AucA5QAdwNnAWsAXYDJzJGka2c5x/jvPPcf45zj/H+ec4/xznn+P8c5x/jvPP + cf45zj/H+ec4/xznn+P8c5x/jvPPVwCIARwxgCMGcMQAjhjAEQM4YgBHDOCIARwxgCMGcMQAjhjA + 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 + uHNOntVntltoN7fZZcns+b3njj5RYD9zj2wYh93jRY32F+XYd7t63rI9HL47es2yJ/Lzkt3tQlaU + DZGNmzl6SlRiyln72V+ccO/r8eSz3lNExze9zb7aw4rjv/BG9zYrTm3xzCvteuW29FBk9/xRPk9c + Rq+cqR877Y8jHRlRnfZOdt6+fI2F/cK6rFdZnDnlnXp2yh4glHjZyFUD5829NvaP6hlPojpffBN+ + fGfIA1WHDdc3+tYdv/DEceN8v7J5cY7d7R5bTzrjVcNzu/Jwf8DPgxZ/K+xq+6Pt3h/Xb7i++bfz + riX9BAPCeCN93b+s/MP3xUV2N0I+b3PapCyVetVWfU0vC8uVeCe/HsU9XeIy7Kqr4p5envGlh9p1 + tGBV7vVenWTLaoaI0ifUeEq6lE2oPffkxeOWFQt8L/+0ouz4/SES/tVBVl9P7GGZZ/mLZWWOV4td + YvGWh7//2Ia1q5Z/wNHv/kVZ4L2yZxWD557FzlRE7Ux7UrbCpm+M8/xCr+OY//7KhSt6CvLahvx4 + YunSJaNGtXsVM8dr7eton8Kni1/szt7at+zK3Zx893t3QucXuPV9f6bKJyvnxsZXb6bctSu8Iw/f + +IasY8VOr63NUUpmdf9lUWp8wu7C/u0q8pvxvEc94NtW9ny9+ujyIXsqShb2H5kaHyOo7n1oYe4g + 28KY7LcFS/bsVCpHHBLpXBxGJf7ELWZtIotZ6xg4ThbN+acLV9O/Dqy/OVJetA8mHzqIbZhce9M7 + L0CK+p4d15E0nXUlfeoXsrggtb0tjVw1/fGjM0XNa/13KmeO++6u+0VSarLEnptKJpd3KvRr8qu7 + yR8+TaWiY2H7j+7sZONfERGNajOrGMeSoqevHPvdYvVAX8vz3KGiwO1V/ax6ch09R23Ii04evDs0 + 2CnU+WRSRvsUy3OiWa635i1oKdcOYm+ousbxd+7gGGX7Wj5xdrTix9nSvuf3TmbVZj3gTvj14reH + 18+qm7ay35fq/DU4a8fbHVu/P3i77u3+idi5m9sXSZedCD+gODDs9e3XP7geLwtT1HW2fPwgemKz + /OOe7/uH/3RlQNvUWwdKrJvvXamY//X119X+sheffcZcF/NtO/4o71U7brQ4OjPi9aA2dQm5bvxv + 3q6JcZocnrJtxN4dK3kXJM67ugyYbsHp6TFzyNJpN2+5T7pVOu+ngmc97npkFzuOwA/vSO2YtdzB + q7Zj8tm+7EHekyuKGX7geNK+3keW3GKGKxhqhkJz+j92Id70nTaTmBxCupmGpF39HUMcMDfOWHCd + 0C+Ou3BDeFz4GvhBREbcHhe+ONHvwN2OU11Vp6qzPBd+V9DokgnGCjfe5UvGpP5Mj7Q+Zfq7tmP7 + +Ae5+x8Y8uTc1cf3v1hbutDnFi+z+V37K+dOT4vvMKLjstoFhUPnB5zoMlTWYs1vVzeOaam8w291 + XH/hvfqBTUXvxY/7jPyyk2jgYq/7jKoAYWmk96n7L+2sxHdTCsZYF4wp07gMK5cN8rPwyjiw+WDG + olP3xRf5udFb3148d/1t8bvrkrRjP1zdXOYg33di5JxHT3Mjv7+0r+CXdz8v32a3hGuRdD122/bv + vVKGVDwZd3v2xWk7NtkV3XVZ1KPLiOyvjw7h/3J7+enzy6punTtvP9plwNne7FOq7b/6h4+729uh + eqxVv8vdnqxNi908ORd/sHGv/+OcFZO5XX+fFon9H5Hg2m4NCmVuZHN0cmVhbQ0KZW5kb2JqDQoy + MCAwIG9iag0KPDwvVHlwZS9NZXRhZGF0YS9TdWJ0eXBlL1hNTC9MZW5ndGggMzA4ND4+DQpzdHJl + YW0NCjw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+ + PHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iMy4xLTcwMSI+Cjxy + ZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4 + LW5zIyI+CjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiICB4bWxuczpwZGY9Imh0dHA6Ly9u + cy5hZG9iZS5jb20vcGRmLzEuMy8iPgo8cGRmOlByb2R1Y2VyPk1pY3Jvc29mdMKuIFdvcmQgZm9y + IE9mZmljZSAzNjU8L3BkZjpQcm9kdWNlcj48L3JkZjpEZXNjcmlwdGlvbj4KPHJkZjpEZXNjcmlw + dGlvbiByZGY6YWJvdXQ9IiIgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMv + MS4xLyI+CjxkYzpjcmVhdG9yPjxyZGY6U2VxPjxyZGY6bGk+S3Jpc3RhIFByYXRpY288L3JkZjps + aT48L3JkZjpTZXE+PC9kYzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0 + aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAv + Ij4KPHhtcDpDcmVhdG9yVG9vbD5NaWNyb3NvZnTCriBXb3JkIGZvciBPZmZpY2UgMzY1PC94bXA6 + Q3JlYXRvclRvb2w+PHhtcDpDcmVhdGVEYXRlPjIwMjAtMDMtMjBUMTA6NDQ6NDYtMDc6MDA8L3ht + cDpDcmVhdGVEYXRlPjx4bXA6TW9kaWZ5RGF0ZT4yMDIwLTAzLTIwVDEwOjQ0OjQ2LTA3OjAwPC94 + bXA6TW9kaWZ5RGF0ZT48L3JkZjpEZXNjcmlwdGlvbj4KPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJv + dXQ9IiIgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIj4KPHht + cE1NOkRvY3VtZW50SUQ+dXVpZDo4RjI5Q0E4Qy1FRThCLTQ3NTktQkM5Qi1BMDhFRkVFNjYyMDE8 + L3htcE1NOkRvY3VtZW50SUQ+PHhtcE1NOkluc3RhbmNlSUQ+dXVpZDo4RjI5Q0E4Qy1FRThCLTQ3 + NTktQkM5Qi1BMDhFRkVFNjYyMDE8L3htcE1NOkluc3RhbmNlSUQ+PC9yZGY6RGVzY3JpcHRpb24+ + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgIAo8L3JkZjpSREY+PC94OnhtcG1ldGE+PD94cGFja2V0 + IGVuZD0idyI/Pg0KZW5kc3RyZWFtDQplbmRvYmoNCjIxIDAgb2JqDQo8PC9EaXNwbGF5RG9jVGl0 + bGUgdHJ1ZT4+DQplbmRvYmoNCjIyIDAgb2JqDQo8PC9UeXBlL1hSZWYvU2l6ZSAyMi9XWyAxIDQg + Ml0gL1Jvb3QgMSAwIFIvSW5mbyA5IDAgUi9JRFs8OENDQTI5OEY4QkVFNTk0N0JDOUJBMDhFRkVF + NjYyMDE+PDhDQ0EyOThGOEJFRTU5NDdCQzlCQTA4RUZFRTY2MjAxPl0gL0ZpbHRlci9GbGF0ZURl + Y29kZS9MZW5ndGggODM+Pg0Kc3RyZWFtDQp4nC3LsQFAQAyF4ZfcHbW1KJUKnTHYxgR6k1Ba48R7 + UuQrkh+IqdVid8DHLm5iD/GDpInkXmwibs7cRRJZFGHi/2yiKyfzdhALGVcyX8ALyoALUA0KZW5k + c3RyZWFtDQplbmRvYmoNCnhyZWYNCjAgMjMNCjAwMDAwMDAwMTAgNjU1MzUgZg0KMDAwMDAwMDAx + NyAwMDAwMCBuDQowMDAwMDAwMTY2IDAwMDAwIG4NCjAwMDAwMDAyMjIgMDAwMDAgbg0KMDAwMDAw + MDQ4NiAwMDAwMCBuDQowMDAwMDAwNjkyIDAwMDAwIG4NCjAwMDAwMDA4NTkgMDAwMDAgbg0KMDAw + MDAwMTA5OCAwMDAwMCBuDQowMDAwMDAxMTUxIDAwMDAwIG4NCjAwMDAwMDEyMDQgMDAwMDAgbg0K + MDAwMDAwMDAxMSA2NTUzNSBmDQowMDAwMDAwMDEyIDY1NTM1IGYNCjAwMDAwMDAwMTMgNjU1MzUg + Zg0KMDAwMDAwMDAxNCA2NTUzNSBmDQowMDAwMDAwMDE1IDY1NTM1IGYNCjAwMDAwMDAwMTYgNjU1 + MzUgZg0KMDAwMDAwMDAxNyA2NTUzNSBmDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMDE4Njcg + MDAwMDAgbg0KMDAwMDAwMTg5NCAwMDAwMCBuDQowMDAwMDIxMzc0IDAwMDAwIG4NCjAwMDAwMjQ1 + NDEgMDAwMDAgbg0KMDAwMDAyNDU4NiAwMDAwMCBuDQp0cmFpbGVyDQo8PC9TaXplIDIzL1Jvb3Qg + MSAwIFIvSW5mbyA5IDAgUi9JRFs8OENDQTI5OEY4QkVFNTk0N0JDOUJBMDhFRkVFNjYyMDE+PDhD + Q0EyOThGOEJFRTU5NDdCQzlCQTA4RUZFRTY2MjAxPl0gPj4NCnN0YXJ0eHJlZg0KMjQ4NjgNCiUl + RU9GDQp4cmVmDQowIDANCnRyYWlsZXINCjw8L1NpemUgMjMvUm9vdCAxIDAgUi9JbmZvIDkgMCBS + L0lEWzw4Q0NBMjk4RjhCRUU1OTQ3QkM5QkEwOEVGRUU2NjIwMT48OENDQTI5OEY4QkVFNTk0N0JD + OUJBMDhFRkVFNjYyMDE+XSAvUHJldiAyNDg2OC9YUmVmU3RtIDI0NTg2Pj4NCnN0YXJ0eHJlZg0K + MjU0ODQNCiUlRU9G + headers: + Content-Type: + - application/pdf + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/453f8f6c-6c05-49e4-aca5-021ca0b2d87f/analyze?includeTextDetails=false + response: + body: + string: '' + headers: + apim-request-id: f783555a-4a07-4f70-88a6-6231346db487 + content-length: '0' + date: Mon, 15 Jun 2020 20:08:28 GMT + operation-location: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/453f8f6c-6c05-49e4-aca5-021ca0b2d87f/analyzeresults/dfacccb6-1a1b-4607-86bd-db85568ff01a + strict-transport-security: max-age=31536000; includeSubDomains; preload + x-content-type-options: nosniff + x-envoy-upstream-service-time: '361' + status: + code: 202 + message: Accepted + url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0-preview/custom/models/453f8f6c-6c05-49e4-aca5-021ca0b2d87f/analyze?includeTextDetails=false +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/453f8f6c-6c05-49e4-aca5-021ca0b2d87f/analyzeresults/dfacccb6-1a1b-4607-86bd-db85568ff01a + response: + body: + string: '{"status": "succeeded", "createdDateTime": "2020-06-15T20:08:28Z", + "lastUpdatedDateTime": "2020-06-15T20:08:32Z", "analyzeResult": {"version": + "2.0.0", "readResults": [{"page": 1, "angle": 0, "width": 8.5, "height": 11.0, + "unit": "inch", "lines": []}], "pageResults": [{"page": 1, "keyValuePairs": + [], "tables": [], "clusterId": null}], "documentResults": [], "errors": []}}' + headers: + apim-request-id: 3d04e0d7-03ed-4f5c-ab34-96ecce4138eb + content-length: '374' + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 20:08:33 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + x-content-type-options: nosniff + x-envoy-upstream-service-time: '199' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/453f8f6c-6c05-49e4-aca5-021ca0b2d87f/analyzeresults/dfacccb6-1a1b-4607-86bd-db85568ff01a +version: 1 diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms_from_url.test_custom_forms_encoded_url.yaml b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms_from_url.test_custom_forms_encoded_url.yaml new file mode 100644 index 00000000000..c9d7f7d50ef --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms_from_url.test_custom_forms_encoded_url.yaml @@ -0,0 +1,42 @@ +interactions: +- request: + body: 'b''{"source": "https://fakeuri.com/blank%20space"}''' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '47' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/analyze?includeTextDetails=false + response: + body: + string: '{"error": {"code": "1001", "message": "Specified model not found or + not ready, Model Id: 00000000-0000-0000-0000-000000000000"}}' + headers: + apim-request-id: + - 5b94e3e4-4dbf-47f7-94d8-4e0e85982941 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 18:21:57 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '13' + status: + code: 400 + message: Bad Request +version: 1 diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms_from_url_async.test_custom_forms_encoded_url.yaml b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms_from_url_async.test_custom_forms_encoded_url.yaml new file mode 100644 index 00000000000..9ffa6e6e91f --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_custom_forms_from_url_async.test_custom_forms_encoded_url.yaml @@ -0,0 +1,30 @@ +interactions: +- request: + body: 'b''{"source": "https://fakeuri.com/blank%20space"}''' + headers: + Content-Length: + - '47' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/analyze?includeTextDetails=false + response: + body: + string: '{"error": {"code": "1001", "message": "Specified model not found or + not ready, Model Id: 00000000-0000-0000-0000-000000000000"}}' + headers: + apim-request-id: b0aacb56-81aa-4ba0-bcb0-d8ffeb7d81fb + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 18:24:07 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '1018' + status: + code: 400 + message: Bad Request + url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0-preview/custom/models/00000000-0000-0000-0000-000000000000/analyze?includeTextDetails=false +version: 1 diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_receipt_from_url.test_receipts_encoded_url.yaml b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_receipt_from_url.test_receipts_encoded_url.yaml new file mode 100644 index 00000000000..927d4d5156b --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_receipt_from_url.test_receipts_encoded_url.yaml @@ -0,0 +1,43 @@ +interactions: +- request: + body: 'b''{"source": "https://fakeuri.com/blank%20space"}''' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '47' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/prebuilt/receipt/analyze?includeTextDetails=false + response: + body: + string: '{"error": {"code": "FailedToDownloadImage", "innerError": {"requestId": + "25ef376a-66b0-400f-96bf-033e614f965f"}, "message": "Failed to download image + from input URL."}}' + headers: + apim-request-id: + - 25ef376a-66b0-400f-96bf-033e614f965f + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 18:26:28 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '5975' + status: + code: 400 + message: Bad Request +version: 1 diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_receipt_from_url_async.test_receipts_encoded_url.yaml b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_receipt_from_url_async.test_receipts_encoded_url.yaml new file mode 100644 index 00000000000..a0b87d10319 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_receipt_from_url_async.test_receipts_encoded_url.yaml @@ -0,0 +1,31 @@ +interactions: +- request: + body: 'b''{"source": "https://fakeuri.com/blank%20space"}''' + headers: + Content-Length: + - '47' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/prebuilt/receipt/analyze?includeTextDetails=false + response: + body: + string: '{"error": {"code": "FailedToDownloadImage", "innerError": {"requestId": + "b256740a-1a9f-4d69-8304-928f7e29befb"}, "message": "Failed to download image + from input URL."}}' + headers: + apim-request-id: b256740a-1a9f-4d69-8304-928f7e29befb + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 18:28:14 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '3921' + status: + code: 400 + message: Bad Request + url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0-preview/prebuilt/receipt/analyze?includeTextDetails=false +version: 1 diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_training.test_training_encoded_url.yaml b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_training.test_training_encoded_url.yaml new file mode 100644 index 00000000000..e4de7a89865 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_training.test_training_encoded_url.yaml @@ -0,0 +1,638 @@ +interactions: +- request: + body: 'b''{"source": "https://fakeuri.com/blank%20space", "sourceFilter": {"prefix": + "", "includeSubFolders": false}, "useLabelFile": false}''' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '130' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models + response: + body: + string: '' + headers: + apim-request-id: + - 0b8029d2-9586-4db7-b72d-dc71a3f5eb57 + content-length: + - '0' + date: + - Mon, 15 Jun 2020 18:58:04 GMT + location: + - https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/f3ac1100-fae4-4edb-b428-a0d50c74e742 + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '1313' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/f3ac1100-fae4-4edb-b428-a0d50c74e742?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "f3ac1100-fae4-4edb-b428-a0d50c74e742", "status": + "creating", "createdDateTime": "2020-06-15T18:58:03Z", "lastUpdatedDateTime": + "2020-06-15T18:58:03Z"}}' + headers: + apim-request-id: + - 1c07f69a-22e3-4da9-b83e-ac12558f1d63 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 18:58:09 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '209' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/f3ac1100-fae4-4edb-b428-a0d50c74e742?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "f3ac1100-fae4-4edb-b428-a0d50c74e742", "status": + "creating", "createdDateTime": "2020-06-15T18:58:03Z", "lastUpdatedDateTime": + "2020-06-15T18:58:03Z"}}' + headers: + apim-request-id: + - 913fbe7a-01e1-48e7-a1d2-30620d76e3a2 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 18:58:14 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '157' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/f3ac1100-fae4-4edb-b428-a0d50c74e742?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "f3ac1100-fae4-4edb-b428-a0d50c74e742", "status": + "creating", "createdDateTime": "2020-06-15T18:58:03Z", "lastUpdatedDateTime": + "2020-06-15T18:58:03Z"}}' + headers: + apim-request-id: + - f57fdaa5-0627-49b0-a4b9-33f1817ec9d8 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 18:58:20 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '171' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/f3ac1100-fae4-4edb-b428-a0d50c74e742?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "f3ac1100-fae4-4edb-b428-a0d50c74e742", "status": + "creating", "createdDateTime": "2020-06-15T18:58:03Z", "lastUpdatedDateTime": + "2020-06-15T18:58:03Z"}}' + headers: + apim-request-id: + - 94407af0-86fb-47e3-90c1-44e900220ad4 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 18:58:25 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '157' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/f3ac1100-fae4-4edb-b428-a0d50c74e742?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "f3ac1100-fae4-4edb-b428-a0d50c74e742", "status": + "creating", "createdDateTime": "2020-06-15T18:58:03Z", "lastUpdatedDateTime": + "2020-06-15T18:58:03Z"}}' + headers: + apim-request-id: + - ab67daae-9642-4927-9d21-5d3e112dcbe0 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 18:58:29 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '52' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/f3ac1100-fae4-4edb-b428-a0d50c74e742?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "f3ac1100-fae4-4edb-b428-a0d50c74e742", "status": + "creating", "createdDateTime": "2020-06-15T18:58:03Z", "lastUpdatedDateTime": + "2020-06-15T18:58:03Z"}}' + headers: + apim-request-id: + - e9d797d5-a225-4849-9cb9-1d6c8f4e35b7 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 18:58:35 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '188' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/f3ac1100-fae4-4edb-b428-a0d50c74e742?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "f3ac1100-fae4-4edb-b428-a0d50c74e742", "status": + "creating", "createdDateTime": "2020-06-15T18:58:03Z", "lastUpdatedDateTime": + "2020-06-15T18:58:03Z"}}' + headers: + apim-request-id: + - b3dd9764-e86f-4b2d-8612-cdb021fe4ae0 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 18:58:46 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '5190' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/f3ac1100-fae4-4edb-b428-a0d50c74e742?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "f3ac1100-fae4-4edb-b428-a0d50c74e742", "status": + "creating", "createdDateTime": "2020-06-15T18:58:03Z", "lastUpdatedDateTime": + "2020-06-15T18:58:03Z"}}' + headers: + apim-request-id: + - 1b3f4c13-2991-4e77-90b7-d1156432485a + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 18:58:51 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '152' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/f3ac1100-fae4-4edb-b428-a0d50c74e742?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "f3ac1100-fae4-4edb-b428-a0d50c74e742", "status": + "creating", "createdDateTime": "2020-06-15T18:58:03Z", "lastUpdatedDateTime": + "2020-06-15T18:58:03Z"}}' + headers: + apim-request-id: + - 7b404408-c76e-461f-87f6-5261567ad59a + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 18:58:56 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '166' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/f3ac1100-fae4-4edb-b428-a0d50c74e742?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "f3ac1100-fae4-4edb-b428-a0d50c74e742", "status": + "creating", "createdDateTime": "2020-06-15T18:58:03Z", "lastUpdatedDateTime": + "2020-06-15T18:58:03Z"}}' + headers: + apim-request-id: + - 972a96b3-fc68-4ff4-9995-5d7451268393 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 18:59:02 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '157' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/f3ac1100-fae4-4edb-b428-a0d50c74e742?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "f3ac1100-fae4-4edb-b428-a0d50c74e742", "status": + "creating", "createdDateTime": "2020-06-15T18:58:03Z", "lastUpdatedDateTime": + "2020-06-15T18:58:03Z"}}' + headers: + apim-request-id: + - aab792f7-5c62-4206-9ca5-480879aad146 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 18:59:12 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '5169' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/f3ac1100-fae4-4edb-b428-a0d50c74e742?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "f3ac1100-fae4-4edb-b428-a0d50c74e742", "status": + "creating", "createdDateTime": "2020-06-15T18:58:03Z", "lastUpdatedDateTime": + "2020-06-15T18:58:03Z"}}' + headers: + apim-request-id: + - 06433fab-6468-4dd5-8171-282997cac442 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 18:59:17 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '152' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/f3ac1100-fae4-4edb-b428-a0d50c74e742?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "f3ac1100-fae4-4edb-b428-a0d50c74e742", "status": + "creating", "createdDateTime": "2020-06-15T18:58:03Z", "lastUpdatedDateTime": + "2020-06-15T18:58:03Z"}}' + headers: + apim-request-id: + - f2338ce8-420b-47a9-9fde-d53ab9b3e70b + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 18:59:23 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '156' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/f3ac1100-fae4-4edb-b428-a0d50c74e742?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "f3ac1100-fae4-4edb-b428-a0d50c74e742", "status": + "creating", "createdDateTime": "2020-06-15T18:58:03Z", "lastUpdatedDateTime": + "2020-06-15T18:58:03Z"}}' + headers: + apim-request-id: + - 9e3345e5-1d2f-4836-91a0-3c94edc84922 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 18:59:27 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '53' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/f3ac1100-fae4-4edb-b428-a0d50c74e742?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "f3ac1100-fae4-4edb-b428-a0d50c74e742", "status": + "creating", "createdDateTime": "2020-06-15T18:58:03Z", "lastUpdatedDateTime": + "2020-06-15T18:58:03Z"}}' + headers: + apim-request-id: + - 4c3d5398-01f4-4616-9d55-6683ef7f7f7b + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 18:59:33 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '53' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/f3ac1100-fae4-4edb-b428-a0d50c74e742?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "f3ac1100-fae4-4edb-b428-a0d50c74e742", "status": + "invalid", "createdDateTime": "2020-06-15T18:58:03Z", "lastUpdatedDateTime": + "2020-06-15T18:59:35Z"}, "keys": {"clusters": {}}, "trainResult": {"trainingDocuments": + [], "errors": [{"code": "2012", "message": "Unable to list blobs on the Azure + blob storage account."}]}}' + headers: + apim-request-id: + - f751b1c9-2e05-44c5-909a-55c8966ab354 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jun 2020 18:59:38 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '961' + x-ms-cs-error-code: + - '2012' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_training_async.test_training_encoded_url.yaml b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_training_async.test_training_encoded_url.yaml new file mode 100644 index 00000000000..8e9e4496258 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/recordings/test_training_async.test_training_encoded_url.yaml @@ -0,0 +1,433 @@ +interactions: +- request: + body: 'b''{"source": "https://fakeuri.com/blank%20space", "sourceFilter": {"prefix": + "", "includeSubFolders": false}, "useLabelFile": false}''' + headers: + Content-Length: + - '130' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models + response: + body: + string: '' + headers: + apim-request-id: 8f9f92f4-ab5e-4c58-a420-dda9e2c05512 + content-length: '0' + date: Mon, 15 Jun 2020 19:04:51 GMT + location: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd + strict-transport-security: max-age=31536000; includeSubDomains; preload + x-content-type-options: nosniff + x-envoy-upstream-service-time: '228' + status: + code: 201 + message: Created + url: https://centraluseuap.api.cognitive.microsoft.com//formrecognizer/v2.0-preview/custom/models +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "39f91c56-f66f-407e-812c-3b9a001feacd", "status": + "creating", "createdDateTime": "2020-06-15T19:04:52Z", "lastUpdatedDateTime": + "2020-06-15T19:04:52Z"}}' + headers: + apim-request-id: cc2ac788-855b-4635-a6ec-dc46e77e413a + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 19:04:57 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '148' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "39f91c56-f66f-407e-812c-3b9a001feacd", "status": + "creating", "createdDateTime": "2020-06-15T19:04:52Z", "lastUpdatedDateTime": + "2020-06-15T19:04:52Z"}}' + headers: + apim-request-id: 773a3922-676d-4781-af86-622449bdbc6e + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 19:05:02 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '160' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "39f91c56-f66f-407e-812c-3b9a001feacd", "status": + "creating", "createdDateTime": "2020-06-15T19:04:52Z", "lastUpdatedDateTime": + "2020-06-15T19:04:52Z"}}' + headers: + apim-request-id: a68288e9-29cf-4bc7-a9ba-3d4bddbc99b8 + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 19:05:07 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '150' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "39f91c56-f66f-407e-812c-3b9a001feacd", "status": + "creating", "createdDateTime": "2020-06-15T19:04:52Z", "lastUpdatedDateTime": + "2020-06-15T19:04:52Z"}}' + headers: + apim-request-id: 7ffff9b7-1c16-4832-9ddb-604fa1ebe317 + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 19:05:13 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '143' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "39f91c56-f66f-407e-812c-3b9a001feacd", "status": + "creating", "createdDateTime": "2020-06-15T19:04:52Z", "lastUpdatedDateTime": + "2020-06-15T19:04:52Z"}}' + headers: + apim-request-id: 083fbfac-88c4-4628-8c27-a6ee9f7423d4 + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 19:05:18 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '157' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "39f91c56-f66f-407e-812c-3b9a001feacd", "status": + "creating", "createdDateTime": "2020-06-15T19:04:52Z", "lastUpdatedDateTime": + "2020-06-15T19:04:52Z"}}' + headers: + apim-request-id: 1a10f67f-28a8-4749-8f4f-deea10dd0fe4 + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 19:05:23 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '58' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "39f91c56-f66f-407e-812c-3b9a001feacd", "status": + "creating", "createdDateTime": "2020-06-15T19:04:52Z", "lastUpdatedDateTime": + "2020-06-15T19:04:52Z"}}' + headers: + apim-request-id: 6af74830-a874-4da4-a9fa-9df635ed5a57 + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 19:05:28 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '189' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "39f91c56-f66f-407e-812c-3b9a001feacd", "status": + "creating", "createdDateTime": "2020-06-15T19:04:52Z", "lastUpdatedDateTime": + "2020-06-15T19:04:52Z"}}' + headers: + apim-request-id: ce288b5b-8fe3-41b8-a529-9bc86a8dc7e7 + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 19:05:34 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '174' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "39f91c56-f66f-407e-812c-3b9a001feacd", "status": + "creating", "createdDateTime": "2020-06-15T19:04:52Z", "lastUpdatedDateTime": + "2020-06-15T19:04:52Z"}}' + headers: + apim-request-id: cbafe13a-dc66-4764-ac0d-cabb961a068d + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 19:05:39 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '45' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "39f91c56-f66f-407e-812c-3b9a001feacd", "status": + "creating", "createdDateTime": "2020-06-15T19:04:52Z", "lastUpdatedDateTime": + "2020-06-15T19:04:52Z"}}' + headers: + apim-request-id: ab0a49dc-bbf7-405b-ba72-ef4a139e847e + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 19:05:44 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '202' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "39f91c56-f66f-407e-812c-3b9a001feacd", "status": + "creating", "createdDateTime": "2020-06-15T19:04:52Z", "lastUpdatedDateTime": + "2020-06-15T19:04:52Z"}}' + headers: + apim-request-id: e36d9517-1d97-4fa7-be87-53eb0a4bdbf6 + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 19:05:50 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '1001' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "39f91c56-f66f-407e-812c-3b9a001feacd", "status": + "creating", "createdDateTime": "2020-06-15T19:04:52Z", "lastUpdatedDateTime": + "2020-06-15T19:04:52Z"}}' + headers: + apim-request-id: 936bb6e2-6182-4899-b1f0-f485de49d07f + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 19:05:55 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '55' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "39f91c56-f66f-407e-812c-3b9a001feacd", "status": + "creating", "createdDateTime": "2020-06-15T19:04:52Z", "lastUpdatedDateTime": + "2020-06-15T19:04:52Z"}}' + headers: + apim-request-id: 42f73d9c-751c-4b12-9199-a6268775a5eb + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 19:06:01 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '53' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "39f91c56-f66f-407e-812c-3b9a001feacd", "status": + "creating", "createdDateTime": "2020-06-15T19:04:52Z", "lastUpdatedDateTime": + "2020-06-15T19:04:52Z"}}' + headers: + apim-request-id: 86718cdb-68a6-4134-9684-3084eeecc406 + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 19:06:07 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '1009' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "39f91c56-f66f-407e-812c-3b9a001feacd", "status": + "creating", "createdDateTime": "2020-06-15T19:04:52Z", "lastUpdatedDateTime": + "2020-06-15T19:04:52Z"}}' + headers: + apim-request-id: 0ed716e4-2620-4d7f-99f5-014715244fc4 + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 19:06:12 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '197' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-formrecognizer/1.0.0b4 Python/3.7.3 (Windows-10-10.0.18362-SP0) + Python/3.7.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true + response: + body: + string: '{"modelInfo": {"modelId": "39f91c56-f66f-407e-812c-3b9a001feacd", "status": + "invalid", "createdDateTime": "2020-06-15T19:04:52Z", "lastUpdatedDateTime": + "2020-06-15T19:06:17Z"}, "keys": {"clusters": {}}, "trainResult": {"trainingDocuments": + [], "errors": [{"code": "2012", "message": "Unable to list blobs on the Azure + blob storage account."}]}}' + headers: + apim-request-id: 8d03ed67-430b-4b51-af2f-f008284854ce + content-type: application/json; charset=utf-8 + date: Mon, 15 Jun 2020 19:06:17 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '50' + x-ms-cs-error-code: '2012' + status: + code: 200 + message: OK + url: https://centraluseuap.api.cognitive.microsoft.com/formrecognizer/v2.0-preview/custom/models/39f91c56-f66f-407e-812c-3b9a001feacd?includeKeys=true +version: 1 diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_content_from_url.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_content_from_url.py index caeef8752c9..6726de20b83 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_content_from_url.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_content_from_url.py @@ -20,6 +20,14 @@ class TestContentFromUrl(FormRecognizerTest): + @GlobalFormRecognizerAccountPreparer() + @GlobalClientPreparer() + def test_content_encoded_url(self, client): + try: + poller = client.begin_recognize_content_from_url("https://fakeuri.com/blank%20space") + except HttpResponseError as e: + self.assertIn("https://fakeuri.com/blank%20space", e.response.request.body) + @GlobalFormRecognizerAccountPreparer() def test_content_url_bad_endpoint(self, resource_group, location, form_recognizer_account, form_recognizer_account_key): with self.assertRaises(ServiceRequestError): diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_content_from_url_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_content_from_url_async.py index c40afea312f..0c94b7a9fb6 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_content_from_url_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_content_from_url_async.py @@ -21,6 +21,14 @@ class TestContentFromUrlAsync(AsyncFormRecognizerTest): + @GlobalFormRecognizerAccountPreparer() + @GlobalClientPreparer() + async def test_content_encoded_url(self, client): + try: + poller = await client.begin_recognize_content_from_url("https://fakeuri.com/blank%20space") + except HttpResponseError as e: + self.assertIn("https://fakeuri.com/blank%20space", e.response.request.body) + @GlobalFormRecognizerAccountPreparer() async def test_content_url_bad_endpoint(self, resource_group, location, form_recognizer_account, form_recognizer_account_key): with self.assertRaises(ServiceRequestError): diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_content_type.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_content_type.py index 1cd393cf3a5..f0c89a96bb9 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_content_type.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_content_type.py @@ -44,13 +44,17 @@ def test_png_bytes(self): content_type = get_content_type(myfile) self.assertEqual(content_type, "image/png") - def test_tiff(self): + def test_tiff_little_endian(self): with open(self.invoice_tiff, "rb") as fd: content_type = get_content_type(fd) self.assertEqual(content_type, "image/tiff") - def test_tiff_bytes(self): + def test_tiff_little_endian_bytes(self): with open(self.invoice_tiff, "rb") as fd: myfile = fd.read() content_type = get_content_type(myfile) self.assertEqual(content_type, "image/tiff") + + def test_tiff_big_endian(self): + content_type = get_content_type(b"\x4D\x4D\x00\x2A") + self.assertEqual(content_type, "image/tiff") diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_copy_model.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_copy_model.py index 8904bbe2974..97413a8ce15 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_copy_model.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_copy_model.py @@ -66,6 +66,21 @@ def test_copy_model_fail(self, client, container_sas_url, location, resource_id) poller = client.begin_copy_model(model.model_id, target=target) copy = poller.result() + @GlobalFormRecognizerAccountPreparer() + @GlobalClientPreparer(training=True, copy=True) + def test_copy_model_fail_bad_model_id(self, client, container_sas_url, location, resource_id): + pytest.skip("service team will tell us when to enable this test") + + poller = client.begin_training(container_sas_url, use_training_labels=False) + model = poller.result() + + target = client.get_copy_authorization(resource_region=location, resource_id=resource_id) + + with self.assertRaises(HttpResponseError): + # give bad model_id + poller = client.begin_copy_model("00000000-0000-0000-0000-000000000000", target=target) + copy = poller.result() + @GlobalFormRecognizerAccountPreparer() @GlobalClientPreparer(training=True, copy=True) def test_copy_model_transform(self, client, container_sas_url, location, resource_id): diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_copy_model_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_copy_model_async.py index 18ff025e80d..0aeb818d1c1 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_copy_model_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_copy_model_async.py @@ -67,6 +67,21 @@ async def test_copy_model_fail(self, client, container_sas_url, location, resour poller = await client.begin_copy_model(model.model_id, target=target) copy = await poller.result() + @GlobalFormRecognizerAccountPreparer() + @GlobalClientPreparer(training=True, copy=True) + async def test_copy_model_fail_bad_model_id(self, client, container_sas_url, location, resource_id): + pytest.skip("service team will tell us when to enable this test") + + poller = await client.begin_training(container_sas_url, use_training_labels=False) + model = await poller.result() + + target = await client.get_copy_authorization(resource_region=location, resource_id=resource_id) + + with self.assertRaises(HttpResponseError): + # give bad model_id + poller = await client.begin_copy_model("00000000-0000-0000-0000-000000000000", target=target) + copy = await poller.result() + @GlobalFormRecognizerAccountPreparer() @GlobalClientPreparer(training=True, copy=True) async def test_copy_model_transform(self, client, container_sas_url, location, resource_id): diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms.py index 752d24666cf..babe62dcae1 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms.py @@ -79,6 +79,48 @@ def test_custom_form_damaged_file(self, client, container_sas_url): ) form = poller.result() + @GlobalFormRecognizerAccountPreparer() + @GlobalClientPreparer(training=True) + def test_custom_form_unlabeled_blank_page(self, client, container_sas_url): + fr_client = client.get_form_recognizer_client() + + poller = client.begin_training(container_sas_url, use_training_labels=False) + model = poller.result() + + with open(self.blank_pdf, "rb") as fd: + blank = fd.read() + poller = fr_client.begin_recognize_custom_forms( + model.model_id, + blank + ) + form = poller.result() + + self.assertEqual(len(form), 1) + self.assertEqual(form[0].page_range.first_page_number, 1) + self.assertEqual(form[0].page_range.last_page_number, 1) + self.assertIsNotNone(form[0].pages) + + @GlobalFormRecognizerAccountPreparer() + @GlobalClientPreparer(training=True) + def test_custom_form_labeled_blank_page(self, client, container_sas_url): + fr_client = client.get_form_recognizer_client() + + poller = client.begin_training(container_sas_url, use_training_labels=True) + model = poller.result() + + with open(self.blank_pdf, "rb") as fd: + blank = fd.read() + poller = fr_client.begin_recognize_custom_forms( + model.model_id, + blank + ) + form = poller.result() + + self.assertEqual(len(form), 1) + self.assertEqual(form[0].page_range.first_page_number, 1) + self.assertEqual(form[0].page_range.last_page_number, 1) + self.assertIsNotNone(form[0].pages) + @GlobalFormRecognizerAccountPreparer() @GlobalClientPreparer(training=True) def test_custom_form_unlabeled(self, client, container_sas_url): diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_async.py index 7b08ea902f4..575125c77d1 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_async.py @@ -87,6 +87,48 @@ async def test_custom_form_damaged_file(self, client, container_sas_url): ) result = await poller.result() + @GlobalFormRecognizerAccountPreparer() + @GlobalClientPreparer(training=True) + async def test_custom_form_unlabeled_blank_page(self, client, container_sas_url): + fr_client = client.get_form_recognizer_client() + + poller = await client.begin_training(container_sas_url, use_training_labels=False) + model = await poller.result() + + with open(self.blank_pdf, "rb") as fd: + blank = fd.read() + poller = await fr_client.begin_recognize_custom_forms( + model.model_id, + blank + ) + form = await poller.result() + + self.assertEqual(len(form), 1) + self.assertEqual(form[0].page_range.first_page_number, 1) + self.assertEqual(form[0].page_range.last_page_number, 1) + self.assertIsNotNone(form[0].pages) + + @GlobalFormRecognizerAccountPreparer() + @GlobalClientPreparer(training=True) + async def test_custom_form_labeled_blank_page(self, client, container_sas_url): + fr_client = client.get_form_recognizer_client() + + poller = await client.begin_training(container_sas_url, use_training_labels=True) + model = await poller.result() + + with open(self.blank_pdf, "rb") as fd: + blank = fd.read() + poller = await fr_client.begin_recognize_custom_forms( + model.model_id, + blank + ) + form = await poller.result() + + self.assertEqual(len(form), 1) + self.assertEqual(form[0].page_range.first_page_number, 1) + self.assertEqual(form[0].page_range.last_page_number, 1) + self.assertIsNotNone(form[0].pages) + @GlobalFormRecognizerAccountPreparer() @GlobalClientPreparer(training=True) async def test_custom_form_unlabeled(self, client, container_sas_url): diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_from_url.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_from_url.py index de974ac79af..c23cddbe848 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_from_url.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_from_url.py @@ -20,6 +20,17 @@ class TestCustomFormsFromUrl(FormRecognizerTest): + @GlobalFormRecognizerAccountPreparer() + def test_custom_forms_encoded_url(self, resource_group, location, form_recognizer_account, form_recognizer_account_key): + client = FormRecognizerClient(form_recognizer_account, AzureKeyCredential(form_recognizer_account_key)) + try: + poller = client.begin_recognize_custom_forms_from_url( + model_id="00000000-0000-0000-0000-000000000000", + form_url="https://fakeuri.com/blank%20space" + ) + except HttpResponseError as e: + self.assertIn("https://fakeuri.com/blank%20space", e.response.request.body) + @GlobalFormRecognizerAccountPreparer() def test_custom_form_none_model_id(self, resource_group, location, form_recognizer_account, form_recognizer_account_key): client = FormRecognizerClient(form_recognizer_account, AzureKeyCredential(form_recognizer_account_key)) diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_from_url_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_from_url_async.py index da5a03505a2..abdde34862d 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_from_url_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_from_url_async.py @@ -21,6 +21,17 @@ class TestCustomFormsFromUrlAsync(AsyncFormRecognizerTest): + @GlobalFormRecognizerAccountPreparer() + async def test_custom_forms_encoded_url(self, resource_group, location, form_recognizer_account, form_recognizer_account_key): + client = FormRecognizerClient(form_recognizer_account, AzureKeyCredential(form_recognizer_account_key)) + try: + poller = await client.begin_recognize_custom_forms_from_url( + model_id="00000000-0000-0000-0000-000000000000", + form_url="https://fakeuri.com/blank%20space" + ) + except HttpResponseError as e: + self.assertIn("https://fakeuri.com/blank%20space", e.response.request.body) + @GlobalFormRecognizerAccountPreparer() async def test_custom_form_none_model_id(self, resource_group, location, form_recognizer_account, form_recognizer_account_key): client = FormRecognizerClient(form_recognizer_account, AzureKeyCredential(form_recognizer_account_key)) diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_receipt_from_url.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_receipt_from_url.py index c3f6945d919..18a97f0f03e 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_receipt_from_url.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_receipt_from_url.py @@ -42,6 +42,14 @@ def test_active_directory_auth(self): result = poller.result() self.assertIsNotNone(result) + @GlobalFormRecognizerAccountPreparer() + @GlobalClientPreparer() + def test_receipts_encoded_url(self, client): + try: + poller = client.begin_recognize_receipts_from_url("https://fakeuri.com/blank%20space") + except HttpResponseError as e: + self.assertIn("https://fakeuri.com/blank%20space", e.response.request.body) + @GlobalFormRecognizerAccountPreparer() def test_receipt_url_bad_endpoint(self, resource_group, location, form_recognizer_account, form_recognizer_account_key): with self.assertRaises(ServiceRequestError): diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_receipt_from_url_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_receipt_from_url_async.py index 6770833364f..5b8911aa4f8 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_receipt_from_url_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_receipt_from_url_async.py @@ -46,6 +46,14 @@ async def test_active_directory_auth_async(self): result = await poller.result() self.assertIsNotNone(result) + @GlobalFormRecognizerAccountPreparer() + @GlobalClientPreparer() + async def test_receipts_encoded_url(self, client): + try: + poller = await client.begin_recognize_receipts_from_url("https://fakeuri.com/blank%20space") + except HttpResponseError as e: + self.assertIn("https://fakeuri.com/blank%20space", e.response.request.body) + @GlobalFormRecognizerAccountPreparer() async def test_receipt_url_bad_endpoint(self, resource_group, location, form_recognizer_account, form_recognizer_account_key): with self.assertRaises(ServiceRequestError): diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_training.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_training.py index 5810557853d..29a547a2348 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_training.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_training.py @@ -36,6 +36,17 @@ def check_poll_value(poll): poller2.wait() check_poll_value(poller2._polling_method._timeout) # goes back to client default + @GlobalFormRecognizerAccountPreparer() + @GlobalClientPreparer() + def test_training_encoded_url(self, client): + with self.assertRaises(HttpResponseError): + poller = client.begin_training( + training_files_url="https://fakeuri.com/blank%20space", + use_training_labels=False + ) + self.assertIn("https://fakeuri.com/blank%20space", poller._polling_method._initial_response.http_request.body) + poller.wait() + @GlobalFormRecognizerAccountPreparer() def test_training_auth_bad_key(self, resource_group, location, form_recognizer_account, form_recognizer_account_key): client = FormTrainingClient(form_recognizer_account, AzureKeyCredential("xxxx")) diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_training_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_training_async.py index 87ba872fd29..ddba4551403 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_training_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_training_async.py @@ -37,6 +37,17 @@ def check_poll_value(poll): await poller2.wait() check_poll_value(poller2._polling_method._timeout) # goes back to client default + @GlobalFormRecognizerAccountPreparer() + @GlobalClientPreparer() + async def test_training_encoded_url(self, client): + with self.assertRaises(HttpResponseError): + poller = await client.begin_training( + training_files_url="https://fakeuri.com/blank%20space", + use_training_labels=False + ) + self.assertIn("https://fakeuri.com/blank%20space", poller._polling_method._initial_response.http_request.body) + await poller.wait() + @GlobalFormRecognizerAccountPreparer() async def test_training_auth_bad_key(self, resource_group, location, form_recognizer_account, form_recognizer_account_key): client = FormTrainingClient(form_recognizer_account, AzureKeyCredential("xxxx"))