diff --git a/sdk/formrecognizer/Azure.AI.FormRecognizer/src/FormRecognizerClient.cs b/sdk/formrecognizer/Azure.AI.FormRecognizer/src/FormRecognizerClient.cs
index 5a54c72ef939..fe5676461e8b 100644
--- a/sdk/formrecognizer/Azure.AI.FormRecognizer/src/FormRecognizerClient.cs
+++ b/sdk/formrecognizer/Azure.AI.FormRecognizer/src/FormRecognizerClient.cs
@@ -58,7 +58,7 @@ public FormRecognizerClient(Uri endpoint, AzureKeyCredential credential, FormRec
Diagnostics = new ClientDiagnostics(options);
var pipeline = HttpPipelineBuilder.Build(options, new AzureKeyCredentialPolicy(credential, Constants.AuthorizationHeader));
- ServiceClient = new FormRecognizerRestClient(Diagnostics, pipeline, endpoint.AbsoluteUri);
+ ServiceClient = new FormRecognizerRestClient(Diagnostics, pipeline, endpoint.AbsoluteUri, FormRecognizerClientOptions.GetVersionString(options.Version));
}
///
@@ -93,7 +93,7 @@ public FormRecognizerClient(Uri endpoint, TokenCredential credential, FormRecogn
Diagnostics = new ClientDiagnostics(options);
var pipeline = HttpPipelineBuilder.Build(options, new BearerTokenAuthenticationPolicy(credential, Constants.DefaultCognitiveScope));
- ServiceClient = new FormRecognizerRestClient(Diagnostics, pipeline, endpoint.AbsoluteUri);
+ ServiceClient = new FormRecognizerRestClient(Diagnostics, pipeline, endpoint.AbsoluteUri, FormRecognizerClientOptions.GetVersionString(options.Version));
}
///
diff --git a/sdk/formrecognizer/Azure.AI.FormRecognizer/src/FormTrainingClient.cs b/sdk/formrecognizer/Azure.AI.FormRecognizer/src/FormTrainingClient.cs
index ad0bce1fd753..cedbcebed1d1 100644
--- a/sdk/formrecognizer/Azure.AI.FormRecognizer/src/FormTrainingClient.cs
+++ b/sdk/formrecognizer/Azure.AI.FormRecognizer/src/FormTrainingClient.cs
@@ -66,7 +66,7 @@ public FormTrainingClient(Uri endpoint, AzureKeyCredential credential, FormRecog
Diagnostics = new ClientDiagnostics(options);
HttpPipeline pipeline = HttpPipelineBuilder.Build(options, new AzureKeyCredentialPolicy(credential, Constants.AuthorizationHeader));
- ServiceClient = new FormRecognizerRestClient(Diagnostics, pipeline, endpoint.AbsoluteUri);
+ ServiceClient = new FormRecognizerRestClient(Diagnostics, pipeline, endpoint.AbsoluteUri, FormRecognizerClientOptions.GetVersionString(options.Version));
}
///
@@ -101,7 +101,7 @@ public FormTrainingClient(Uri endpoint, TokenCredential credential, FormRecogniz
Diagnostics = new ClientDiagnostics(options);
var pipeline = HttpPipelineBuilder.Build(options, new BearerTokenAuthenticationPolicy(credential, Constants.DefaultCognitiveScope));
- ServiceClient = new FormRecognizerRestClient(Diagnostics, pipeline, endpoint.AbsoluteUri);
+ ServiceClient = new FormRecognizerRestClient(Diagnostics, pipeline, endpoint.AbsoluteUri, FormRecognizerClientOptions.GetVersionString(options.Version));
}
#region Training
diff --git a/sdk/formrecognizer/Azure.AI.FormRecognizer/src/Generated/FormRecognizerRestClient.cs b/sdk/formrecognizer/Azure.AI.FormRecognizer/src/Generated/FormRecognizerRestClient.cs
index 56833f3d1fe5..58c81e361d33 100644
--- a/sdk/formrecognizer/Azure.AI.FormRecognizer/src/Generated/FormRecognizerRestClient.cs
+++ b/sdk/formrecognizer/Azure.AI.FormRecognizer/src/Generated/FormRecognizerRestClient.cs
@@ -21,6 +21,7 @@ namespace Azure.AI.FormRecognizer
internal partial class FormRecognizerRestClient
{
private string endpoint;
+ private string apiVersion;
private ClientDiagnostics _clientDiagnostics;
private HttpPipeline _pipeline;
@@ -28,15 +29,21 @@ internal partial class FormRecognizerRestClient
/// The handler for diagnostic messaging in the client.
/// The HTTP pipeline for sending and receiving REST requests and responses.
/// Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus2.api.cognitive.microsoft.com).
- /// is null.
- public FormRecognizerRestClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, string endpoint)
+ /// Form Recognizer API version (for example: v2.0).
+ /// or is null.
+ public FormRecognizerRestClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, string endpoint, string apiVersion)
{
if (endpoint == null)
{
throw new ArgumentNullException(nameof(endpoint));
}
+ if (apiVersion == null)
+ {
+ throw new ArgumentNullException(nameof(apiVersion));
+ }
this.endpoint = endpoint;
+ this.apiVersion = apiVersion;
_clientDiagnostics = clientDiagnostics;
_pipeline = pipeline;
}
@@ -48,7 +55,8 @@ internal HttpMessage CreateTrainCustomModelAsyncRequest(TrainRequest trainReques
request.Method = RequestMethod.Post;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/custom/models", false);
request.Uri = uri;
request.Headers.Add("Accept", "application/json");
@@ -112,7 +120,8 @@ internal HttpMessage CreateGetCustomModelRequest(Guid modelId, bool? includeKeys
request.Method = RequestMethod.Get;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/custom/models/", false);
uri.AppendPath(modelId, true);
if (includeKeys != null)
@@ -175,7 +184,8 @@ internal HttpMessage CreateDeleteCustomModelRequest(Guid modelId)
request.Method = RequestMethod.Delete;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/custom/models/", false);
uri.AppendPath(modelId, true);
request.Uri = uri;
@@ -222,7 +232,8 @@ internal HttpMessage CreateAnalyzeWithCustomModelRequest(Guid modelId, FormConte
request.Method = RequestMethod.Post;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/custom/models/", false);
uri.AppendPath(modelId, true);
uri.AppendPath("/analyze", false);
@@ -293,7 +304,8 @@ internal HttpMessage CreateAnalyzeWithCustomModelRequest(Guid modelId, bool? inc
request.Method = RequestMethod.Post;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/custom/models/", false);
uri.AppendPath(modelId, true);
uri.AppendPath("/analyze", false);
@@ -364,7 +376,8 @@ internal HttpMessage CreateGetAnalyzeFormResultRequest(Guid modelId, Guid result
request.Method = RequestMethod.Get;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/custom/models/", false);
uri.AppendPath(modelId, true);
uri.AppendPath("/analyzeResults/", false);
@@ -425,7 +438,8 @@ internal HttpMessage CreateCopyCustomModelRequest(Guid modelId, CopyRequest copy
request.Method = RequestMethod.Post;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/custom/models/", false);
uri.AppendPath(modelId, true);
uri.AppendPath("/copy", false);
@@ -493,7 +507,8 @@ internal HttpMessage CreateGetCustomModelCopyResultRequest(Guid modelId, Guid re
request.Method = RequestMethod.Get;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/custom/models/", false);
uri.AppendPath(modelId, true);
uri.AppendPath("/copyResults/", false);
@@ -554,7 +569,8 @@ internal HttpMessage CreateGenerateModelCopyAuthorizationRequest()
request.Method = RequestMethod.Post;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/custom/models/copyAuthorization", false);
request.Uri = uri;
request.Headers.Add("Accept", "application/json");
@@ -610,7 +626,8 @@ internal HttpMessage CreateComposeCustomModelsAsyncRequest(ComposeRequest compos
request.Method = RequestMethod.Post;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/custom/models/compose", false);
request.Uri = uri;
request.Headers.Add("Accept", "application/json, text/json");
@@ -686,7 +703,8 @@ internal HttpMessage CreateAnalyzeBusinessCardAsyncRequest(FormContentType conte
request.Method = RequestMethod.Post;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/prebuilt/businessCard/analyze", false);
if (includeTextDetails != null)
{
@@ -759,7 +777,8 @@ internal HttpMessage CreateAnalyzeBusinessCardAsyncRequest(bool? includeTextDeta
request.Method = RequestMethod.Post;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/prebuilt/businessCard/analyze", false);
if (includeTextDetails != null)
{
@@ -832,7 +851,8 @@ internal HttpMessage CreateGetAnalyzeBusinessCardResultRequest(Guid resultId)
request.Method = RequestMethod.Get;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/prebuilt/businessCard/analyzeResults/", false);
uri.AppendPath(resultId, true);
request.Uri = uri;
@@ -889,7 +909,8 @@ internal HttpMessage CreateAnalyzeInvoiceAsyncRequest(FormContentType contentTyp
request.Method = RequestMethod.Post;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/prebuilt/invoice/analyze", false);
if (includeTextDetails != null)
{
@@ -962,7 +983,8 @@ internal HttpMessage CreateAnalyzeInvoiceAsyncRequest(bool? includeTextDetails,
request.Method = RequestMethod.Post;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/prebuilt/invoice/analyze", false);
if (includeTextDetails != null)
{
@@ -1035,7 +1057,8 @@ internal HttpMessage CreateGetAnalyzeInvoiceResultRequest(Guid resultId)
request.Method = RequestMethod.Get;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/prebuilt/invoice/analyzeResults/", false);
uri.AppendPath(resultId, true);
request.Uri = uri;
@@ -1092,7 +1115,8 @@ internal HttpMessage CreateAnalyzeIdDocumentAsyncRequest(FormContentType content
request.Method = RequestMethod.Post;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/prebuilt/idDocument/analyze", false);
if (includeTextDetails != null)
{
@@ -1159,7 +1183,8 @@ internal HttpMessage CreateAnalyzeIdDocumentAsyncRequest(bool? includeTextDetail
request.Method = RequestMethod.Post;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/prebuilt/idDocument/analyze", false);
if (includeTextDetails != null)
{
@@ -1226,7 +1251,8 @@ internal HttpMessage CreateGetAnalyzeIdDocumentResultRequest(Guid resultId)
request.Method = RequestMethod.Get;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/prebuilt/idDocument/analyzeResults/", false);
uri.AppendPath(resultId, true);
request.Uri = uri;
@@ -1283,7 +1309,8 @@ internal HttpMessage CreateAnalyzeReceiptAsyncRequest(FormContentType contentTyp
request.Method = RequestMethod.Post;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/prebuilt/receipt/analyze", false);
if (includeTextDetails != null)
{
@@ -1356,7 +1383,8 @@ internal HttpMessage CreateAnalyzeReceiptAsyncRequest(bool? includeTextDetails,
request.Method = RequestMethod.Post;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/prebuilt/receipt/analyze", false);
if (includeTextDetails != null)
{
@@ -1429,7 +1457,8 @@ internal HttpMessage CreateGetAnalyzeReceiptResultRequest(Guid resultId)
request.Method = RequestMethod.Get;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/prebuilt/receipt/analyzeResults/", false);
uri.AppendPath(resultId, true);
request.Uri = uri;
@@ -1486,7 +1515,8 @@ internal HttpMessage CreateAnalyzeLayoutAsyncRequest(FormContentType contentType
request.Method = RequestMethod.Post;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/layout/analyze", false);
if (pages != null)
{
@@ -1559,7 +1589,8 @@ internal HttpMessage CreateAnalyzeLayoutAsyncRequest(IEnumerable pages,
request.Method = RequestMethod.Post;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/layout/analyze", false);
if (pages != null)
{
@@ -1632,7 +1663,8 @@ internal HttpMessage CreateGetAnalyzeLayoutResultRequest(Guid resultId)
request.Method = RequestMethod.Get;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/layout/analyzeResults/", false);
uri.AppendPath(resultId, true);
request.Uri = uri;
@@ -1689,7 +1721,8 @@ internal HttpMessage CreateListCustomModelsRequest()
request.Method = RequestMethod.Get;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/custom/models", false);
uri.AppendQuery("op", "full", true);
request.Uri = uri;
@@ -1744,7 +1777,8 @@ internal HttpMessage CreateGetCustomModelsRequest()
request.Method = RequestMethod.Get;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendPath("/custom/models", false);
uri.AppendQuery("op", "summary", true);
request.Uri = uri;
@@ -1799,7 +1833,8 @@ internal HttpMessage CreateListCustomModelsNextPageRequest(string nextLink)
request.Method = RequestMethod.Get;
var uri = new RawRequestUriBuilder();
uri.AppendRaw(endpoint, false);
- uri.AppendRaw("/formrecognizer/v2.1-preview.3", false);
+ uri.AppendRaw("/formrecognizer/", false);
+ uri.AppendRaw(apiVersion, false);
uri.AppendRawNextLink(nextLink, false);
request.Uri = uri;
request.Headers.Add("Accept", "application/json");
diff --git a/sdk/formrecognizer/Azure.AI.FormRecognizer/src/autorest.md b/sdk/formrecognizer/Azure.AI.FormRecognizer/src/autorest.md
index 3d62ee2d6667..ba271afc7633 100644
--- a/sdk/formrecognizer/Azure.AI.FormRecognizer/src/autorest.md
+++ b/sdk/formrecognizer/Azure.AI.FormRecognizer/src/autorest.md
@@ -11,6 +11,25 @@ require:
- https://github.com/Azure/azure-rest-api-specs/blob/5a260d47021d8278c26dd6f946f4e6b97e0cd023/specification/cognitiveservices/data-plane/FormRecognizer/readme.md
```
+### Make the API version parameterized so we generate a multi-versioned API
+
+This should be fixed in the swagger, but we're working around it locally for now.
+``` yaml
+directive:
+- from: swagger-document
+ where: $["x-ms-parameterized-host"]
+ transform: >
+ $.hostTemplate = "{endpoint}/formrecognizer/{apiVersion}";
+ $.parameters.push({
+ "name": "apiVersion",
+ "description": "Form Recognizer API version (for example: v2.0).",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ });
+```
### Make AnalyzeResult.readResult optional
This is a temporary work-around
diff --git a/sdk/formrecognizer/Azure.AI.FormRecognizer/tests/FormRecognizerClient/FormRecognizerClientLiveTests.cs b/sdk/formrecognizer/Azure.AI.FormRecognizer/tests/FormRecognizerClient/FormRecognizerClientLiveTests.cs
index e5510654a330..5e534c44251d 100644
--- a/sdk/formrecognizer/Azure.AI.FormRecognizer/tests/FormRecognizerClient/FormRecognizerClientLiveTests.cs
+++ b/sdk/formrecognizer/Azure.AI.FormRecognizer/tests/FormRecognizerClient/FormRecognizerClientLiveTests.cs
@@ -25,12 +25,13 @@ public class FormRecognizerClientLiveTests : FormRecognizerLiveTestBase
/// Initializes a new instance of the class.
///
/// A flag used by the Azure Core Test Framework to differentiate between tests for asynchronous and synchronous methods.
- public FormRecognizerClientLiveTests(bool isAsync)
- : base(isAsync)
+ public FormRecognizerClientLiveTests(bool isAsync, FormRecognizerClientOptions.ServiceVersion serviceVersion)
+ : base(isAsync, serviceVersion)
{
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public void FormRecognizerClientCannotAuthenticateWithFakeApiKey()
{
var client = CreateFormRecognizerClient(apiKey: "fakeKey");
@@ -45,6 +46,7 @@ public void FormRecognizerClientCannotAuthenticateWithFakeApiKey()
#region StartRecognizeContent
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeContentCanAuthenticateWithTokenCredential()
{
var client = CreateFormRecognizerClient(useTokenCredential: true);
@@ -72,6 +74,7 @@ public async Task StartRecognizeContentCanAuthenticateWithTokenCredential()
[RecordedTest]
[TestCase(true)]
[TestCase(false)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeContentPopulatesFormPagePdf(bool useStream)
{
var client = CreateFormRecognizerClient();
@@ -179,6 +182,7 @@ public async Task StartRecognizeContentPopulatesFormPagePdf(bool useStream)
[RecordedTest]
[TestCase(true)]
[TestCase(false)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeContentPopulatesFormPageJpg(bool useStream)
{
var client = CreateFormRecognizerClient();
@@ -292,6 +296,7 @@ public async Task StartRecognizeContentPopulatesFormPageJpg(bool useStream)
[RecordedTest]
[TestCase(true)]
[TestCase(false)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeContentCanParseMultipageForm(bool useStream)
{
var client = CreateFormRecognizerClient();
@@ -331,6 +336,7 @@ public async Task StartRecognizeContentCanParseMultipageForm(bool useStream)
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeContentCanParseBlankPage()
{
var client = CreateFormRecognizerClient();
@@ -354,6 +360,7 @@ public async Task StartRecognizeContentCanParseBlankPage()
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeContentCanParseMultipageFormWithBlankPage()
{
var client = CreateFormRecognizerClient();
@@ -393,6 +400,7 @@ public async Task StartRecognizeContentCanParseMultipageFormWithBlankPage()
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public void StartRecognizeContentThrowsForDamagedFile()
{
var client = CreateFormRecognizerClient();
@@ -411,6 +419,7 @@ public void StartRecognizeContentThrowsForDamagedFile()
/// Recognizer cognitive service and handle returned errors.
///
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public void StartRecognizeContentFromUriThrowsForNonExistingContent()
{
var client = CreateFormRecognizerClient();
@@ -423,6 +432,7 @@ public void StartRecognizeContentFromUriThrowsForNonExistingContent()
[RecordedTest]
[TestCase(true)]
[TestCase(false)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeContentWithSelectionMarks(bool useStream)
{
var client = CreateFormRecognizerClient();
@@ -453,6 +463,7 @@ public async Task StartRecognizeContentWithSelectionMarks(bool useStream)
[RecordedTest]
[TestCase("1", 1)]
[TestCase("1-2", 2)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeContentWithOnePageArgument(string pages, int expected)
{
var client = CreateFormRecognizerClient();
@@ -472,6 +483,7 @@ public async Task StartRecognizeContentWithOnePageArgument(string pages, int exp
[RecordedTest]
[TestCase("1", "3", 2)]
[TestCase("1-2", "3", 3)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeContentWithMultiplePageArgument(string page1, string page2, int expected)
{
var client = CreateFormRecognizerClient();
@@ -489,6 +501,7 @@ public async Task StartRecognizeContentWithMultiplePageArgument(string page1, st
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeContentWithLanguage()
{
var client = CreateFormRecognizerClient();
@@ -506,6 +519,7 @@ public async Task StartRecognizeContentWithLanguage()
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public void StartRecognizeContentWithNoSupporttedLanguage()
{
var client = CreateFormRecognizerClient();
@@ -516,6 +530,7 @@ public void StartRecognizeContentWithNoSupporttedLanguage()
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeContentWithReadingOrder()
{
var client = CreateFormRecognizerClient();
@@ -549,6 +564,7 @@ public async Task StartRecognizeContentWithReadingOrder()
#region StartRecognizeReceipts
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeReceiptsCanAuthenticateWithTokenCredential()
{
var client = CreateFormRecognizerClient(useTokenCredential: true);
@@ -581,6 +597,7 @@ public async Task StartRecognizeReceiptsCanAuthenticateWithTokenCredential()
[RecordedTest]
[TestCase(true)]
[TestCase(false)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeReceiptsPopulatesExtractedReceiptJpg(bool useStream)
{
var client = CreateFormRecognizerClient();
@@ -692,6 +709,7 @@ public async Task StartRecognizeReceiptsPopulatesExtractedReceiptJpg(bool useStr
[RecordedTest]
[TestCase(true)]
[TestCase(false)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeReceiptsPopulatesExtractedReceiptPng(bool useStream)
{
var client = CreateFormRecognizerClient();
@@ -806,6 +824,7 @@ public async Task StartRecognizeReceiptsPopulatesExtractedReceiptPng(bool useStr
[RecordedTest]
[TestCase(true)]
[TestCase(false)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeReceiptsCanParseMultipageForm(bool useStream)
{
var client = CreateFormRecognizerClient();
@@ -860,6 +879,7 @@ public async Task StartRecognizeReceiptsCanParseMultipageForm(bool useStream)
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeReceiptsCanParseBlankPage()
{
var client = CreateFormRecognizerClient();
@@ -891,6 +911,7 @@ public async Task StartRecognizeReceiptsCanParseBlankPage()
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeReceiptsCanParseMultipageFormWithBlankPage()
{
var client = CreateFormRecognizerClient();
@@ -943,6 +964,7 @@ public async Task StartRecognizeReceiptsCanParseMultipageFormWithBlankPage()
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public void StartRecognizeReceiptsThrowsForDamagedFile()
{
var client = CreateFormRecognizerClient();
@@ -961,6 +983,7 @@ public void StartRecognizeReceiptsThrowsForDamagedFile()
/// Recognizer cognitive service and handle returned errors.
///
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public void StartRecognizeReceiptsFromUriThrowsForNonExistingContent()
{
var client = CreateFormRecognizerClient();
@@ -971,6 +994,7 @@ public void StartRecognizeReceiptsFromUriThrowsForNonExistingContent()
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeReceiptsWithSupportedLocale()
{
var client = CreateFormRecognizerClient();
@@ -1007,6 +1031,7 @@ public async Task StartRecognizeReceiptsWithSupportedLocale()
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public void StartRecognizeReceiptsWithWrongLocale()
{
var client = CreateFormRecognizerClient();
@@ -1024,6 +1049,7 @@ public void StartRecognizeReceiptsWithWrongLocale()
[RecordedTest]
[TestCase("1", 1)]
[TestCase("1-2", 2)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeReceiptsWithOnePageArgument(string pages, int expected)
{
var client = CreateFormRecognizerClient();
@@ -1043,6 +1069,7 @@ public async Task StartRecognizeReceiptsWithOnePageArgument(string pages, int ex
[RecordedTest]
[TestCase("1", "3", 2)]
[TestCase("1-2", "3", 3)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeReceiptsWithMultiplePageArgument(string page1, string page2, int expected)
{
var client = CreateFormRecognizerClient();
@@ -1064,6 +1091,7 @@ public async Task StartRecognizeReceiptsWithMultiplePageArgument(string page1, s
#region StartRecognizeBusinessCards
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeBusinessCardsCanAuthenticateWithTokenCredential()
{
var client = CreateFormRecognizerClient(useTokenCredential: true);
@@ -1092,6 +1120,7 @@ public async Task StartRecognizeBusinessCardsCanAuthenticateWithTokenCredential(
[RecordedTest]
[TestCase(true)]
[TestCase(false)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeBusinessCardsPopulatesExtractedJpg(bool useStream)
{
var client = CreateFormRecognizerClient();
@@ -1199,6 +1228,7 @@ public async Task StartRecognizeBusinessCardsPopulatesExtractedJpg(bool useStrea
[RecordedTest]
[TestCase(true)]
[TestCase(false)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeBusinessCardsPopulatesExtractedPng(bool useStream)
{
var client = CreateFormRecognizerClient();
@@ -1304,6 +1334,7 @@ public async Task StartRecognizeBusinessCardsPopulatesExtractedPng(bool useStrea
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeBusinessCardsIncludeFieldElements()
{
var client = CreateFormRecognizerClient();
@@ -1328,6 +1359,7 @@ public async Task StartRecognizeBusinessCardsIncludeFieldElements()
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeBusinessCardsCanParseBlankPage()
{
var client = CreateFormRecognizerClient();
@@ -1360,6 +1392,7 @@ public async Task StartRecognizeBusinessCardsCanParseBlankPage()
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public void StartRecognizeBusinessCardsThrowsForDamagedFile()
{
var client = CreateFormRecognizerClient();
@@ -1378,6 +1411,7 @@ public void StartRecognizeBusinessCardsThrowsForDamagedFile()
/// Recognizer cognitive service and handle returned errors.
///
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public void StartRecognizeBusinessCardsFromUriThrowsForNonExistingContent()
{
var client = CreateFormRecognizerClient();
@@ -1390,6 +1424,7 @@ public void StartRecognizeBusinessCardsFromUriThrowsForNonExistingContent()
[RecordedTest]
[TestCase(true)]
[TestCase(false)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeBusinessCardsCanParseMultipageForm(bool useStream)
{
var client = CreateFormRecognizerClient();
@@ -1450,6 +1485,7 @@ public async Task StartRecognizeBusinessCardsCanParseMultipageForm(bool useStrea
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeBusinessCardsWithSupportedLocale()
{
var client = CreateFormRecognizerClient();
@@ -1486,6 +1522,7 @@ public async Task StartRecognizeBusinessCardsWithSupportedLocale()
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public void StartRecognizeBusinessCardsWithWrongLocale()
{
var client = CreateFormRecognizerClient();
@@ -1503,6 +1540,7 @@ public void StartRecognizeBusinessCardsWithWrongLocale()
[RecordedTest]
[TestCase("1", 1)]
[TestCase("1-2", 2)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeBusinessCardsWithOnePageArgument(string pages, int expected)
{
var client = CreateFormRecognizerClient();
@@ -1522,6 +1560,7 @@ public async Task StartRecognizeBusinessCardsWithOnePageArgument(string pages, i
[RecordedTest]
[TestCase("1", "3", 2)]
[TestCase("1-2", "3", 3)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeBusinessCardsWithMultiplePageArgument(string page1, string page2, int expected)
{
var client = CreateFormRecognizerClient();
@@ -1543,6 +1582,7 @@ public async Task StartRecognizeBusinessCardsWithMultiplePageArgument(string pag
#region StartRecognizeInvoices
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeInvoicesCanAuthenticateWithTokenCredential()
{
var client = CreateFormRecognizerClient(useTokenCredential: true);
@@ -1571,6 +1611,7 @@ public async Task StartRecognizeInvoicesCanAuthenticateWithTokenCredential()
[RecordedTest]
[TestCase(true)]
[TestCase(false)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeInvoicesPopulatesExtractedJpg(bool useStream)
{
var client = CreateFormRecognizerClient();
@@ -1729,6 +1770,7 @@ public async Task StartRecognizeInvoicesPopulatesExtractedJpg(bool useStream)
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeInvoicesIncludeFieldElements()
{
var client = CreateFormRecognizerClient();
@@ -1753,6 +1795,7 @@ public async Task StartRecognizeInvoicesIncludeFieldElements()
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeInvoicesCanParseBlankPage()
{
var client = CreateFormRecognizerClient();
@@ -1786,6 +1829,7 @@ public async Task StartRecognizeInvoicesCanParseBlankPage()
[RecordedTest]
[TestCase(true)]
[TestCase(false)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeInvoicesCanParseMultipageForm(bool useStream)
{
var client = CreateFormRecognizerClient();
@@ -1845,6 +1889,7 @@ public async Task StartRecognizeInvoicesCanParseMultipageForm(bool useStream)
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public void StartRecognizeInvoicesThrowsForDamagedFile()
{
var client = CreateFormRecognizerClient();
@@ -1863,6 +1908,7 @@ public void StartRecognizeInvoicesThrowsForDamagedFile()
/// Recognizer cognitive service and handle returned errors.
///
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public void StartRecognizeInvoicesFromUriThrowsForNonExistingContent()
{
var client = CreateFormRecognizerClient();
@@ -1873,6 +1919,7 @@ public void StartRecognizeInvoicesFromUriThrowsForNonExistingContent()
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeInvoicesWithSupportedLocale()
{
var client = CreateFormRecognizerClient();
@@ -1909,6 +1956,7 @@ public async Task StartRecognizeInvoicesWithSupportedLocale()
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public void StartRecognizeInvoicesWithWrongLocale()
{
var client = CreateFormRecognizerClient();
@@ -1926,6 +1974,7 @@ public void StartRecognizeInvoicesWithWrongLocale()
[RecordedTest]
[TestCase("1", 1)]
[TestCase("1-2", 2)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeInvoicesWithOnePageArgument(string pages, int expected)
{
var client = CreateFormRecognizerClient();
@@ -1946,6 +1995,7 @@ public async Task StartRecognizeInvoicesWithOnePageArgument(string pages, int ex
[RecordedTest]
[TestCase("1", "3", 2)]
[TestCase("1-2", "3", 3)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeInvoicesWithMultiplePageArgument(string page1, string page2, int expected)
{
var client = CreateFormRecognizerClient();
@@ -1968,6 +2018,7 @@ public async Task StartRecognizeInvoicesWithMultiplePageArgument(string page1, s
#region StartRecognizeIdDocuments
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeIdDocumentsCanAuthenticateWithTokenCredential()
{
var client = CreateFormRecognizerClient(useTokenCredential: true);
@@ -1996,6 +2047,7 @@ public async Task StartRecognizeIdDocumentsCanAuthenticateWithTokenCredential()
[RecordedTest]
[TestCase(true)]
[TestCase(false)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeIdDocumentsPopulatesExtractedIdDocumentJpg(bool useStream)
{
var client = CreateFormRecognizerClient();
@@ -2063,6 +2115,7 @@ public async Task StartRecognizeIdDocumentsPopulatesExtractedIdDocumentJpg(bool
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeIdDocumentsIncludeFieldElements()
{
var client = CreateFormRecognizerClient();
@@ -2087,6 +2140,7 @@ public async Task StartRecognizeIdDocumentsIncludeFieldElements()
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeIdDocumentsCanParseBlankPage()
{
var client = CreateFormRecognizerClient();
@@ -2104,6 +2158,7 @@ public async Task StartRecognizeIdDocumentsCanParseBlankPage()
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public void StartRecognizeIdDocumentsThrowsForDamagedFile()
{
var client = CreateFormRecognizerClient();
@@ -2122,6 +2177,7 @@ public void StartRecognizeIdDocumentsThrowsForDamagedFile()
/// Recognizer cognitive service and handle returned errors.
///
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public void StartRecognizeIdDocumentsFromUriThrowsForNonExistingContent()
{
var client = CreateFormRecognizerClient();
@@ -2138,6 +2194,7 @@ public void StartRecognizeIdDocumentsFromUriThrowsForNonExistingContent()
[RecordedTest]
[TestCase(true)]
[TestCase(false)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeCustomFormsCanAuthenticateWithTokenCredential(bool useTrainingLabels)
{
var client = CreateFormRecognizerClient(useTokenCredential: true);
@@ -2187,6 +2244,7 @@ public async Task StartRecognizeCustomFormsCanAuthenticateWithTokenCredential(bo
[TestCase(true, false)]
[TestCase(false, true)]
[TestCase(false, false)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeCustomFormsWithLabels(bool useStream, bool includeFieldElements)
{
var client = CreateFormRecognizerClient();
@@ -2244,6 +2302,7 @@ public async Task StartRecognizeCustomFormsWithLabels(bool useStream, bool inclu
[RecordedTest]
[TestCase(true)]
[TestCase(false)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeCustomFormsWithLabelsAndSelectionMarks(bool includeFieldElements)
{
var client = CreateFormRecognizerClient();
@@ -2287,6 +2346,7 @@ public async Task StartRecognizeCustomFormsWithLabelsAndSelectionMarks(bool incl
[RecordedTest]
[TestCase(true)]
[TestCase(false)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeCustomFormsWithLabelsCanParseMultipageForm(bool useStream)
{
var client = CreateFormRecognizerClient();
@@ -2344,6 +2404,7 @@ public async Task StartRecognizeCustomFormsWithLabelsCanParseMultipageForm(bool
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeCustomFormsWithLabelsCanParseBlankPage()
{
var client = CreateFormRecognizerClient();
@@ -2379,6 +2440,7 @@ public async Task StartRecognizeCustomFormsWithLabelsCanParseBlankPage()
[RecordedTest]
[TestCase(true)]
[TestCase(false)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeCustomFormsWithLabelsCanParseMultipageFormWithBlankPage(bool useStream)
{
var client = CreateFormRecognizerClient();
@@ -2432,6 +2494,7 @@ public async Task StartRecognizeCustomFormsWithLabelsCanParseMultipageFormWithBl
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeCustomFormsWithLabelsCanParseDifferentTypeOfForm()
{
var client = CreateFormRecognizerClient();
@@ -2469,6 +2532,7 @@ public async Task StartRecognizeCustomFormsWithLabelsCanParseDifferentTypeOfForm
[TestCase(true, false)]
[TestCase(false, true)]
[TestCase(false, false)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeCustomFormsWithoutLabels(bool useStream, bool includeFieldElements)
{
var client = CreateFormRecognizerClient();
@@ -2529,6 +2593,7 @@ public async Task StartRecognizeCustomFormsWithoutLabels(bool useStream, bool in
[RecordedTest]
[TestCase(true)]
[TestCase(false, Ignore = "https://github.com/Azure/azure-sdk-for-net/issues/12319")]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeCustomFormsWithoutLabelsCanParseMultipageForm(bool useStream)
{
var client = CreateFormRecognizerClient();
@@ -2583,6 +2648,7 @@ public async Task StartRecognizeCustomFormsWithoutLabelsCanParseMultipageForm(bo
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeCustomFormsWithoutLabelsCanParseBlankPage()
{
var client = CreateFormRecognizerClient();
@@ -2619,6 +2685,7 @@ public async Task StartRecognizeCustomFormsWithoutLabelsCanParseBlankPage()
[RecordedTest]
[TestCase(true)]
[TestCase(false, Ignore = "https://github.com/Azure/azure-sdk-for-net/issues/12319")]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeCustomFormsWithoutLabelsCanParseMultipageFormWithBlankPage(bool useStream)
{
var client = CreateFormRecognizerClient();
@@ -2683,6 +2750,7 @@ public async Task StartRecognizeCustomFormsWithoutLabelsCanParseMultipageFormWit
[RecordedTest]
[TestCase(true)]
[TestCase(false)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeCustomFormsThrowsForDamagedFile(bool useTrainingLabels)
{
var client = CreateFormRecognizerClient();
@@ -2705,6 +2773,7 @@ public async Task StartRecognizeCustomFormsThrowsForDamagedFile(bool useTraining
[RecordedTest]
[TestCase(true)]
[TestCase(false)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeCustomFormsFromUriThrowsForNonExistingContent(bool useTrainingLabels)
{
var client = CreateFormRecognizerClient();
@@ -2724,6 +2793,7 @@ public async Task StartRecognizeCustomFormsFromUriThrowsForNonExistingContent(bo
[RecordedTest]
[TestCase("1", 1)]
[TestCase("1-2", 2)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeCustomFormsWithOnePageArgument(string pages, int expected)
{
var client = CreateFormRecognizerClient();
@@ -2745,6 +2815,7 @@ public async Task StartRecognizeCustomFormsWithOnePageArgument(string pages, int
[RecordedTest]
[TestCase("1", "3", 2)]
[TestCase("1-2", "3", 3)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeCustomFormsWithMultiplePageArgument(string page1, string page2, int expected)
{
var client = CreateFormRecognizerClient();
@@ -2764,6 +2835,7 @@ public async Task StartRecognizeCustomFormsWithMultiplePageArgument(string page1
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeCustomFormsWithTableVariableRows()
{
var client = CreateFormRecognizerClient();
@@ -2791,6 +2863,7 @@ public async Task StartRecognizeCustomFormsWithTableVariableRows()
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartRecognizeCustomFormsWithTableFixedRows()
{
var client = CreateFormRecognizerClient();
diff --git a/sdk/formrecognizer/Azure.AI.FormRecognizer/tests/FormTrainingClient/FormTrainingClientLiveTests.cs b/sdk/formrecognizer/Azure.AI.FormRecognizer/tests/FormTrainingClient/FormTrainingClientLiveTests.cs
index 352d971cb115..e1049eff21a7 100644
--- a/sdk/formrecognizer/Azure.AI.FormRecognizer/tests/FormTrainingClient/FormTrainingClientLiveTests.cs
+++ b/sdk/formrecognizer/Azure.AI.FormRecognizer/tests/FormTrainingClient/FormTrainingClientLiveTests.cs
@@ -25,8 +25,8 @@ public class FormTrainingClientLiveTests : FormRecognizerLiveTestBase
/// Initializes a new instance of the class.
///
/// A flag used by the Azure Core Test Framework to differentiate between tests for asynchronous and synchronous methods.
- public FormTrainingClientLiveTests(bool isAsync)
- : base(isAsync)
+ public FormTrainingClientLiveTests(bool isAsync, FormRecognizerClientOptions.ServiceVersion serviceVersion)
+ : base(isAsync, serviceVersion)
{
}
@@ -72,6 +72,7 @@ public async Task StartTraining(bool singlePage, bool labeled)
CustomFormModel model = operation.Value;
Assert.IsNotNull(model.ModelId);
+ Assert.IsNull(model.ModelName);
Assert.IsNotNull(model.Properties);
Assert.IsFalse(model.Properties.IsComposedModel);
Assert.IsNotNull(model.TrainingStartedOn);
@@ -108,6 +109,7 @@ public async Task StartTraining(bool singlePage, bool labeled)
[RecordedTest]
[TestCase(true)]
[TestCase(false)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task CheckFormTypeinSubmodelAndRecognizedForm(bool labeled)
{
var client = CreateFormTrainingClient();
@@ -135,6 +137,7 @@ public async Task CheckFormTypeinSubmodelAndRecognizedForm(bool labeled)
[RecordedTest]
[TestCase(false)]
[TestCase(true)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartCreateComposedModel(bool useTokenCredential)
{
var client = CreateFormTrainingClient(useTokenCredential);
@@ -203,6 +206,7 @@ public async Task StartCreateComposedModel(bool useTokenCredential)
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartCreateComposedModelFailsWithInvalidId()
{
var client = CreateFormTrainingClient();
@@ -245,6 +249,7 @@ public async Task StartTrainingFailsWithInvalidPrefix()
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartTrainingWithLabelsModelName()
{
var client = CreateFormTrainingClient();
@@ -260,6 +265,7 @@ public async Task StartTrainingWithLabelsModelName()
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task StartTrainingWithNoLabelsModelName()
{
var client = CreateFormTrainingClient();
@@ -401,6 +407,7 @@ public async Task CopyModel(bool useTokenCredential)
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task CopyModelWithLabelsAndModelName()
{
var sourceClient = CreateFormTrainingClient();
@@ -431,6 +438,7 @@ public async Task CopyModelWithLabelsAndModelName()
[RecordedTest]
[TestCase(true)]
[TestCase(false)]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task CopyComposedModel(bool useTokenCredential)
{
var sourceClient = CreateFormTrainingClient(useTokenCredential);
@@ -468,6 +476,7 @@ public async Task CopyComposedModel(bool useTokenCredential)
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task CopyModelWithoutLabelsAndModelName()
{
var sourceClient = CreateFormTrainingClient();
diff --git a/sdk/formrecognizer/Azure.AI.FormRecognizer/tests/Infrastructure/FormRecognizerLiveTestBase.cs b/sdk/formrecognizer/Azure.AI.FormRecognizer/tests/Infrastructure/FormRecognizerLiveTestBase.cs
index 4b60690fa704..3c736bd66ffa 100644
--- a/sdk/formrecognizer/Azure.AI.FormRecognizer/tests/Infrastructure/FormRecognizerLiveTestBase.cs
+++ b/sdk/formrecognizer/Azure.AI.FormRecognizer/tests/Infrastructure/FormRecognizerLiveTestBase.cs
@@ -9,11 +9,21 @@
namespace Azure.AI.FormRecognizer.Tests
{
+ [ClientTestFixture(
+ FormRecognizerClientOptions.ServiceVersion.V2_0,
+ FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public class FormRecognizerLiveTestBase : RecordedTestBase
{
- public FormRecognizerLiveTestBase(bool isAsync)
+ ///
+ /// The version of the REST API to test against. This will be passed
+ /// to the .ctor via ClientTestFixture's values.
+ ///
+ private readonly FormRecognizerClientOptions.ServiceVersion _serviceVersion;
+
+ public FormRecognizerLiveTestBase(bool isAsync, FormRecognizerClientOptions.ServiceVersion serviceVersion)
: base(isAsync)
{
+ _serviceVersion = serviceVersion;
Sanitizer = new FormRecognizerRecordedTestSanitizer();
}
@@ -39,7 +49,7 @@ public FormRecognizerLiveTestBase(bool isAsync)
protected FormRecognizerClient CreateFormRecognizerClient(out FormRecognizerClient nonInstrumentedClient, bool useTokenCredential = false, string apiKey = default)
{
var endpoint = new Uri(TestEnvironment.Endpoint);
- var options = InstrumentClientOptions(new FormRecognizerClientOptions());
+ var options = InstrumentClientOptions(new FormRecognizerClientOptions(_serviceVersion));
if (useTokenCredential)
{
@@ -77,7 +87,7 @@ protected FormRecognizerClient CreateFormRecognizerClient(out FormRecognizerClie
protected FormTrainingClient CreateFormTrainingClient(out FormTrainingClient nonInstrumentedClient, bool useTokenCredential = false, string apiKey = default)
{
var endpoint = new Uri(TestEnvironment.Endpoint);
- var options = InstrumentClientOptions(new FormRecognizerClientOptions());
+ var options = InstrumentClientOptions(new FormRecognizerClientOptions(_serviceVersion));
if (useTokenCredential)
{
diff --git a/sdk/formrecognizer/Azure.AI.FormRecognizer/tests/Models/OperationsLiveTests.cs b/sdk/formrecognizer/Azure.AI.FormRecognizer/tests/Models/OperationsLiveTests.cs
index 9467e6f278f2..e61c201c66d4 100644
--- a/sdk/formrecognizer/Azure.AI.FormRecognizer/tests/Models/OperationsLiveTests.cs
+++ b/sdk/formrecognizer/Azure.AI.FormRecognizer/tests/Models/OperationsLiveTests.cs
@@ -24,8 +24,8 @@ public class OperationsLiveTests : FormRecognizerLiveTestBase
/// Initializes a new instance of the class.
///
/// A flag used by the Azure Core Test Framework to differentiate between tests for asynchronous and synchronous methods.
- public OperationsLiveTests(bool isAsync)
- : base(isAsync)
+ public OperationsLiveTests(bool isAsync, FormRecognizerClientOptions.ServiceVersion serviceVersion)
+ : base(isAsync, serviceVersion)
{
}
@@ -60,6 +60,7 @@ public async Task RecognizeReceiptsOperationCanPollFromNewObject()
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task RecognizeInvoicesOperationCanPollFromNewObject()
{
var client = CreateFormRecognizerClient(out var nonInstrumentedClient);
@@ -75,6 +76,7 @@ public async Task RecognizeInvoicesOperationCanPollFromNewObject()
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task RecognizeIdDocumentsOperationCanPollFromNewObject()
{
var client = CreateFormRecognizerClient(out var nonInstrumentedClient);
@@ -126,6 +128,7 @@ public async Task TrainingOperationCanPollFromNewObject()
}
[RecordedTest]
+ [ServiceVersion(Min = FormRecognizerClientOptions.ServiceVersion.V2_1_Preview_3)]
public async Task CreateComposedModelOperationCanPollFromNewObject()
{
var client = CreateFormTrainingClient(out var nonInstrumentedClient);